Garagentorsteuerung Hörmann Promatic 3 mit Shelly Plus 1

garage anschluss

Die Integration des Hörmann Promatic 3 Garagentorantriebs mit einem Shelly Plus 1 in Home Assistant ermöglicht die intelligente Steuerung des Garagentors über ein Smart-Home-System. In meinem Falle über Homeassistant. Das Einbinden war zumindest für mich leichter als gedacht.


Der Shelly Plus 1 muss zu Steuerung an die Steuerklemmen des Garagentorantriebs angeschlossen werden(siehe Bild - Schalter). Die 24V Stromversorgung kann über die schwazen Klemmblockschalter Nr.20(-) und Nr.5(+) angeschlossen werden(siehe Bild Stromversorgung). Damit kann mit 4 Kabeln die Integration umgesetzt werden.

Damit zum Öffnen und Schließen ein Tastimpuls ausreicht, habe  ich in der Shelly App unter "Timer" die Funktion "Auto Off" aktiviert und auf 0.5 Sekunden gesetzt.

 

Als Nächstes wollte ich wissen ob das Tor zu ist oder nicht. Ich hatte mir hierzu überlegt einen Magnetschalter am Tor anzubringen. Ich habe dann aber eine andere „nette“ Lösung gefunden:


Mit Hilfe der DIP-Schalter A und B  bietet Hörmann die Möglichkeit die Information „Garage zu“ mit einem Lichtschalter zu koppeln. Diese Funktion habe ich genutzt. Neben der Einstellung der DIP-Schalter muss hierzu das Optionsrelais 0V mit dem Shelly „SW“ Anschluss verbunden werden. 

garage torzu

  

In der Grundeinstellung des Shelly würde nun bei "Tor zu" immer ein Impuls zum Tor öffnen ausgelöst. Um dies zu verhindern muss in der Shelly-App der Button-Typ auf „Detached Switch“ gestellt werden.

Shelly DetachedButton

 
Zum Schluss habe ich das Ganze in Homeassistant eingebunden. Das Ganze sieht für unsere 3 Garagen wie folgt aus:

 homeassistant garagen

Bei der Anzeige des Garagentorstatus in Homeassistant gab es eine kleine Herausforderung. Für "Tor zu" liefert der Shelly "On "d.h. in der Standard Homeasssitantlogik "offen".
Um dies in der Anzeige zu korrigieren musste ich für die Garagen invertierte binäre Sensoren anlegen. Anbei der YAML-Code aus der configuration.yaml:

template:
  - binary_sensor:
    #invertiert den Garagensensoren
    - name: "StatusGarage1"
      unique_id: "StatusGarage1_ID"
      device_class: garage_door
      state: "{{ not is_state('binary_sensor.shellygarage1_input_0_input', 'on') }}"
    - name: "StatusGarage2"
      unique_id: "StatusGarage2_ID"
      device_class: garage_door
      state: "{{ not is_state('binary_sensor.shellygarage2_input_0_input', 'on') }}"
    - name: "StatusGarage3"
      unique_id: "StatusGarage3_ID"
      device_class: garage_door
      state: "{{ not is_state('binary_sensor.shellygarage3_input_0_input', 'on') }}"

Zum Schluss habe ich mit Hilfe eines Template SWITCH einen Schalter erstellt, der erkennt ob die Garage offen oder geschlossen ist.
Anbei exemplarisch für die Garage1 der YAML-Code:

switch:
  - platform: template
  switches:
    garage1switch:
      value_template: "{{ not is_state('binary_sensor.shellygarage1_input_0_input', 'on') }}"
      turn_on:
        service: switch.toggle
      data:
        entity_id: switch.shellygarage1_switch_0
      turn_off:
        service: switch.toggle
      data:
        entity_id: switch.shellygarage1_switch_0
      icon_template: >-
        {% if is_state('switch.garage1switch', 'on') %}
          mdi:garage-open
        {% else %}
          mdi:garage
        {% endif %}