NEWS
Anwendungen zu Vis-Inventwo & Icontwo
-
Voraussetzungen: Die Widgets funktionieren bis zur Version 2.8.3 des Adapters. In neueren Versionen werden zwar noch die Schaltfunktionen ausgeführt, jedoch findet keine Aktualisierung der Darstellung statt: Das Garagentor-Widget wird unter 2.9.2 in geschlossenem Zustand als aktiv dargestellt.
Im Folgenden möchte ich euch Widgets vorstellen, die ich mittels Inventwo erstellt habe. Zur Zeit stehen nur zwei zur Verfügung: ein Widget zur Dimmersteuerung und eines für ein Garagentor zu steuern.
=========================================================
[1] Dimmer
=========================================================
Dieses Widget besteht aus einer Kombination eines MultiWidget, das für das Ein-/Ausschalten genutzt wird und eines Schiebereglers zum Einstellen der Helligkeit.Konfiguration des Schiebereglers
- Die Object ID ist mit dem Datenpunkte level der Lampe verbunden.
- Entsprechend sind die Min./Max.-Werte auf 0 bzw. 100 gesetzt. (in der Abb. ist ein Fehler: anstelle von 0 steht dort eine 1).
- Die Schrittweite, in der der Schieberegler die Werte verändern kann, wird hier zu 1% gewählt.
- Die Ausrichtung des Schiebereglers soll horizontal sein. Man kann den Regler bis zu 45° gegen die Horizontale neigen.
- Zur Beschriftung wird der Text Helligkeit angegeben.
- Direkt vor der Wertangabe des Schiebereglers soll nichts angezeigt werden: Text voranstellen bleibt leer.
- Die Option zeige Wert wird aktiviert. Text anhängen wird mit der Einheit % gefüllt.
Konfiguration des MultiWidgets
- Zum Ein-/Ausschalten werden die boolschen Werte true/false beim Klicken auf des MultiWidget in die Object ID (Datenpunkt ON) der LED geschrieben. Die Parameter Wert falsch und Wert wahr müssen nicht ausgefüllt werden, da in der Object ID boolsche Werte verwendet werden. Alternativ hätte man hier auch den Datenpunkt level der Lampe verwenden können und dann jedoch die Werte für EIN level=100 und für AUS level=0 wählen müssen.
- Es wird nur ein sog. Zustand benötigt. Die Anzahl der Zustände ist mit 1 zu füllen.
- Damit der das Widget als aktiviert angezeigt wird, muss im Feld Vergleichsoperator die Option Größer gewählt werden.
- Die Option Farbe invertieren ist erforderlich, wenn das Icon nicht schwarz, sondern weiß dargestellt werden soll.
=========================================================
[2] Garagentor
=========================================================
Funktionsweise und Grundlagen
Nach einem Klick auf das Widget (erstes Bild) fährt das Tor hoch und die Darstellung ändert sich (zweites Bild). Wie auch beim Schließen (viertes Bild) blinkt das Widget beim Öffnen, um so auf den jeweils laufenden Vorgang aufmerksam zu machen. Ist das Tor offen, wird das Widget wie im dritten Bild wieder statisch dargestellt.
Hier könnt ihr euch anschauen, wie das Ganze in der Praxis aussieht.
Angeregt durch die Steuerung unseres Tores durch das HomeKit von Apple und YAHKA, habe ich diese Lösung nun auch für die Visualisierung direkt in ioBroker verfügbar gemacht.
Apple verwendet zwei Datenpunkte: TargetDoorState und CurrentDoorState. Mittels dieser Datenpunkt können nun auch die Zustände Öffnen/Schließen erfasst werden. Es gilt ..
- (TargetDoorState | CurrentDoorState ) = (1 | 1) <=> Tor ist geschlossen (statisch)
- (TargetDoorState | CurrentDoorState ) = (0 | 1) <=> Tor öffnet sich (dynamisch)
- (TargetDoorState | CurrentDoorState ) = (0 | 0) <=> Tor ist geöffnet (statisch)
- (TargetDoorState | CurrentDoorState ) = (1 | 0) <=> Tor schließt sich (dynamisch)
Hierbei beschreiben die Zustände zwei und vier dynamische Vorgänge. Die zugehörigen Widget-Darstellungen werden daher während dieser Vorgänge blinkend angezeigt.
Diese Datenpunkte werden wie folgt gesetzt ..
TargetDoorState wird je nach Zustand des Widgets (siehe Object ID) mittels Klicken auf das Widget mit 0 (zum Öffnen) bzw. 1 zum Schließen gefüllt. Der Datenpunkt CurrentDoorState wird mittels zweier Tür-/Fensterkontakten (offenes oder geschlossenes Tor) erfasst.
Tipp: Wer auf einen zweiten Kontakt für das Tor in geöffneter Stellung verzichten möchte, kann ein Blockly-Script verwenden. In diesem Script wird beim Öffnen des Tores ein Timer gestartet, der nach Ablauf den Datenpunkt CurrentDoorState mit 1 füllt; hierbei ist der Timer so zu bemessen, dass er der Dauer des Vorganges entspricht.
Um das Widget in vier verschiedenen Weisen darstellen zu können, werden vier verschiedene Zustände benötigt. Diese werden mit einem Datenpunkt GaragentorStatus mit den Werten von 0 bis 3 erfasst. Um diesen Datenpunkt - ausgehend von den im HomeKit verwendeten Datenpunkten - zu füllen, habe ich ein Blockly-Script erstellt, das diese Aufgabe übernimmt.
Nach diesen Vorbereitungen kann nun darangegangen werden, das MultiWidget zu konfigurieren.
Konfiguration des MultiWidgets
-
Die Object ID des Widgets wird an den Datenpunkt TargetDoorState geknüpft, der dafür sorgt, dass sich das Tor in Bewegung setzt. Das Widget muss daher als switch konfiguriert werden.
-
Der Typ des Widgets muss Wert sein, da die Felder Wert falsch und Wert leer in diesem Falle mit 1 und 0 gefüllt werden müssen. Würde man diese Felder leer lassen, so würde davon ausgegangen, dass Feld falsch den Wert false enthält und jener im Feld wahr mit true zu füllen wäre.
-
Ist der Wert bei Wert falsch gleich 1, so soll das Widget deaktiviert und geschlossen dargestellt werden; das gewählte Bild hierzu stellt ein geschlossenes Tor auf schwarzem Grund dar.
-
Es werden vier Zustände benötigt für Tor geschlossen (0), Tor öffnet (1), Tor offen (2), Tor schließt (3), die im Anschluss mit Leben gefüllt werden müssen.
-
Zustand [0]
Object ID=<Datenpunkt GargentorStatus>, Wert[1]=0 und Hintergrund[1]=#333333 sorgen dafür, dass das Widget ein geschlossenes Tor auf schwarzem Hintergrund darstellt. -
Zustand [1]
Object ID[2] = <Datenpunkt GaragentorStatus>, Wert[1] = 1, Beschriftung wahr = öffnen, Bild wahr = <halb offenes Tor> und Bild wahr Blinkintervall[1] = 1000 sorgen dafür, dass ein halb offenes Tor auf grünem Hintergrund, im Sekundenrythmus (1000ms) blinkend dargestellt wird. -
Zustand [2]
Vergleiche Zustand [1]
-
Zustand [3]
Vergleiche Zustand [1]
Beschreibung wird fortgesetzt!