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-ratgdo-esphome

v0.1.2

Published

Control and view your garage door(s) remotely with real-time updates using hardware from RatGDO running ESPHome firmware

Downloads

17

Readme

Homebridge Plugin for RatGDO running ESPHome

RatGDO is an interface to garage door openers from Liftmaster, Chamberlain, and others. Unlike many other garage door IoT interfaces, RatGDO requires no cloud connection, and it speaks the wireline protocol, allowing it to expose more features, like motion sensor status, than other hardware can.

This plugin enables the use of a RatGDO running ESPHome with Homebridge (and derivatives like HOOBS). It supports opening and closing the garage door, and tracks the garage door status (e.g. allowing you to receive notifications if the door is opened or closed by someone hitting the physical button). It also publishes the following additional data into Home:

  • Obstruction Sensor
  • RatGDO Firmware Version
  • Radio Remote Lockout Status (not displayed in the Home app; it's visible in other apps, like Controller for Homekit)

It could, but does not currently, support:

  • Motion sensor status
  • Light status
  • Light control
  • Radio remote lockout control
  • Opening/Closing duration
  • Fine-grained door position
  • Radio remote rolling code offset

If you are interested in any of these, all you would need to do is add code to parse their message type in platformAccessory.ts; the plumbing is all there already.

Configuration

First, install ESPHome onto your RatGDO using this page.

Once you've installed this plugin into Homebridge, configuration is very, very straightforward; just use the GUI. If, for whatever reason, you don't want to do so, all you need to supply is a name, port, and host, like so:

{
    "platform": "RatGDOESPHome",
    "devices": [
        {
            "displayName": "West Garage Door",
            "port": 80,
            "host": "10.0.1.17"
        },
        {
            "displayName": "East Garage Door",
            "port": 80,
            "host": "10.0.1.38"
        }
    ]
}

Implementation

ESPHome exposes a real-time event source API as /events. This allows us to stay in strict lockstep with reality with no lag. We then cache the most recent status we've received for each element, enabling instantaneous replies to any inquiry. However, we do so with appropriate caution; uninitialized states are fully differentiated, and the most critical information is actually loaded in a two-step process, whereby we don't actually even register the device in Homebridge until we've received e.g. the serial number of the device.

Legal

* Liftmaster, Chamberlain, and other terms used on this page may be names or trademarks of one or more entities. No endorsement of nor involvement in this project is expressed nor implied by any usage of their names or marks in this document.