View the Project on GitHub PaulWieland/ratgdo



If you have a security + 2.0 door opener, or a security + 1.0 opener with compatible wall control panel, ratgdo detects the garage door’s position (opening, open, closing, closed) from the signal wire. No soldering or additional sensors are required to get the door status. Three simple wires (Ground, Control and Obstruction) are connected to the terminals of the garage door opener.

If you have a dry contact control door opener (e.g. Genie, old Chamberlain, etc) then ratgdo can control your door and detect the door’s position using two simple reed switches (not included).

Feature Matrix

The features supported depend on the type of garage door opener you have and the firmware you are using. This table is meant to help clarify what features work with which opener.

Firmware types:

  Manufactured by Chamberlain / Liftmaster Other
  Security + 2.0 Security + 1.0 Dry Contact
  Yellow Learn Button5 Purple, Orange, Red Learn Buttons  
Firmware M E H M E H M E H
Door Control X X X X X + X + +
Door Status X X X X/O4 X/O44 +4 o1 +1 +1
Light Control X X X X X +      
Light Status X X X X X +      
Obstruction Status X X X X X + o2 +2 +2
Wireless Remote Lockout X X X X X +      
Motion Detection o3 o3 o3 o3 o3        
  1. Openers with dry contact control require that limit switches be connected to ratgdo to detect the door state. See Dry Contact Wiring.
  2. Obstruction sensors must have a peak voltage between 4.5 and 7 volts.
  3. Motion detection requires a wall control panel with a built in motion detector such as the 880LMW. On Security + 1.0, motion detection is reported when the light turns on.
  4. Security + 1.0 openers can report door status over the data line, but not all wall panels are compatible. ratgdo listens for a wall panel to communicate with the door, and if it detects one (such as an 889LM) or 041A7928-3MC it listens and reports the door status. If ratgdo doesn’t hear wall panel communication then it switches to emulation mode, where it streams the query commands necessary to get the door opener status. Emulation mode will cause analog wall panels (e.g. 78LM) to not be able to control the lights or lockout the wireless remotes because their analog commands will be ignored by the door opener.
  5. All yellow learn button openers are Security + 2.0 EXCEPT the jackshaft wall mounted 8500/RJ020 & 8500C/RJ020C which use the Security + 1.0 protocol.


Home Assistant Auto Discovery

If you are using Home Assistant and have an MQTT broker setup, then HA will automatically discover ratgdo’s door, light and obstruction sensors after it boots up.

When ratgdo boots up after being configured, it broadcasts the necessary discovery messages that tell Home Assistant what it is and how to communicate with it.

See Home Assistant for more information.


The following MQTT commands are supported:





The following statuses are broadcast over MQTT:

Dry contacts


Chamberlain / Liftmaster openers

When using either Security + 1.0 or Security + 2.0 door opener, ratgdo’s dry contact triggers can be pulled to ground to trigger the door opener as follows:

Other openers

When using a door opener that supports standard dry contact control (door bell style), the trigger inputs are used to detect the door state. For these openers connect as follows:

Wire it in such a way that the trigger input is connected with ground when the limit switch is closed. Some door openers (e.g. Genie) have screw terminals on them for each limit switch in addition to the control terminal for opening the door. If your opener doesn’t expose its internal limit switches to user accessible terminals you can add simple reed switches to the door track to detect it’s state.

With these two limit switches connected, ratgdo can detect all four door states (closed, opening, open, closing).


The following dry contact statuses are available:


  1. 1 Repeated open commands (or repeated close commands) will be ignored. This gives discrete open/close control over the door which is better than a toggle.