Turns out my garage doors are dumb. They make smart ones, but I don’t really want to give up privacy on my locks. Enter 2nd buttons triggered via Shelly over WIFI.

When I looked into my garage openers, it was clear going smart with their tech wasn’t an option. I did a little more research and realized that they did support second remotes. I found cheap compatible buttons on Amazon for about $10 each and added a Shelly WiFi switch each to control them.

This got me most of the way to a working “Cover” device in Home Assistant. The last piece was knowing when the garage door was open or closed. I was really struggling to come up with a good way to mount a Ring contact sensor to the garage door when I had an idea. I could just use a hinge. When the garage door is raised, the contact sensor swings away from the magnet.

- platform: template
    covers:
      garage_door_left_cover:
        friendly_name: "Garage Door Left Cover"
        device_class: garage
        value_template: "{{ is_state('binary_sensor.garage_left_door_sensor', 'on') }}"
        open_cover:
          service: switch.turn_on
          target:
            entity_id: switch.garage_door_left_button
        close_cover:
          service: switch.turn_on
          target:
            entity_id: switch.garage_door_left_button
        stop_cover:
          service: switch.turn_on
          target:
            entity_id: switch.garage_door_left_button
        icon_template: >-
          {% if is_state('binary_sensor.garage_left_door_sensor', 'on') %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %}
      garage_door_right_cover:
        friendly_name: "Garage Door Right Cover"
        device_class: garage
        value_template: "{{ is_state('binary_sensor.garage_right_door_sensor', 'on') }}"
        open_cover:
          service: switch.turn_on
          target:
            entity_id: switch.garage_door_right_button
        close_cover:
          service: switch.turn_on
          target:
            entity_id: switch.garage_door_right_button
        stop_cover:
          service: switch.turn_on
          target:
            entity_id: switch.garage_door_right_button
        icon_template: >-
          {% if is_state('binary_sensor.garage_right_door_sensor', 'on') %}
            mdi:garage-open
          {% else %}
            mdi:garage
          {% endif %}