This plugin listens the GPIO input of the Raspberry PI and passes it as a HomeKit doorbell.
Alternatively you can use this plugin to trigger a doorbell exposed by homebridge-camera-ffmpeg or homebridge-camera-ui.
⚠️ 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!
key | type | description |
---|---|---|
name | string | The name of the accessory. |
gpioPin | integer | The GPIO pin the plugin should listen to. |
throttleTime | integer | How many milliseconds should another ring be ignored after the doorbell rang last? |
reverseInput | boolean | If enabled, a high input on the gpio pin is interpreted as low and the other way around. |
enableOutput | boolean | If enabled, a doorbell ring causes a specified GPIO pin to be set HIGH simultaneously. |
outputGpioPin | integer | The output GPIO pin. |
enableHttpTrigger | boolean | Enables performing an HTTP GET request when the doorbell rang. This way you can use the doorbell implementation of plugins like homebridge-camera-ffmpeg or homebridge-camera-ui. Enabling this, causes the doorbell accessory exposed by this plugin to not ring. |
httpTriggerUrl | string | The URL the HTTP GET request should be performed to. |
⚠️ In case of incorrect wiring you can damage your PI!
To connect your doorbell to your PI via GPIO, connect a GPIO pin with GND and the button, relay, etc. and a resistor between.
⚠️ Most doorbells run with 12V AC. Therefore, you cannot attach your doorbell directly to your PI. You will need a rectifier, capacitor and relay in between for instance. The more easy way would be to directly use an AC relay.
Optionally you can add a separate output which is triggered when the doorbell rings. This way you can keep your existing bell working or add a separate buzzer for instance.
Since version 2.1 you can also use this plugin to trigger a webhook. This way you can use the exposed doorbell by homebridge-camera-ffmpeg or homebridge-camera-ui. Enabling the webhook will cause the doorbell exposed by this plugin to not be triggered anymore.
For setup first open the homebridge-camera-ffmpeg
plugin configuration and enable the HTTP Server under "Global Automation" by assigning a port (e.g. 8080) to it. Also, click the "Enable Doorbell" switch in "Automation" for the camera you want to use. Save the changes and open the homebridge-gpio-doorbell
configuration. Enable the "Enable HTTP Webhook" option and enter the webhook url for triggering the ffmpeg doorbell (e.g. http://127.0.0.1/doorbell?NameOfVideoCamera
). Save the configuration an restart homebridge. When ringing the doorbell now, your camera exposed by homebridge-camera-ffmpeg will ring and a video stream is shown in the push notification on your iPhone, Apple Watch, etc..
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.