1.1.5 • Published 4 years ago
homebridge-web-valve v1.1.5
homebridge-web-valve
Description
This homebridge plugin exposes a web-based valve to Apple's HomeKit. Using simple HTTP requests, the plugin allows you to turn on/off the valve.
Find script samples for the valve controller in the examples folder.
Installation
- Install homebridge
- Install this plugin: npm install -g homebridge-web-valve
- Update your config.jsonfile
Configuration
"accessories": [
     {
       "accessory": "WebValve",
       "name": "Valve",
       "apiroute": "http://myurl.com"
     }
]Core
| Key | Description | Default | 
|---|---|---|
| accessory | Must be WebValve | N/A | 
| name | Name to appear in the Home app | N/A | 
| apiroute | Root URL of your device | N/A | 
Optional fields
| Key | Description | Default | 
|---|---|---|
| valveType | Icon to be shown in the Home app ( 0,1,2,3) | 0 | 
Additional options
| 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 | 
API Interfacing
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_VALUEOptional (if listener is enabled)
- Update statefollowing a manual override by messaging the listen server:
/state?value=INT_VALUE