In Home Assistant für jeden Schalter eine eigene Automation anlegen zu müssen, ist mitunter etwas mühsam, aber vor allem wird es schnell unübersichtlich. Mit dem „Switch Manager“ von HACS, geht es schneller und ist viel übersichtlicher! Hier eine kurze Anleitung …
Einleitung
Hardware Schalter sind etwas feines! Man muss nicht immer das Handy bei sich haben, die App öffnen und dann in Home Assistant den richtigen Schalter am Dashboard suchen, sondern bedient einfach die Tasten am Schalter. Aber für jeden Schalter in Home Assistant eine eigene Automation anzulegen, kann mitunter etwas mühsam sein, vor allem wird es sehr schnell unübersichtlich, wenn man sich nicht ein gutes Namenskonzept überlegt.
Mit der HACS Erweiterung „Switch Manager“ lässt sich das übersichtlich und einfach bewerkstelligen. Ich möchte hier vor allem auf das hinzufügen von ZigBee Buttons über Zigbee2MQTT eingehen.
Voraussetzung
Als einzige Voraussetzung braucht es HACS installiert, dass ist der Home Assistant Community Store. Wie man das macht, dafür gibt es schon unzählige Tutorials im Netz. Deshalb werde ich nicht weiter darauf eingehen, aber hier 2 Links ….
Schalter einbinden, der „normale“ Weg
Der „normale“ Weg in Home Assistant einen Schalter einzubinden ist:
- Schalter in Betrieb nehmen, zum Beispiel pairen über ZHA oder Z2MQTT und dadurch in Home Assistant verfügbar machen.
- geeignetes Blueprint für den Schalter suchen und installieren, oder selber ein Blueprint erstellen
- Automation mit dem Blueprint erstellen
Schalter einbinden, der „Switch Manager“ Weg
Voraussetzung ist, dass der Schalter im „Switch Manager“ aus wählbar ist, man kann auch eigene Blueprints hinzufügen und unter „config/blueprints/switch_manager“ hinterlegen.
Für die Definition, was welche Taste machen soll, wird das selbe Baustein System wie bei Automationen verwendet. Man legt im Grunde genommen auch eine Automation an, aber diese wird übersichtlich beim Schalter selber angezeigt. Das hantieren mit YAML ist natürlich auch möglich, dazu einfach die 3 Punkte klicken und „Yaml Editor“ auswählen
Wie wird vorgegangen …
- Schalter in Betrieb nehmen, zum Beispiel pairen über ZHA oder Z2MQTT und dadurch in Home Assistant verfügbar machen.
- Auswahl über welche Integration der Schalter in Home Assistant verfügbar ist
Also zum Beispiel Shelly, Z2MQTT, ZHA, Tasmota, deCONZ - Auswahl des Schalters
- Name vergeben
- Auswahl des Buttons
Das ist finde ich super gelöst. Wenn man „AUTO DISCOVER“ klickt, dann wartet der „Switch Manager“ das eine Taste vom gewünschten physischen Schalter betätigt wird. Dann wird das MQTT Topic automatisch befüllt. - Auswahl der Taste, die definiert werden soll
- Aktionen definieren
Tipps & Tricks
Wie kann man durch langes drücken die Leuchtstärke verändern?
Das ist eigentlich gar nicht kompliziert. Es gibt die drei Abschnitte PRESS, HOLD und HOLDE (RELEASED) und etwas versteckt unter den 3 Punkten oben beim Namen Menüpunkt VARIABLES. Um die Lichtstärke durch langes drücken zu verändern, wählt man die gewünschte Taste aus, die dafür verwendet werden soll.
Dann in den Abschnitten folgendes eintragen.
VARIABLES
Hier definieren wir eine Variable, die uns anzeigt, ob HOLD (RELEASED) ausgeführt wird. Diese Variable gilt nur für den gerade bearbeiteten Schalter und ist für alle Tasten am Schalter sichtbar.
var_hold: 0
HOLD
Wenn HOLD erkannt wird, dann setze die Variable var_hold auf 1 und verringere die Leuchstärke alle 250ms um 15 Schritte, solange var_hold den Wert 1 hat oder der Wert 20 unterschreitet. Warum nicht unter 20? Weil ich will die Lampe damit nicht ausschalten, sondern nur dimmen!
Sequence: SINGLE
- sequence: - action: switch_manager.set_variables metadata: {} data: switch_id: "{{ data.switch_id }}" variables: var_hold: 1 - repeat: sequence: - action: light.turn_on target: entity_id: - light.lampe_nachtkasten data: brightness_step: -15 - delay: hours: 0 minutes: 0 seconds: 0 milliseconds: 250 while: - condition: and conditions: - condition: template value_template: "{{ data.variables.var_hold == 1 }}" - condition: numeric_state entity_id: light.lampe_nachtkasten attribute: brightness above: 20
HOLD(RELEASED)
Wenn HOLD beendet wird, dann setze die Variable var_hold auf 0
Sequence: SINGLE
- action: switch_manager.set_variables metadata: {} data: variables: var_hold: 0 switch_id: "{{ data.switch_id }}"
Wie kann ich zwischen Szenen hin und her wechseln?
Dazu muss unter Einstellungen > Helfer eine Liste erzeugt werden, die als Inhalt die Namen der gewünschten Szenen beinhaltet.
Squence: Single
PRESS
- action: input_select.select_previous target: entity_id: input_select.mz_list_scene_2 data: cycle: true - action: scene.turn_on metadata: {} target: entity_id: scene.{{states('input_select.mz_list_scene_2')}}
Neuen Schalter anlegen
Wenn es den Typ vom Schalter schon gibt, und die Funktionalität sich auch nicht unterscheiden soll, dann kann man mit „Copy From“ einen schon existierenden Schalter als Vorlage verwenden. Danach muss ggf. nur noch die richtige Entität ausgewählt werden, und schon ist der Schalter eingerichtet.
Fazit
Endlich sind alle Schalter an einem Ort versammelt und man behält den Überblick. Auch das neu anlegen von einem Schalter ist, wenn man die gewünschten Funktionalitäten schon einmal bei einem anderen Schalter eingerichtet hat, eine Arbeit von wenigen Minuten.
Quellen und Links
- Offizielle Seite von Switch Manager bei GitHub
https://github.com/Sian-Lee-SA/Home-Assistant-Switch-Manager - YouTube Video von Smart-Live
https://www.youtube.com/watch?v=EEFMxeXMd1Q - Home Assistant Community Store (HACS)
https://www.hacs.xyz/
ALLE ANGABEN OHNE GEWÄHR
