1.2.1 • Published 2 years ago
homebridge-web-garage v1.2.1
homebridge-web-garage
Description
This homebridge plugin exposes a web-based garage opener to Apple's HomeKit. Using HTTP requests, you can open/close the garage and update the plugin with the garage's real-time position. The plugin achieves this by setting up a listen server which listens for changes in state from your device and then feeds them real-time into HomeKit.
Installation
- Install homebridge
- Install this plugin:
npm install -g homebridge-web-garage
- Update your
config.json
Configuration
"accessories": [
{
"accessory": "GarageDoorOpener",
"name": "Garage",
"apiroute": "http://myurl.com"
}
]
Core
Key | Description | Default |
---|---|---|
accessory | Must be GarageDoorOpener | 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 |
---|---|---|
autoLock | Whether your garage should auto-close after being opened | false |
autoLockDelay | Time (in seconds) until your garage will automatically close (if enabled) | 10 |
autoReset | Whether obstruction detection should automatically change the state back to 0 after being triggered | false |
autoResetDelay | Time (in seconds) until the obstruction detection will automatically reset (if enabled) | 5 |
Additional options
Key | Description | Default |
---|---|---|
pollInterval | Time (in seconds) between device polls | 300 |
port | Port for your HTTP listener (only one listener per port) | 2000 |
timeout | Time (in milliseconds) until the accessory will be marked as Not Responding if it is unreachable | 3000 |
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
:
{
"currentDoorState": INT_VALUE,
"targetDoorState": INT_VALUE
}
- Open/close the garage when it receives:
/setTargetDoorState/INT_VALUE_0_TO_1
- Update
currentDoorState
as it opens/closes by messaging the listen server:
/currentDoorState?value=INT_VALUE_0_TO_3
- Update
targetDoorState
following a manual override by messaging the listen server:
/targetDoorState?value=INT_VALUE_0_TO_1
- Update
obstructionDetected
when an obstruction is detected by messaging the listen server (should notify0
after obstruction moves unlessautoReset
is enabled):
/obstructionDetected?value=INT_VALUE_0_TO_1
DoorState Key
Number | Name |
---|---|
0 | Open |
1 | Closed |
2 | Opening |
3 | Closing |
1.2.0
2 years ago
1.1.9
2 years ago
1.1.8
2 years ago
1.1.7
2 years ago
1.1.6
2 years ago
1.2.1
2 years ago
1.1.5
4 years ago
1.1.4
4 years ago
1.1.3
5 years ago
1.1.2
5 years ago
1.1.1
5 years ago
1.1.0
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago