Best local first garage door controllers
Find the best local-first garage door controllers for Home Assistant, with notes on ESPHome boards, Wi-Fi setup, and HomeKit and Hubitat integration.
On this page
The garage door is where cloud control hurts most. Most off-the-shelf “smart” openers (Chamberlain/LiftMaster myQ being the obvious one) route control through the manufacturer’s cloud, which means latency, outages when your internet drops, and no guarantee the API stays open. The good news is that the best local-first garage controllers are inexpensive, and the strongest options all run ESPHome and talk directly to Home Assistant over your LAN.
One thing to get straight up front: the popular local garage controllers are Wi-Fi/ESPHome devices, not Zigbee or Z-Wave. That’s fine for a local-first setup, because ESPHome’s native API talks straight to Home Assistant with no cloud and no separate coordinator. Don’t expect to find a mainstream Z-Wave or Zigbee garage door opener controller worth recommending; the category is dominated by ESPHome-based boards.
Ratgdo if you’re happy to flash and wire a board yourself, the Konnected Smart Garage Door Opener if you want the same thing as a finished product, and the Tailwind iQ3 if you want a retail controller with a documented local API. Check your opener’s learn button first: a round white button means Security+ 3.0, which none of these boards can talk to. I haven’t run any of these three; the picks are based on the spec sheets, the vendors’ own compatibility notes and what other owners say about it.
How these controllers work
A garage controller doesn’t replace your opener. It wires in alongside it and does two jobs:
- Triggers the door (open/close), either through a simple dry-contact relay across the wall-button terminals, or by speaking the opener’s own protocol.
- Reports door state (open/closed/moving), via a hardwired magnetic/optical sensor or a tilt sensor on the door.
The “speaks the opener’s protocol” approach matters for Chamberlain/LiftMaster openers, which since the late 1990s use Security+ and Security+ 2.0, where a plain dry-contact relay won’t work reliably. Note the 2026 reality: the newest Chamberlain/LiftMaster openers ship with Security+ 3.0, introduced in November 2025 on models like the Chamberlain D1000 and LiftMaster 2220L. Security+ 3.0 removes the serial connection rather than locking it down: the wall-button terminals now carry power only, and accessory communication moved to encrypted Bluetooth LE. There is no data line left for a third-party board to read, which is why ratgdo, Konnected and Tailwind all state plainly that they do not support it.
Identify your opener by its learn button, not by its age. Purple, red or orange means Security+ 1.0; yellow means Security+ 2.0; a round white button means Security+ 3.0 (2025 and newer). Security+ 1.0 and 2.0 openers remain fully controllable by the boards below. For a dumb opener with a simple terminal-block button, a dry-contact relay is all you need.
Local-first garage door controllers for Home Assistant
ratgdo
The ratgdo32 is the open-source board that put local garage control on the map. It’s an ESPHome (Wi-Fi) device that speaks Security+ and Security+ 2.0 to Chamberlain/LiftMaster/Craftsman openers over the opener’s serial connection, so you get both control and accurate door-position feedback without a separate tilt sensor. It also supports dry-contact mode for non-Security+ openers. Once flashed with the ratgdo ESPHome firmware, it’s discovered automatically by Home Assistant and runs entirely on your LAN, even with the internet down. It’s the tinkerer’s pick: cheap, fully local, and well documented, but you do the wiring and flashing yourself. It does not work with Security+ 3.0 openers.
Konnected Smart Garage Door Opener (GDO blaQ / GDO White)
If you want the ratgdo approach as a finished, supported product, the Konnected Smart Garage Door Opener is the one to look at. It’s ESPHome-based and 100% local via the ESPHome native API; Home Assistant auto-discovers it once it’s on your Wi-Fi, no cloud account required. The GDO blaQ speaks Security+ / Security+ 2.0 over serial (the same idea as ratgdo, productized), while the GDO White (v2) reports the door’s open/closed state in real time. Konnected is a “Works with Home Assistant” partner, which makes it the easiest local pick for people who don’t want to solder. Konnected says the same thing ratgdo does about the newest openers: no Security+ 3.0 support.
Tailwind iQ3
The Tailwind iQ3 is a more conventional retail controller that earns a place here because it exposes a documented local control API. There’s an official Home Assistant integration that uses it (in Home Assistant core since 2024.1): you enter the device IP address and a 6-digit local control key, and it creates Cover entities with state polled locally every few seconds, no cloud round-trip required for control. It’s a reasonable middle ground if you want a packaged product with app setup but still want local Home Assistant control. It also supports Apple HomeKit: you generate a native HomeKit setup code in the Tailwind app (Device Settings) and add it in Apple Home, which makes it one of the few packaged garage controllers that gets you both local HA control and direct HomeKit without bridging.
Door-state sensors (pair with a dry-contact relay)
If your opener is a basic dumb unit, you can build a fully local solution from a generic ESPHome relay plus a separate door-position sensor. A tilt or contact sensor such as the Zigbee ThirdReality Garage Door Tilt Sensor reports open/closed into Home Assistant; combine it with a relay across the wall-button terminals and you have local open/close plus status. This is more of a roll-your-own approach, but it’s cheap and works with almost any opener.
The relay half of that pairing does not have to be Wi-Fi either. The Zooz ZEN17 Universal Relay puts two independent dry-contact relays in one Z-Wave device, driven locally through Z-Wave JS, which makes it the natural partner for a Z-Wave or Zigbee tilt sensor if you would rather not put another Wi-Fi board in the garage. Be clear about what it is: a generic relay. It presses the button for you and nothing more. It does not speak Security+ and it cannot read door position, which is exactly why the separate sensor is not optional. That pairing is also the cleanest local path on Hubitat, which has no ESPHome integration of its own.
If you have a Security+ 3.0 opener
None of the serial-aware boards above will talk to a Security+ 3.0 opener, but you are not stuck with myQ either. The workaround is the same one people used before serial support existed: wire a relay across the button contacts inside a spare remote that is already paired to the door, so the relay simply presses the remote for you. OpenGarage documents this approach explicitly. Because the opener will not report anything back, pair it with a separate tilt or contact sensor for door position - the OpenGarage board suits this well, since it carries its own ultrasonic door-position sensor. Treat it as a workaround rather than real integration: if clean local control matters more to you than a new opener, a Security+ 2.0 unit is the easier target.
HomeKit and Hubitat notes
ratgdo firmware has a HomeKit build, so a ratgdo can appear directly in Apple Home without Home Assistant in the middle. The Tailwind iQ3 also supports HomeKit natively: generate a setup code in the Tailwind app and add it in Apple Home. Konnected’s GDO can be exposed to HomeKit via Home Assistant’s HomeKit Bridge. A HomePod or Apple TV acts as the HomeKit hub for remote access; it is not the controller.
The packaged HomeKit option is the Meross MSG100HK, the cheap way into Apple Home garage control, and it includes a door state sensor instead of making you source one. It is a Wi-Fi device with the Meross cloud behind it by default, and Meross cloud reliability has a mixed record, so the reason it earns a mention on a local-first page is the escape hatch: pairing it to Home Assistant through the HomeKit Controller integration talks to it locally over your LAN and leaves the Meross cloud out of the control path.
Hubitat (buy the standard Elevation C-8 Pro if you are buying new; Hubitat stopped making the plain C-8 in March 2026, and the Thread Special Edition of the Pro has no Zigbee radio) is a local hub with no built-in ESPHome integration, but that does not shut you out: Konnected publishes its own Hubitat drivers for the garage opener that talk to the board locally over the ESPHome API, and the Tailwind iQ3 supports Hubitat directly. A ratgdo is the pick that really wants Home Assistant in the picture. If you’re on Hubitat, a dry-contact relay plus a Zigbee/Z-Wave tilt sensor that Hubitat supports directly is still a fine local path.
Quick verdict
For a fully local-first garage, the answer is an ESPHome-based controller, not Zigbee or Z-Wave. The cheapest and most DIY is ratgdo: fully local, Security+ aware, you do the flashing. The easiest packaged option is the Konnected Smart Garage Door Opener, Works with Home Assistant certified, ESPHome under the hood, no soldering. The best retail option with a local API is the Tailwind iQ3, a packaged product with documented local control.
Before you buy, look at your opener’s learn button (purple, red or orange = Security+ 1.0, yellow = Security+ 2.0, round white = Security+ 3.0). That single fact determines whether you need a serial-aware controller, a relay plus a door sensor, or the spare-remote workaround above.
Once the door is controllable, pair it with local driveway arrival detection so it can open automatically as you pull in. For everything else out there, the best smart home devices for garages and workshops covers sensors, lighting, and monitoring for the rest of the space.