I have created a PCB design that allows the automation of a Liftmaster gate operator in Home Assistant. I have this working on my property with two gate and it works great. I’ve made the design available on Github for anyone to use. If you have basic soldering skills you can print the PCB and solder up the board. It’s actually pretty simple. It integrates into HA using ESPHome. Enjoy.
This is pretty cool. I also have a liftmaster gate and am getting weary of MyQ walled garden. Have any pics of final board? I may have to go this route.
Here are a few photos of the board installed. I use the strands from a CAT6 cable to connect the board to the gate operator.
OK, you convinced me. Got all the parts except for waiting on the slow boat PCBs and will put this together asap. Thank you for making this available. I’m new to ESPHome, so I still need to figure out how to generate the FW from the yaml file, but excited to be rid of myq. Threw out the myq light switches in the garbage over the weekend! It was a good feeling.
To build & install the firmware follow these instructions to install EspHome:
https://esphome.io/guides/installing_esphome
Then use “esphome compile yaml-file” to build the firmware.
Then use "“esphome upload yaml-file” to flash the board.
It’s very easy.
Got ESPHome fw loaded and made some tweaks to the yaml file you provided. Changed the exposed UI as buttons (underlying switch behavior is unchanged but now internal since name field is missing) and added some info/version with the project section.
Note: I also use dhcp (static defined) and changed the Exit to Stop for my usecase.
esp32:
board: esp32doit-devkit-v1
esphome:
name: gate-controller
friendly_name: "Gate Controller"
project:
name: "Weswitt.gate-controller"
version: "0.1.2"
api:
logger:
baud_rate: 0
# baud_rate: 115200
# level: VERBOSE
ota:
- platform: esphome
web_server:
port: 80
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
text_sensor:
- platform: wifi_info
ip_address:
name: "IP Address"
id: ip_address
icon: mdi:ip-network
ssid:
name: SSID
id: ssid
icon: mdi:wifi
sensor:
- platform: uptime
name: Uptime
- platform: wifi_signal
name: "WiFi Signal"
id: wifi_signal_strength
update_interval: 60s
icon: mdi:wifi-strength-1
light:
- platform: status_led
id: opened_led
pin: GPIO17
restore_mode: ALWAYS_OFF
- platform: status_led
id: closed_led
pin: GPIO18
restore_mode: ALWAYS_OFF
binary_sensor:
- platform: gpio
filters:
- invert:
pin:
number: GPIO13
mode:
input: true
pullup: true
name: "Closed Sensor"
id: closed_sensor
icon: mdi:gate
on_press:
then:
- light.turn_on: closed_led
- light.turn_off: opened_led
- platform: gpio
filters:
- invert:
pin:
number: GPIO16
mode:
input: true
pullup: true
name: "Open Sensor"
id: open_sensor
icon: mdi:gate-open
on_press:
then:
- light.turn_on: opened_led
- light.turn_off: closed_led
switch:
- platform: gpio
pin: GPIO25
id: open_switch
- platform: gpio
pin: GPIO26
id: close_switch
- platform: gpio
pin: GPIO27
id: stop_switch
button:
- platform: restart
name: Restart
- platform: template
name: "Open"
icon: mdi:gate
on_press:
- switch.turn_on: open_switch
- delay: 200ms
- switch.turn_off: open_switch
- platform: template
name: "Close"
icon: mdi:gate
on_press:
- switch.turn_on: close_switch
- delay: 200ms
- switch.turn_off: close_switch
- platform: template
name: "Stop"
icon: mdi:gate
on_press:
- switch.turn_on: stop_switch
- delay: 200ms
- switch.turn_off: stop_switch
Its been working like a champ. My gate is the LA400 solar/12V 2nd gen (green PCB) system with the K1D8080-1CC expansion board and this solution is great. Thanks again for making everything available. Using the button card, I’m using long press for the open/close action.
Note: The stop relay is normally closed as an open circuit stops all motion.
If you get the expansion board for your gate operator then you can connect the aux relay connections to the “gate opened” and “gate closed” connection on my board. These are actual sensors and you can know immediately when the gate is opened or closed. This is also how the LEDs on board are lit. This is why there are two mosfets on my board.