milandzuris / homekit-ratgdo

A native HomeKit implementation of a Security+ 2.0 garage door controller based on ratgdo hardware

Home Page:https://ratgdo.github.io/homekit-ratgdo/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is HomeKit-RATGDO?

HomeKit-RATGDO is an alternative firmware for the RATGDO v2.5-series WiFi control boards that works over your local network using HomeKit, or over the internet using your Apple HomeKit home hubs, to control your garage door opener. It requires no supporting infrastructure such as Home Assistant, Homebridge, MQTT, etc, and connects to your garage door opener with as few as three wires.

This firmware supports only Security+ 2.0-enabled garage door openers and RATGDO v2.5-series ESP8266-based hardware.

Important

This is a work-in-progress implementation that is ready for beta testing only. I am pretty sure it won't leave your garage open to thieves and light your cat on fire, but it might.

Stability is a top priority, but you should expect to need to update your device from time to time while this firmware is improved. This currently requires being able to physically connect a USB wire to the RATGDO to flash new firmware. If that's not practical (or possible) for you, you may want to wait for over-the-air (OTA) updates to be supported, or wait until better stability is promised.

What does this firmware support?

  • Opening and closing multiple garage doors independently in the same HomeKit home.
  • Motion sensor reporting, if you have a "smart" wall-mounted control panel.

That's it, for now. Check the GitHub Issues for planned features, or to suggest your own.

How do I install it?

Note

The installation process is still being improved. You may need to reload the flasher tool page after each of the following steps in order to proceed.

For each of the following steps, use the online browser-based flash tool:

  • Install the HomeKit-RATGDO firmware, and then wait 20 seconds.
  • Connect the RATGDO to WiFi.
  • Click "Visit Device", and then begin the process of adding a device to HomeKit. Scan the QR code, or manually enter the setup code 2510-2023.

That's it!

How do I upgrade?

The flash in the default ESP8266-based RATGDO hardware is too small to permit over-the-air updates, so you'll need to use the web flasher, above, to update the firmware. You don't need to do anything to prepare for the upgrade. Simply flash it, and pairing and wifi configuration will be retained.

Automatic updates are not supported (and probably will never be), so set a reminder to check back again in the future.

Help! aka the FAQs

How can I tell if the ratgdo is paired to HomeKit?

Use the online browser-based flash tool, and follow the "Visit Device" link. If you see a big QR code, the ratgdo is not paired.

I added my garage door in the Home app but can't find it

This is a common problem. Be sure to check all of the "rooms" in the Home app. If you really can't find it, you can try un-pairing and re-pairing the device, paying close attention to the room you select after adding it.

How to do I re-pair my ratgdo?

Use the online browser-based flash tool, and follow the "Visit Device" link. If you see a big QR code, the ratgdo is not paired. Click the "Un-pair HomeKit" button, and then delete the garage door from within the HomeKit app (or vice versa, order does not matter). You can then re-pair the device by adding it again as normal.

Where can I get help?

If your question has not been answered here, you can try the Discord chat.

Click this link to follow an invite to the server. Server rules require a 10 minute wait after signup.

Now that you've signed up, go here to join the discussion:

the Discord logo.

Please also feel free to open a GitHub Issue if you don't already see your concern listed. Don't forget to check the closed issues to see if someone has already found a fix.

How can I contribute?

HomeKit-RATGDO uses PlatformIO for builds. You'll want to install PlatformIO first.

After you've checked out this repo:

git clone git@github.com:ratgdo/homekit-ratgdo.git

Initialize the submodules from the root of the repo:

cd homekit-ratgdo
git submodule init lib/secplus/
git submodule update

The x.sh script is my lazy way of not having to remember PlatformIO-specific pio commands. The important ones are run, upload, and monitor.

Who wrote this?

This firmware was written by Brandon Matthews, with lots of inspiration from the esphome-ratgdo project and critical dependence on the secplus decoder library.

Special credit goes to the Chamberlain Group, without whose irredeemably stupid decision to close their API to third parties, this firmware would never have been necessary.

About

A native HomeKit implementation of a Security+ 2.0 garage door controller based on ratgdo hardware

https://ratgdo.github.io/homekit-ratgdo/

License:GNU General Public License v3.0


Languages

Language:C++ 81.3%Language:C 16.8%Language:Python 1.0%Language:Shell 0.9%