Raspberrymatic Neuigkeit – Negierte Bedingungen abfragen in WebUI Programmen
So ganz neu ist diese Funktion in Raspberrymatic nicht mehr. In der Zwischenzeit gibt es in der aktuellen Version 3.53.34 bereits eine überarbeitete Vorgehensweise. Wobei beim ersten Versuch noch mit einem „leeren“ Feld gearbeitet wurde, hat man jetzt eine eindeutige Auswahl. Es können nun bestimmte Bedingungen in Programmen negiert werden. Das heißt, es können in Programmen Aktionen ausgelöst werden, wenn die abgefragte Bedingung nicht wahr ist. Was das genau bedeutet, zeige ich euch in diesem Artikel an einem Beispiel meiner eigenen Installation.
Ausgangssituation
Vor der Raspberrymatic WebUI Änderung war eine negierte Abfrage nicht möglich und man musste beispielsweise bei der Abfrage des Drehgriffkontaktes zwei Abfragen machen. In meinem Beispiel aus meinem allerersten Blog Beitrag Homematic: Ausgesperrt durch automatische Rolladensteuerung? habe ich den Status „offen“ oder „gekippt“ abgefragt, um den Rollladen Aktor zu sperren. Das Beispiel seht ihr im folgenden Screenshot. Programm um mit einem Drehgriffkontakt auf ein nicht geschlossenes Fenster zu reagieren:
Genauso funktioniert das auch in der originalen CCU3 Firmware, sowie den Lösungen, welche darauf basieren, wie piVCCU oder debmatic.
Nach dem Firmware Update
Nach der Durchführung des Firmware Updates von Raspberrymatic sieht das Programm nun folgendermaßen aus:
Wie ihr seht, ist ein neues Dropdown-Feld zwischen Gerät/Systemvariable und dem Zustand dazu gekommen. Das Programm funktioniert aber weiterhin in gleicher Art und Weise wie vor dem Update.
Negierte Bedingung
Im nächsten Screenshot könnt ihr sehen, das anhand meines Beispielprogrammes aus den zwei Abfragen nun eine gemacht werden kann. Das Ergebnis des Programmes ist das Gleiche, aber die Programmierung, selbst bei diesem einfachen Beispiel ist einfacher:
Möglichkeiten
Auf die gleiche Art und Weise könnt ihr jetzt auch viel leichter beispielsweise auf alle Werte einer Werteliste-Systemvariablen außer einem bestimmten Wert reagieren werden. Auch bei eine String-Systemvariablen kann auf alles außer einem bestimmten String reagiert werden.
Fazit
Ich persönlich finde diese Möglichkeit der Negierung in der WebUI Programmierung sehr gut und damit bietet nun die WebUI unter Raspberrymatic eine Funktion, welche in anderen Programmiersprachen schon lange dazu gehört. Vielen Dank dafür an die Entwickler von Raspberrymatic.
Wie das Ganze entstanden ist, findet ihr hier: HomeMatic-Forum
Hallo,
die Funktion „Sperrung aktiv“ hat mein HmIP-BROLL nicht. Was für ein Aktor hat diese Funktion „Sperrung“?
Gruß
Markus
Hallo,
das ist schon mal gut, dass sowas nun geht.
Was allerdings noch viel besser wäre, wenn ich Abfragen gegen Werte in Systemvariablen vornehmen könnte!
Das würde einiges an Programmieraufwand reduzieren, was man aktuell nur durch zyklische Ausführung von Programmen hinbekommt, welche dann im Coding die Werte gegen die Systemvariable abfrägt.
Das wäre auf jeden Fall eine tolle Sache!
Grüße
Bernd