homebridge-http-sprinkler
v1.6.0
Published
Homebridge sprinkler control through HTTP
Readme
homebridge-http-sprinkler
Description
This homebridge plugin exposes a web-based sprinkler/valve to Apple's HomeKit and allows you to control it via HTTP requests.
Installation
- Install homebridge
- Install this plugin:
npm install -g homebridge-http-sprinkler - Update your
config.jsonfile
Configuration
Core
| 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 |
Optional fields
| 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 |
Additional fields
| 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 |
Configuration Examples
Simple configuration:
"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"
}
]