homebridge-http-sprinkler
![npm](https://camo.githubusercontent.com/a45814a71e3832c149e22ecd99e9cd0682065f96154438aa925b18fba7d42509/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f64742f686f6d656272696467652d687474702d737072696e6b6c65722e737667)
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 |
headers (optional) |
If need Authorization for api |
{} |
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",
"headers":"{"Authorization":"Basic 123123123"}"
}
]