Liftmaster Gate Opener Control and Monitor via HA

I have two gates with Liftmaster controllers and one Liftmaster garage door opener. Like so many here I was quite happy with the MyQ integration until they cut us off.

I wanted a solution for all 3 with a few enhancements. Of course we have the very excellent ratgdo project (https://paulwieland.github.io/ratgdo/). For the GDO, this is a GREAT solution. I highly recommend it if you only have a GDO to control and monitor. There are a few other solutions for the gate openers here on this forum, but they all seem to rely on WiFi.

My solution is a little different. I wanted to use LoRa for the RF side, both for range and because I wanted to put a small LoRa module in my truck and my wife’s car so the system would sense our approach and open the gates for us automatically. I wanted to have control of the keypads at the gates so I could have different codes for family, friends, lawn crew, etc. and set/change the codes, enable/disable, via Home Assistant. Also, I noticed that the gate openers connect to the Expansion board (which I did not have) via I2C. The simple 4 pin connector provides power and communication to the expansion board and given the documented functions of the board, all of the command and control information is available there.

I have a slide gate and a swing gate. One has the LA400UL control board and the other has the RSL12UL control board. Both can connect to the LiftMaster Expansion Board (UL325) LIF-K1D8387-1CC. I used some Heltec LoRa 32 v3 boards to create an ā€˜I2C sniffer’ to try to understand the data flowing between the control boards and the expansion board.

For the keypad, I bought these (Weather-Resistant Illuminated Stand-Alone Keypad), gutted the original electronics and put in my own with WiFi and LoRa.

Ultimately, created 2 boards: one for the keypad, one for the gate opener and I use the Heltec LoRa 32 v3 modules straight up with 3D printed enclosures for for in car modules and for a LoRa to WiFi bridge up at the house. I also use the same Heltec modules on the 2 boards I created even though it has a display that is hidden inside of the keypad box. For the garage door, I use the same board as I use for the gates, but I re-spun the very excellent ratgdo code from Paul Wieland. I started this well over a year ago and the rat GDO project and code were available on Paul’s GitHub site. Looks like since then it has become a product and the code is no longer available. I have no intention to share his code and give all credit and acknowledgement to him for the GDO interface.

Anyway, the whole system is up and working. Here’s the main scheme:
One of the keypads, since they are out near the street, is designated ā€œGreeterā€. It periodically transmits a ā€œhelloā€ message, about every 10 seconds or so. If a car module hears the message, it responds with a ā€œback at yaā€. Once this ā€œconversationā€ begins, the message rate increases to 2 second intervals. All of the keypads hear the responses from the car module and monitor the signal level. If the signal level is above a threshold, the keypad module sends an open command to it’s associated gate or garage door. Once the signal level falls back below the threshold or stops responding (and with a little delay) the gate is commanded to close. All of this is monitored by the LoRa - WiFi bridge and communicated to Home Assistant via WiFi MQTT. The LoRa messaging uses my own protocol. No real magic, just more compact than something like MQTT, plus I can do my own encryption if I want.

So from Home Assistant, we can monitor the gates/GDO state: open, closed, opening, closing, stopped. We can command the gates to open, close, hold open. We can enable/disable/change access codes on the keypads and monitor the various signal levels of the LoRa activity and manage the open trigger thresholds.

On Home Assistant, I use Mosquitto MQTT broker and Node Red. I also use the notify.mobile_app_ node in Node Red to send notifications to our cell phones on gate activity (always works when I’m at home, frequently works while I’m away).

All modules use WiFi OTA for firmware updates and advertise a WiFi hot spot so I can compile the code with VS Code and Platform IO, send the bin to my phone then connect download to the module from my phone via WiFi. Each module has a small utilitarian Webpage for statistics and firmware updates. For this I use Elegant OTA. Each of the Heltec LoRa 32 v3 modules has a unique ID that I use to identify which are authorized in my system.

That’s about it. The whole system is up and working well enough that I have not polished out my final planned tricks and some rough edges. For example:

  • I want to add easier learning of new module id codes like if a car module fails and I have to replace it.
  • The HA Auto Discover in my LoRa - WiFi bridge is a little rough. It sometimes forgets the threshold values on power cycle. Not sure if it’s the bridge or HA or Mosquitto.
  • I’m the ā€œonly kid on the blockā€ with this toy and frankly any idea what LoRa even is, so I don’t currently have any encryption, but plan to add it anyway.
  • I currently use standard HA cards on my for my dashboard, but Eventually I plan to create some custom cards to better consolidate and visualize and interact with the gates/GDO.
  • There is a little goofiness with the GDO since it is different than a gate. Gates want to open and then close. You have to go out of your way to ā€œhold openā€ for like a party or something. The GDO stays open or closed until commanded to change. Some polishing is needed here.
  • For the GDO I have the status of the light and the obstruction sensor (I think) and for the gates I definitely have obstruction sensor info. I am not currently sending that info to HA.
1 Like

How are you powering the keypads?

They are near my gates so I had 120vac available close by. I use a 120vac to 9vdc supply in a box behind the fence near the gate/keypad. It uses very low power and I could have gone battery, but I hate having to mess with that. Easy to change, but they always seem to die at the most inconvenient time!

I can’t find the specs/info for the LiftMaster Expansion Board (UL325) LIF-K1D8387-1CC expansion board. Can you provide me with a link?