1.2.1 • Published 2 years ago

homebridge-web-garage v1.2.1

Weekly downloads
2
License
MIT
Repository
github
Last release
2 years ago

homebridge-web-garage

npm npm

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

  1. Install homebridge
  2. Install this plugin: npm install -g homebridge-web-garage
  3. Update your config.json

Configuration

"accessories": [
     {
       "accessory": "GarageDoorOpener",
       "name": "Garage",
       "apiroute": "http://myurl.com"
     }
]

Core

KeyDescriptionDefault
accessoryMust be GarageDoorOpenerN/A
nameName to appear in the Home appN/A
apirouteRoot URL of your deviceN/A

Optional fields

KeyDescriptionDefault
autoLockWhether your garage should auto-close after being openedfalse
autoLockDelayTime (in seconds) until your garage will automatically close (if enabled)10
autoResetWhether obstruction detection should automatically change the state back to 0 after being triggeredfalse
autoResetDelayTime (in seconds) until the obstruction detection will automatically reset (if enabled)5

Additional options

KeyDescriptionDefault
pollIntervalTime (in seconds) between device polls300
portPort for your HTTP listener (only one listener per port)2000
timeoutTime (in milliseconds) until the accessory will be marked as Not Responding if it is unreachable3000
http_methodHTTP method used to communicate with the deviceGET
usernameUsername if HTTP authentication is enabledN/A
passwordPassword if HTTP authentication is enabledN/A
modelAppears under the Model field for the accessoryplugin
serialAppears under the Serial field for the accessoryapiroute
manufacturerAppears under the Manufacturer field for the accessoryauthor
firmwareAppears under the Firmware field for the accessoryversion

API Interfacing

Your API should be able to:

  1. Return JSON information when it receives /status:
{
    "currentDoorState": INT_VALUE,
    "targetDoorState": INT_VALUE
}
  1. Open/close the garage when it receives:
/setTargetDoorState/INT_VALUE_0_TO_1
  1. Update currentDoorState as it opens/closes by messaging the listen server:
/currentDoorState?value=INT_VALUE_0_TO_3
  1. Update targetDoorState following a manual override by messaging the listen server:
/targetDoorState?value=INT_VALUE_0_TO_1
  1. Update obstructionDetected when an obstruction is detected by messaging the listen server (should notify 0 after obstruction moves unless autoReset is enabled):
/obstructionDetected?value=INT_VALUE_0_TO_1

DoorState Key

NumberName
0Open
1Closed
2Opening
3Closing
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