Options for Garage Door Opener?

Would you be so kind to link the electrical components that you mentioned? And maybe explain a bit further how its all connected?

I also have Xiaomi gateway and their switch laying around. Garage motor is Hormann. I know the motor has a connector for external switch but I’m not clear on how it would work with 220v xiaomi wireless switch.

Hi. What is the custom board connected to on the terminals? I recon that the D1 Mini gets 5V from usb-mini, and that the relay controls the garage-door-opener (either NO or NC).

I used a Olimex esp8266-evb and control it directly from HA using rest. I originally use mqtt to control it, but switching to rest made it much more responsive. This was my first project using the ESP8266 and having a board complete with the relay and power jack made it super simple.

The custom board is there for the reed switch/sensor to detect open/close state of the door.

1 Like

Shameless plug for GarHAge: https://github.com/marthoc/garhage. Version 2.0.0 will be out this week with full support for MQTT discovery in Home Assistant, meaning you build it, put in your wifi info, connect to your garage door opener, power it, and entities will pop up in HA automatically.

1 Like

@Igor_Jurisic

I followed the instructions in this video:

Except, obviously I used the Xiaomi smart switch instead of the WeMo:
https://www.aliexpress.com/item/Original-Xiaomi-Smart-Socket-Plug-Bacic-WiFi-Wireless-Remote-EU-US-AU-Socket-Adaptor-Power-on/32649617506.html?spm=a2g0s.9042311.0.0.hnhVWo

This is the relay I used - although anything rated for 12V should be fine.
http://www.narva.com.au/products/browse/mini-2

I had a 12V adapter spare, just like the one in the video.

This is my automation.yaml:

- action:
    - service: switch.turn_on
      entity_id: switch.garage_door_smartplug
    - delay: 00:00:01
    - service: switch.turn_off
      entity_id: switch.garage_door_smartplug
    - service: input_boolean.turn_off
      entity_id: input_boolean.garage_door
  alias: Toggle command switch to control GD
  id: '246864543689754'
  trigger:
    platform: state
    entity_id: input_boolean.garage_door
    to: 'on'

And this is my configuration.yaml:

# Smart Plug controlling garage door opener circuit
switch garage_relay:
  - platform: xiaomi_miio
    name: Garage Door SmartPlug
    host: 192.168.60.9
    token: <token goes here>

# Front end switch for garage door
input_boolean:
  garage_door:
    name: Garage Door Opener
    initial: off
    icon: mdi:flash-circle

Hope that helps

1 Like

Thanks a lot mate!

I really appreciate the effort :slight_smile:

Cheers!

Hi. Just want to say that I installed my @garadget last night and it’s great so far (short time, I know).
I had been planning to build something much cheaper myself, but after 2 years of “planning”, I realised I should just hurry up and buy something… Sweet.

I would have appreciated a more “all in one place” guide to setting it up in HA. I had to read too many posts to get it to work. I copied the sensor config, then found I could just set up the cover properly and it works as a sensor - and means I can ask Siri if the door is open and it knows (so I removed the sensor).

1 Like

@lindsayward,
Happy to hear you were able to configure Garadget to your satisfaction.
Please share your final setup so it can serve as all-in-one guide or a starting point for something custom.

I’m only a few hours into this, so I don’t want to be the one to say, “here’s how you do it”… However :slight_smile:

  • I did all the HA stuff before realising you also had to connect to the garadget settings interface and enable MQTT (since the link here points down the thread, not to the top).
  • I also copied the provided code, not realising that “Home” was a variable, dependent on my setup.
  • As mentioned, you don’t seem to need the sensor… just the extra attributes for the cover.
  • Two more things need to be set in HA customizations (mine through the web interface):
    Set device_class: garage
    Set homebridge_cover_type: garage_door (if you’re using homebridge for “Hey Siri, open the garage door”)

These details are all there, just not in one place.

Here’s what I’m using now. Replace “XXX” with the name/topic you set in the garadget settings.

cover:
  - platform: mqtt
    name: "Garage Door"
    command_topic: "garadget/XXX/command"
    state_topic: "garadget/XXX/status"
    payload_open: "open"
    payload_close: "close"
    state_open: "open"
    state_closed: "closed"
    value_template: '{{ value_json.status }}'

Awesome, thanks for sharing your config.
I’ll cross-post it in Garadget’s community if you don’t mind (credit where it’s due).

[EDIT] When I said ‘old garage door opener’ I meant a garage door opener remote control, not the opener itself.

My remote garage door solution is a little different. I connected an ESP8266 to an old garage door opener. The ESP has an MQTT client that subscribes to door open/close commands from HA. HA is configured to see the door-controller as a switch.

Assuming you have an old, unused garage door opener laying around, the cost is essentially the cost of the ESP.

While not necessary for opening/closing the door, I added Z-wave door tilt sensors so that I could monitor the door state.

