Smart Garage Door

Hello everyone !

Today in this new article, i'll show you how I connected my garage door motor from '90s !

I'll also explain how to reproduce this setup with your motor if it isn't connected as mine.

⚠️ REMINDER : This setup can vary with your existing installation ! Newbies in this domain can need help !

My setup

In my setup, I use an ESP32 WiFi with ESPHome installed on it (because it's easier to integrate with my existing installation of Home Assistant).

I also have a Siminor G500 as garage door motor which was released decades ago (based on dates in the user manual).

Why I decided to automate my garage door ?

Well, it's for multiple reasons.

Firstly, it's because it was a fun project and I had a lot to learn in this.

Secondly, I said it earlier but, since this motor is very old, I can't reproduce remotes and I have 1 of 2 who died. Because I only have one remote left, I though that it will be a good idea to had the possibility to use my phone or even my watch to open my garage.

How many days it took to get this result ?

The installation took 2 days (not full days because I had other things to do), more than 6 hours if I take the real time. The reflexion took about an hour and the code was written by ChatGPT (yes really!)

The thing that took a lot of time was the shipping of the equipment. Since I ordered the major parts on AliExpress, it took 2 weeks to came in my house.

Requirements

❗Disclaimer: If you don't want to reproduce this, you can skip to conclusion part.

To reproduce my setup, you'll have to have some materials to do (all the links will be Amazon or AliExpress):

  • An ESP32 or ESPHome compatible controller (if you plan to integrate it with Home Assistant)
  • A 3.3V powered relay that can assume the voltage of your garage motor (usually it's 24VDC so you can take a 30VDC relay)
  • Some wires (rigid and flexible)
  • One or 2 endstop sensors
  • Junction box
  • Power adapter for the microcontroller and electrical outlet for power

Wiring example

If you have the same case as me (with a physical button in the garage), you can follow this wiring example:

The blue-wired switch is the closed door sensor and the red wired switch is the one for the actual physical button.

The garage door needs to be connected to COM and NO connections on the relay.

The ESPHome code

As said earlier, the ESP running code was generated by ChatGPT himself but I applied some modifications to it.

Here it is:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO32
      mode: INPUT_PULLUP
      inverted: true
    name: "Closed sensor"
    id: door_closed_sensor

  - platform: gpio
    pin:
      number: GPIO26
      mode: INPUT_PULLUP
      inverted: true
    name: "Physical door button
    id: physical_button
    on_press: 
      then:
        - switch.turn_on: garage_relay
        - delay: 0.25s
        - switch.turn_off: garage_relay

switch:
  - platform: gpio
    pin: GPIO27
    name: "Door Relay"
    id: garage_relay
    inverted: False

cover:
  - platform: template
    name: "Garage door"
    id: garage_door
    open_action:
      - if:
          condition:
            - binary_sensor.is_on: door_closed_sensor
          then:
            - switch.turn_on: garage_relay
            - delay: 0.25s
            - switch.turn_off: garage_relay
    close_action:
      - if:
          condition:
            - binary_sensor.is_off: door_closed_sensor
          then:
            - switch.turn_on: garage_relay
            - delay: 0.25s
            - switch.turn_off: garage_relay
    device_class: garage
    assumed_state: false
    lambda: |-
      if (id(door_closed_sensor).state) {
        return COVER_CLOSED;
      } else {
        return COVER_OPEN;
      }
    optimistic: false

Again, adapt all of this in consequence depending on your installation.

Conclusion

And voilà! A freshly connected garage door without having to pay another expensive motor in specialised market (and also with surely a lot of work for the installation).

This was my first post on my website! I hope you enjoyed it and learned something and see you later!