This project has been forked from phenotypic. Motivation: added new field switchOnValue
in which you can specify different number instead of default 1.
I need this to set special mode for my Thessla Green recuperator, e.g. airing, open window, which can have different values than 1. This way I can expose only one endpoint via MODBUS protocol and set everything in switch config.
This homebridge plugin exposes a web-based switch to Apple's HomeKit. Using simple HTTP requests, the plugin allows you to turn on/off the switch.
Find script samples for the switch controller in the examples folder.
- Install homebridge
- Install this plugin:
npm install -g homebridge-web-switch
- Update your
config.json
file
"accessories": [
{
"accessory": "WebSwitchCustomValue",
"name": "Switch",
"apiroute": "http://myurl.com"
}
]
Key | Description | Default |
---|---|---|
accessory |
Must be WebSwitchCustomValue |
N/A |
name |
Name to appear in the Home app | N/A |
apiroute |
Root URL of your device | N/A |
Key | Description | Default |
---|---|---|
pollInterval |
Time (in seconds) between device polls | 300 |
listener |
Whether to start a listener to get real-time changes from the device | false |
timeout |
Time (in milliseconds) until the accessory will be marked as Not Responding if it is unreachable | 3000 |
port |
Port for your HTTP listener (if enabled) | 2000 |
http_method |
HTTP method used to communicate with the device | GET |
username |
Username if HTTP authentication is enabled | N/A |
password |
Password if HTTP authentication is enabled | N/A |
model |
Appears under the Model field for the accessory | plugin |
serial |
Appears under the Serial field for the accessory | apiroute |
manufacturer |
Appears under the Manufacturer field for the accessory | author |
firmware |
Appears under the Firmware field for the accessory | version |
switchOnValue |
Override default switch on value | 1 |
Your API should be able to:
- Return JSON information when it receives
/status
:
{
"currentState": INT_VALUE
}
- Set the state when it receives:
/setState?value=INT_VALUE
- Update
state
following a manual override by messaging the listen server:
/state?value=INT_VALUE