Ich denke es ist eine gute Idee das hier zu posten und nicht per Mail...
Ich nutze zur Integration der Shellys das Plugin ShellyforHass.
Das macht es nochmal ein gutes Stück einfacher.
Erstmal solltest Du schauen, dass der Shelly als binary_sensor vorhanden ist.
Daran denken, ich habe die ID meines Shellys überall durch xxxxxx ersetzt. Das musst Du natürlich auch tun...
Grundlegend für das Thema ist die Konfigurationsdatei: configuration.yaml
Hier musst Du erstmal ein "cover" anlegen:
cover:
- platform: template
covers:
garage:
friendly_name: "Garagentor"
value_template: >-
{% if is_state('binary_sensor.shelly_shsw_1_xxxxxx_switch', 'on') %}
closed
{% else %}
open
{% endif %}
open_cover:
service: script.garage_oeffnen
close_cover:
service: script.garage_schliessen
Alles anzeigen
Wie Du siehst, führe ich für nach oben / nach unten jeweils ein Script aus.
Das könnte man auch einfach durch drücken des Tasters lösen - finde ich aber nicht so schön.
Kleines Beispiel: Ich fahre nach Hause und sage schon 500 Meter vor meiner Einfahrt Siri, Garage öffnen. Wenn zu dem Zeitpunkt die Garage geöffnet wäre, würde sie dann zu fahren. Das vermeide ich mit den beiden Scripten:
Diese sind in der Datei scripts.yaml:
garage_oeffnen:
alias: "Garagentor öffnen"
sequence:
- condition: state
entity_id: binary_sensor.shelly_shsw_1_xxxxxx_switch
state: 'on'
- service: switch.turn_on
data:
entity_id: switch.shelly_shsw_1_xxxxxx
garage_schliessen:
alias: "Garagentor schließen"
sequence:
- condition: state
entity_id: binary_sensor.shelly_shsw_1_xxxxxx_switch
state: 'off'
- service: switch.turn_on
data:
entity_id: switch.shelly_shsw_1_xxxxxx
Alles anzeigen
Ergebnis: Öffnen wird nur ausgelöst, wenn geschlossen und schließen wird nur ausgelöst, wenn offen.
Als nächstes gefällt Dir das Icon in Home Assistant und auch in HomeKit nicht. Der cover muss noch wissen, dass er eine Garage steuert.
Das passiert in der Datei customize.yaml
cover.garage:
device_class: garage
Und wenn jetzt alles in Home Assistant passt, und in HomeKit noch nicht, musst du diesen evtl. noch für HomeKit zurücksetzen.
Das geht unter: Entwicklerwerkzeuge -> Dienste -> homekit.reset_accessory
Und dann unten folgendes eintragen: entity_id: "cover.garage"
Das setzt die entsprechende Entität zurück. Da leider Homekit hier automatisch keine Änderungen mitbekommt.
Jetzt sollte aussehen wie bei mir!
homekit-garage.jpg
Grüße Toby