Eines der Dinge, die mich an meinem KNX Projekt noch nicht ganz zufrieden stellen, ist die Einbindung der KNX Szenen. Die Instanz der Szene „Beleuchtung“ hat immer den Wert der zuletzt aufgerufenen Szene, auch wenn die Beleuchtung bereits manuell abgeschaltet wurde.
Meine Wunschvorstellung ist es nun die Liste der verfügbaren Szenen in IP-Symcon noch um den Wert „Inaktiv“ zu erweitern und bei einem Aufruf einer Szene nach zB 2 Sekunden automatisch wieder auf den Wert Inaktiv zurückzuspringen.
Variable und Profil
Step 1 zur Realisierung ist das Anlegen einer neuen Variable und des zugehörigen Profiles, das die verfügbaren KNX Szenen inklusive dem Wert „Inaktiv“ abbildet.
Das Aktionsskript braucht nicht gesetzt werden, das übernimmt der Workflow im nächsten Schritt.
Workflow erstellen
Step 2 ist die Erstellung eines Workflows, der die KNX Szene abhängig von der Variable setzt bzw. den Wert der Variable wieder automatisch zurücksetzt.
Als erstes wird die neue Variable in den Workflow eingebunden und die Eigenschaft „Ausführung Workflow“ auf „Als Aktionsskript“ gesetzt. Zusammen mit den beiden Modulen am Beginn des Workflows ruft jede Änderung der Variable über die Visualisierung den Workflow auf, setzt den Wert und durchläuft dann den Rest des Workflows.
Danach wird ein Vergleich des aktuellen Wertes mit Inaktiv gemacht, wenn ungleich wird der aktuelle Wert mit einem CustAction Modul auf den KNX Bus geschickt.
Gleichzeit wird im unteren Teil ein Timer ausgelöst, der den aktuellen Wert der Variable nach 2 Sekunden wieder auf „Inaktiv“ zurücksetzt.
Testen
Testen kann man dies nun direkt im Workflow-Editor oder im WebFront oder auch im IPSView (sofern die neue Variable bereits eingebunden wurde – siehe unten).
Auslösen des Timers
Anpassen der View
Um die neue Variable nun auch in meine View zu bringen bzw. die bestehende KNX Variable zu ersetzen, wird zuerst die Kategorisierung im MetaManager angepasst und gespeichert:
und in weiterer Folge die View neu generiert und gespeichert: