npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-gpio-doorbell

v2.1.1

Published

Use GPIO input as HomeKit doorbell

Downloads

34

Readme

verified-by-homebridge npm npm release license lint & build

Homebridge GPIO doorbell

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.

:warning: 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. | | 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. |

Wiring

:warning: In case of incorrect wiring you can damage your PI!

Wiring Sample

Doorbell input

To connect your doorbell to your PI via GPIO, connect a GPIO pin with GND and the button, relay, etc. and a resistor between.

:warning: 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.

Doorbell output

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.

Add to camera

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..

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.