Integrating garage door remotes and keypads into Home Assistant

The Problem:

  • I needed to give others access to my garage, but only wanted them to open it during certain parts of the day as well as several other conditions.
  • I did not want anything to appear different than a typical keypad that resides on my garage.
  • I want to be able to disable the keypad and all garage opener remotes (Remotes) with controls on the Home Assistant Interface.
  • Needed a way to change what garage door the keypad opens, I did not want two keypads.

The Solution:
I needed to find a way for the garage door opener remotes to integrate into Home Assistant with my garage door openers from 2008, I found the Lift Master 850LM to be the solution. This device has 3 relays each can be triggered by three different signals.

How I have 850LM relays configured:

  • Receiver 1 (Relay 1): has the first button of 2 remotes paired, one for my car and one for my wife.
  • Receiver 2 (Relay 2): has the second button of 2 remotes paired, one for my car and one for my wife.
  • Receiver 3 (Relay 3): The keypad on the outside of my garage.

Connecting the relays to Home Assistant
I used ESPHome on an ESP32, with 3 binary_sensor inputs configured. Each one of these inputs is now inside Home Assistant and can be used in Node-Red.

Controlling the Garage Doors (2):
On that same ESP32, I connected a 2 channel relay board, each relay is connected to my garage door openers. These relays are configured as switches in ESPHome and can now be controlled in Home Assistant.

The Last Piece, Automating with Node-Red:
Simply put, these automations were created:

  • When the entity binary_sensor.850lm_relay_1 = on, the time is within 8:00 - 22:00 and input_boolean.enable_garage_door_remotes = on, THEN toggle the entity: switch.garage_door_1
  • When the entity binary_sensor.850lm_relay_2 = on, the time is within 8:00 - 22:00 and input_boolean.enable_garage_door_remotes = on, THEN toggle the entity: switch.garage_door_2
  • When the entity binary_sensor.850lm_relay_3 = on, the time is within 8:00 - 22:00 and input_boolean.enable_garage_door_keypad = on, THEN toggle the entity: switch.garage_door_3 AND send me a notification the keypad was used, that also includes a camera stream.

Final Notes:
I also added an input select with the options: Garage Door 1, Garage Door 2 and Both Grarage Doors. I used this with the keypad Node-Red flow to control what garage door the keypad will open.

The Interface: (Mushroom Cards)
image

2 Likes

Hello!
Can you sare the yaml file for the garage card? Thanks!

It would also be really great to see the wiring for this project. I am really looking to do the same!

I can do that, it ain’t pretty though :sweat_smile:

Don’t sweat it too much.

I was on a long drive today and I started thinking. Can’t one just buy a keypad (z-wave, etc) and just have that drive the cover.open/close triggers? Node red can handle the automations and allowed codes…