I took a fairly easy way out, using a FortrezZ MIMO2+ z-wave dual relay to control two garage doors. Right out of the box each relay is set up to actuate as a 500 ms momentary switch, which is perfect to emulate a pushbutton (though you can also configure it to latch if you want to use it for something else). I chose this because I already have z-wave tilt sensors on the doors and I only needed to handle control.

I have one door working already - the traditional style with just an LED-lit button connected via two wires and nothing else. I just put one of the relays in parallel with the pushbutton.

My next task is to tap into a LiftMaster 880LM panel for the other door - this is a digital panel and I’m pretty sure I can’t just use the outward-facing terminals, so I will have to find the microswitch that’s behind the open/close button and put the second relay in parallel with that.

1 Like

I have GarHAge installed and it works great!!

I have Garadget and can’t complain. Works great!

Anyone has a configuration using a zwave outdoor plug, a relay switch and a door sensor? Used to have this configuration with homeseer…

Anyone automated it via nodered?

I finally went back to using my Linear Z-wave garage door opener since it’s now supported, but here is what I was using for over a year with no issues.

For parts, I used an old Z wave on/off module (non-dimmer), a Monoprice Z wave tilt sensor, and THIS relay.

For setup, connect the normally open and common contacts of the relay to the garage door opener. Then connect the AC power to Z wave switch.

For the Home Assistant side, I basically set up a cover template using the tilt sensor for the position and scripts for open/close. Each script would do a few things:

  1. Call a notify script that checks if the alarm is on. If so, it sends a notification. I used a separate script for this just to simplify the whole if/then/else scenario in the script.
  2. Use a conditional statement to only proceed if the alarm is off.
  3. Turn the Z wave switch on, wait 3 seconds, turn the z wave switch off
  4. Wait 30 seconds
  5. Conditional check to see if the door is open/closed
  6. If the door is not in the position it expected, send a notification

Here is my configuration (NOTE: was having issues getting code to paste with proper formatting. You may need to validate indenting)

Covers.yaml

  - platform: template
    covers:
      garage_door_backup:
        friendly_name: "Garage Door Backup"
        value_template: "{{ is_state('binary_sensor.d32_garage_door_main_sensor', 'on') }}"
        open_cover:
          service: script.garage_door_open_backup
        close_cover:
          service: script.garage_door_close_backup
        icon_template: >-
          {% if is_state('binary_sensor.d32_garage_door_main_sensor', 'on') %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %

Scripts.yaml

garage_door_open_backup:
  alias: 'Garage Door Open'
  sequence:
    - service: script.garage_notify
    - condition: state
      entity_id: input_boolean.mode_armed
      state: 'off'
    - service: switch.turn_on
      entity_id: switch.d12_garage_door_switch
    - delay: 00:00:03
    - service: switch.turn_off
      entity_id: switch.d12_garage_door_switch
    - delay: 00:00:30
    - condition: state
      entity_id: binary_sensor.d32_garage_door_main_sensor
      state: 'off'
    - service: notify.gregg_pushover
      data:
        title: 'Garage Door Failure'
        message: 'The Garage Door did not open or there is an issue with a sensor'

garage_door_close_backup:
  alias: 'Garage Door Close'
  sequence:
    - service: switch.turn_on
      entity_id: switch.d12_garage_door_switch
    - delay: 00:00:03
    - service: switch.turn_off
      entity_id: switch.d12_garage_door_switch
    - delay: 00:00:30
    - condition: state
      entity_id: binary_sensor.d32_garage_door_main_sensor
      state: 'on'
    - service: notify.gregg_pushover
      data:
        title: 'Garage Door Failure'
        message: 'The Garage Door did not shut or there is an issue with a sensor'

garage_notify:
  alias: 'Garage Notify'
  sequence:
    - condition: state
      entity_id: input_boolean.mode_armed
      state: 'on'
    - service: notify.gregg_pushover
      data:
        title: 'The Alarm is On'
        message: 'Cannot open the Garage Door while the Alarm is On'

The only issue I ever had was that you cannot call another open/close within 30 seconds since the script is still running to check for the door position. This was an issue maybe once or twice.

As a side note, I used a similar cover template approach for the Linear opener as well to allow for conditional statements.

2 Likes

I’ve finally uploaded the files for a multi use breakout board I put together in Eagle. I currently use two of these; one for my garage door opener and the other for retrofitting my existing alarm PIRs and sensors to HA. It was a bit of a rush job when put together but it works.

The most common brands, at least around here, are Chamberlain and Liftmaster. Chamberlain is the DIY brand, Liftmaster is the pro brand (I think there is another one, maybe Ranor). Both the same company. The Craftsman, if they still make them, are just rebranded Chamberlains.

I think the biggest functional difference between any of them are the rail system–I think the DIY’s (probably yours) have a split rail; the pro units are a solid rail.

In addition, check here, if you want to read more about them.

I used the Linear/Nortek GoControl GD00Z-4 device in the past and had a good experience with it for a long time.

But, it died, so I went looking for a replacement. I bought an OpenGarage, and had a really ugly experience with the folks there. I would not recommend OpenGarage strictly from a customer service perspective.