Im ioBroker hatte ich mir ein Javaskript erzeugt, mit dem ich meine IKEA-Rollos (Fyrtur) mit einem Wandtaster von HomeMatic (HMiP-WRC2) folgendermaßen fernbedienen konnte:
- kurzer Tastendruck Taste runter → Rollo fährt runter
- kurzer Tastendruck Taste rauf→ Rollo fährt hoch
- erneuter kurzer Tastendruck Taste runter oder rauf, während Rollo fährt → Rollo stoppt
- langer Tastendruck Taste runter → Rollo fährt so lange runter, bis Taste losgelassen wird
- langer Tastendruck Taste rauf → Rollo fährt so lange hoch, bis Taste losgelassen wird
Wer dazu Näheres erfahren möchte, der kann hier gerne nachlesen. Ich wollte diese Lösung nun aber auch im Home Assistant umsetzen. Um es kurz zu machen, mit etwas Hilfe aus dem Forum von Simon42 ist es mir gelungen. Und zwar vollumfänglich mit den Automationen (so heißen die dort, auch wenn ich den Begriff Automatisierungen eigentlich besser finde). Und das war auch noch gleichzeitig meine allererste überhaupt. Also, wie habe ich es gelöst?
Zunächst mal hatte ich mir im HA die notwendigen Integrationen für meine HomeMatic "Homematic(IP) Local for OpenCCU" und den Dirigera Hub von IKEA (Achtung: hier nicht die Dirigera-Integration verwenden, sondern die "Matter"-Integration, weil ansonsten der Stopp-Befehl für die Rollos nicht unterstützt wird.) installiert. Und dann konnte es auch schon mit der Automation unter "Einstellungen | Automationen & Szenen -> +Automation erstellen" losgehen.
Wichtig scheint mir hier das Arbeiten mit den so genannten IDs - also quasi Aliasen für die einzelnen Auslöser einer Automation. Warum ist das wichtig? Nun diese IDs kann man später für die Aktionen zum Auslösen unterschiedlicher Optionen nutzen. So muss man sich nicht für jede Kleinigkeit eine neue Automation anlegen. Es hat etwas gebraucht, bis ich herausfand, wie man eine ID erzeugt, aber im Grund genommen ist es ganz einfach. Nachdem man einen Auslöser hinzugefügt hat (1), klickt man auf den Button mit den drei senkrechten Punkten (2) und kann dann eine ID erstellen (3).
Das macht man am besten für jeden Auslöser. In meinem Fall sind es sechs (drei für den Öffnungsvorgang und drei für den Schließvorgang), die ich für die Automation benötige und die mir der HomeMatic-Taster auch zur Verfügung stellt.
Bei mir heißen sie wie folgt:
- Taste 1 wurde gedrückt → Rollo schließen/Stopp
- Taste 2 wurde gedrückt → Rollo öffnen/Stopp
- Taste 1 wurde nach langem Tastendruck los gelassen → Rollo Stopp Schließvorgang
- Taste 2 wurde nach langem Tastendruck los gelassen → Rollo Stopp Öffnungsvorgang
- Taste 1 hat langem Tastendruck gestartet → Rollo bis Position schließen
- Taste 2 hat langem Tastendruck gestartet → Rollo bis Position öffnen
Danach konnte es dann mit den Bedingungen weitergehen, die ich euch hier schon mal zeigen möchte. Benötigt werden nämlich nur vier, wie ihr dem Screenshot entnehmen könnt.
Auch her gab es wieder eine kleine Herausforderung, nämlich die, wie ich unterschiedliche Bedingungen ODER- und UND-verknüpft bekomme. Aber es ist letztlich ganz einfach. Für eine UND-Verknüpfung werden einfach neue Bedingungen per Button "+ Bedingung hinzufügen" hinzugefügt. Für eine ODER-Verknüpfung werden einfach mehrere Auslöser einer Bedingung ausgewählt (siehe rechtes Teilfenster).
Weiterhin gilt unbeding zu beachten, dass die einzelnen Optionen von oben nach unten abgearbeitet werden. Aber keine Sorge, sie lassen sich nachträglich über den Button mit dem beiden Querbalken in ihrer Reihenfolge verändern. Ich habe mir also nun zwei Opionen für den Schließvorgang und zwei für den Öffnungsvorgang erzeugt. Option 1 seht ihr schon im letzten Screenshot. Sie soll meine beiden Rollos im Büro stoppen, wenn entweder die Taste 1 kurz gedrückt oder nach einem langen Tastendruck losgelassen wurde. Das soll aber nur passieren, wenn sich die beiden Rollos bewegen. Diese beiden zusätzlichen Bedingungen sind wichtig, damit ich bei einem kurzen Tastendruck von Taste 1 zwischen einen Start- und einem Stoppvorgang unterscheiden kann. Die zugehören Aktionen sind relativ trivial, denn sie sollen einfach nur die Rollos stoppen. Wir erinnern uns, dass das nur über Matter geht, denn die Dirigera-Integration bietet mir diesen sehr wichtigen Befehl nicht (fragt mich nicht, warum).
Die zweite Option betrifft dann den Start des Schließvorgangs. Auch hier erinnern wir uns wieder daran, dass die einzelnen Optionen von oben nach unten nacheinander abgearbeitet werden. Ist eine erfüllt, wird die Automation beendet. Ist sie nicht erfüllt, geht es zu nächsten Option weitern.
Wie man dem Screenshot entnehmen kann, hat auch diese Option wieder zwei ODER-verknüpfte Auslöser, nämlich "Rollo schließen/Stopp" für den kurzen Tastendruck von Taste 1 und "Rollo bis Position schließen" für den langen Tastendruck von Taste 1. Mehr benötigen wir hier nicht als Bedingungen. Und die Aktionen sind wieder einfach, nämlich das die beiden Rollos geschlossen werden.
Schließlich machen wir das Ganze auch noch mal für den Öffnungsvorgang.
Fertig.
Im Unterschied zum Javaskript im ioBroker sind hier natürlich sehr viele Klicks notwendig und man muss sich mehr Gedanken über die IDs machen, aber dafür braucht man sich nicht mit Quellcode zu beschäftigen und - was besonders wichtig ist - der Datenverkehr ist weitaus geringer, da ich hier nicht permanent die Position der Rollos berechnen muss. Im Javaskript hatte ich dafür leider keine Lösung gefunden, da mir der Datenpunkt für das Loslassen der Taster fehlte.
Nun muss ich Entsprechendes auch noch für meine anderen Räume sowie für die dimmbaren Leuchten umsetzen. Aber auch hier hilft mir der HA dank der integrierten Duplizierfunktion.
Ich hoffe, das hilft dem bzw. der Einen oder Anderen bei der Erstellung von Automationen.
Gruß,
BitterLeaf42