homebridge-http-sprinkler
This homebridge plugin exposes a web-based sprinkler/valve to Apple's HomeKit and allows you to control it via HTTP requests.
- Install homebridge
- Install this plugin:
npm install -g homebridge-http-sprinkler
- Update your
config.json
file
Key |
Description |
Default |
accessory |
Must be HttpSprinkler |
N/A |
name |
Name to appear in the Home app |
N/A |
onUrl |
URL to turn on sprinklers |
N/A |
offUrl |
URL to turn off sprinklers |
N/A |
Key |
Description |
Default |
icon (optional) |
Icon to be shown in the Home app (0 , 1 , 2 , 3 ) |
0 |
checkStatus (optional) |
Whether the status should be checked via the API (once , polling , no ) |
no |
jsonPath (optional) |
JSON Path where the status can be found - required when checkStatus is once or polling |
N/A |
onValue (optional) |
Value for On when status is checked |
On |
offValue (optional) |
Value for Off when status is checked |
Off |
useTimer (optional) |
Indication if a timer can be used (yes or no ) |
no |
defaultTime (optional) |
Default time (in seconds) the timer should be set to if enabled |
300 |
pollingInterval (optional) |
If checkStatus is set to polling , this is the time (in ms) between status checks |
3000 |
Key |
Description |
Default |
timeout (optional) |
Time (in milliseconds) until the accessory will be marked as Not Responding if it is unreachable |
5000 |
httpMethod (optional) |
HTTP method used to communicate with the device |
GET |
model (optional) |
Appears under the Model field for the accessory |
homebridge-http-sprinkler |
serial (optional) |
Appears under the Serial field for the accessory |
homebridge-http-sprinkler |
manufacturer (optional) |
Appears under the Manufacturer field for the accessory |
goedh452 |
"accessories": [
{
"accessory": "HttpSprinkler",
"name": "HTTP Sprinkler",
"onUrl": "http://myurl.com/on",
"offUrl": "http://myurl.com/off"
}
]
Sample based on Domoticz JSON API:
"accessories": [
{
"accessory": "HttpSprinkler",
"name": "Sprinkler backyard",
"icon": 1,
"onUrl": "http://localhost:8080/json.htm?type=command¶m=switchlight&idx=135&switchcmd=On",
"offUrl": "http://localhost:8080/json.htm?type=command¶m=switchlight&idx=135&switchcmd=Off",
"timeout": 3000,
"checkStatus": "polling",
"pollingInterval": 5000,
"statusUrl": "http://localhost:8080/json.htm?type=devices&rid=135",
"jsonPath": "result[0].Status",
"onValue": "On",
"offValue": "Off",
"useTimer": "yes",
"defaultTime": 900,
"httpMethod": "GET"
}
]