Hallo! Ich habe zu Hause einige Homematic IP Komponenten, nämlich
HMIP-BBL und HMIP-BROLL. Leider war es mit den IOBroker Bordmitteln
nicht einfach möglich, so simple Sachen in einer responsiven GUI mit
wenig Aufwand zu haben wie:
- Knopf für Rolladen/Jalousie rauf
- Knopf für Rolladen/Jalousie runter
- Knopf für Stop
- Statusanzeige für Behanghöhe
- Knopf für Lamellen auf
- Knopf für Lamellen runter
- Statusanzeige für Lamellenwinkel
Ich habe auch den neuen Geräteadapter ausprobiert und relativ neue
Versionen der Lovelace UI, MaterialUI etc.. Nirgends
war eine einwandfreie Funktion out of the Box gegeben.
Daher habe ich mir eine Variante gebastelt, die diese
einfachen Bedürfnisse der manuellen Steuerung abdeckt.
Zuerst einmal musste ich mich mit den Eigenarten des
Homematic Systems vertraut machen:
Für die Rollädenaktoren wie auch die Jalousieaktoren gilt
folgende Eigenart, dass es einen Statuskanal 3 gibt welcher
den derzeitigen Status anzeigt und einen Sendekanal 4, über
welchen man die Kommandos hin schickt.
Für die Behanghöhe ist dies in einem Beispiel:
GeraeteID_3:LEVEL für den Status
GeraeteID_4:LEVEL für das Setzen
Bei den Jalousien gibt es LEVEL_2 jeweils auf Kanal 3 und 4,
welcher für den Winkel zuständig ist.
Hier gibt es bei Homematic die Eigenheit, dass der Befehl für
die Änderung von LEVEL_2 erst verarbeitet wird, sobald man
eine Änderung auf LEVEL gesendet hat, d.h. Änderungen des
Winkels werden erst gesetzt nach Änderung der Behanghöhe.
Um diesem Umstand zu berücksichtigen habe ich ein kleines
Script geschrieben welches das LEVEL setzt bei Änderung von LEVEL_2.
Die Kanäle 5 und 6 sind in meinem Anwendungsfall nicht benötigt und
auf Auslieferungszustand. Sie können für diverse Verknüpfungen verwendet
werden. Kanal 7 ist das Wochenprogramm, wird derzeit für das
automatische Fahren verwendet, dies kann jeder nach belieben konfigurieren.
Für jedes Gerät habe ich unter Geräte ein Alias erstellt, damit ich die
Besonderheiten der Kanal 3 & 4 Trennung berücksichtigen kann.
Es gibt dort neben den Objekten für ACTUAL (Kanal 3) und SET (Kanal 4)
auch jeweils ein Objekt für die 3 Tasten (Auf, Ab, Stop). Das Stop
Objekt geht direkt auf den Stop Befehl von Homematic. Die Auf und Ab
Objekte emulieren das Verhalten, indem sie einfach das SET Objekt auf
den entsprechenden Wert setzen (0 bzw. 100).
Beim Lamellenwinkel gibt es ebenfalls ein Objekt für den Auf und Ab Knopf,
welches entsprechend LEVEL_2 auf Kanal4 setzt.
Das Javascript setzt wie gesagt den LEVEL nach Änderung von LEVEL_2.
Vielleicht gibt es hier ja eine bessere Variante als das Subscribe/Unsubscribe,
was ich hier in meinem Fall verwendet habe.
Das Unsubscribe war in meinem Fall nötig, da sich das LEVEL_2 ändert,
wenn man das LEVEL setzt. Eventuell gibt es eine elegantere/stabilere Lösung dafür.
Zusätzlich zu den Knöpfen verwende ich noch einen Slider für die Anzeige des
Aktuellen Status. Mit diesem kann man auch direkt auf eine bestimmte Behanghöhe fahren
bzw. einen bestimmten Jalousienwinkel anfahren.
Man darf nicht vergessen den entsprechenden Alias Objekten jeweils den Raum und
die Funktion zuzuordnen, damit diese vom Device Adapter gefunden werden.
Ein Teil meiner Konfiguration ist als entsprechende Dateien angehängt.
Ein Bild noch als Sample:
MfG, erazer