/homebridge-http-sprinkler

Homebridge http controlled sprinkler

Primary LanguageJavaScriptApache License 2.0Apache-2.0

homebridge-http-sprinkler

npm npm

Description

This homebridge plugin exposes a web-based sprinkler/valve to Apple's HomeKit and allows you to control it via HTTP requests.

Installation

  1. Install homebridge
  2. Install this plugin: npm install -g homebridge-http-sprinkler
  3. Update your config.json file

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&param=switchlight&idx=135&switchcmd=On",
      "offUrl": "http://localhost:8080/json.htm?type=command&param=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"
    }
]