/homebridge-gpio-garage-door

Primary LanguageTypeScriptApache License 2.0Apache-2.0

npm npm release license lint & build

Homebridge GPIO garage door

This plugin uses the GPIO output of the Raspberry PI to provide a HomeKit garage door.

⚠️ This plugin is only designed for and tested on Raspberry PI. There's no guarantee, the plugin works also on other boards equipped with GPIO!

Configuration

key type description
name string The name of the accessory.
gpioPinOpen integer The GPIO pin the plugin should use to open the garage door.
gpioPinClose integer The GPIO pin the plugin should use to close the garage door. If empty, gpioPinOpen is used to open and close the garage door.
emitTime integer How many milliseconds should the GPIO output be HIGH?
executionTime integer How many seconds does the garage door to execute an open or close command?
allowCommandOverride boolean If true, the plugin will allow to send a new command (e.g. open) to the garage door while it's already executing another command (e.g. close).
reverseOutput boolean If enabled, a open signal will be sent as HIGH-LOW-HIGH, instead of the default behaviour LOW-HIGH-LOW.
gpioStateInputEnabled boolean If enabled, the plugin will read the current state of the garage door from the GPIO input.
gpioPinState integer The GPIO pin the plugin should use to read the current state of the garage door.
gpioStateInputReverse boolean If enabled, a GPIO HIGH state will indicate a CLOSED garage door.
webhookEnabled boolean If enabled, the plugin will listen on the configured port for a webhook to changes of the garage door state, emitted by an external sensor.
webhookPort integer The port the plugin should listen on for a webhook.
webhookPath string The path the plugin should listen on for a webhook.
webhookJsonPath string The JSON path to the value of the garage door state. A truthy value indicates an open garage door.
webhookJsonValueReverse boolean If enabled, the plugin will reverse the value of the JSON path. E.g. a truthy value will become falsy.

Support & Contribution

This project is not commercially developed or maintained. Therefore, it might take some time after opening an issue until it is solved. But anyway: If you experience any bugs feel free to open an issue or create a pull request. Contribution is always welcome.