Mit der Definition von Events steht ein sehr mächtiges Hilfsmittel zur Gestaltung dynamischer Layouts zur Verfügung. Solche Events einzurichten ist aber etwas komplex. Einfache Kenntnisse von Programmierung eines Systems sind gegebenenfalls nötig. Verschiedene Controls versenden von sich aus bei Änderung ihres Status einen Event. Ebenso können Sie Command Actions als Event definieren und damit eigene Events erstellen.

Im Kapitel Control ist bei den jeweiligen Layoutelementen beschrieben, welche Eigenschaften eines Controls durch Events verändert werden können.

Hier ein kleines Beispiel, wie sie durch die Betätigung eins Knopfes eine Layoutelement wie zum Beispiel ein Composite einschalten (sichtbar machen) können. Definieren Sie auf dem Knopf eine Command Action mit Command Name „Send Event“

Event Action für den Knopf

Geben sie Ihrem Event als Parameter der etwas über das Event oder das Control aussagt, von dem es aufgerufen wird. Definieren Sie einen Wert  (Value), der etwas über den Zustand des Events oder auch die Funktion, die er auslöst, aussagt. Eigentlich spielt die Bedeutung da keine grosse Rolle, die Parameter müssen einfach wiederum beim Event-Handler konfiguriert werden.

Event Hander auf dem Composite

Erstellen Sie auf dem Control, auf welchem Sie den Event empfangen wollen einen Eventhandler. Einen Sender haben wir in diesem Fall nicht. Er würde den Versender des Events noch genauer spezifizieren. Bei Systemevents, welche sie auch in Controls abfangen können, wird meistens ein Sender mitgegeben.

Definieren Sie nun das Property. Es entspricht dem Parameter, welcher sie beim Event konfiguriert haben sowie den Value. Der Sender (falls vorhanden) ,das Property sowie der Value muss dabei immer übereinstimmen mit den Informationen aus dem Event, damit der Handler ausgelöst werden kann. Eine Ausnahme bildet da, wenn sie einen Operator (Op) „not“ definieren. Dann muss Sender (falls vorhanden) und Property immer noch mit dem Event übereinstimmen, die Event wird allerdings nur ausgelöst wenn der Value NICHT übereinstimmt.

Nun müssen Sie noch definieren, was der Eventhander eigentlich genau tun soll. Erfassen Sie in der Tabelle im untern Bereich des Dialoges ein Attribut, welches Sie entsprechend manipulieren. Welche Attribute auf welchen Layoutelementen über Events manipuliert werden können, entnehmen sie den entsprechenden Kapitel des gewünschten Controls. Im hier illustrierten Fall wird das „visible“ Attribut eines Controls auf true gesetzt, womit das Control sichtbar wird. Das funtioniert natürlich nur, wenn das Layout Initial unsichtbar (visible = false) war oder vorgängig durch einen anderen Event auf unsichtbar gestellt wurde.

Anstelle von Attributen zu manipulieren besteht auch die Möglichkeit ein Macro auszuführen. Geben Sie dazu im Feld Operation wie folgt den Macronamen an.
 

 

Vordefinierte Events

Folgende Systeme oder Controls versenden von Sich aus Events:

Bluesound System

Sender Property Value Auslöser
ID des Bluesound Devices „Volume“ 0 – 100 Lautstärkenänderung z.B. durch Regler
#null „broadcastresult“ MAC Adresse Broadcasting nach Bluesound Systemen
ID des Bluesound Device input „TUNEIN“, „OPTICAL“, „BLUETOOTH“ oder „NETWORK“ Quellenwahl auf einem Bluesound Device
„SELECTEDGATEWAY“ „Input“ „TUNEIN“, „OPTICAL“, „BLUETOOTH“ oder „NETWORK“ Quellenwahl auf dem selektierten Bluesound Device
ID des Bluesound Device state „play“, „stop“, „pause“ Status des Bluesound Device
„SELECTEDGATEWAY“ „state“ „play“, „stop“, „pause“ Status des selektierten Bluesound Devices
ID des Bluesound Device SyncState „INDEPENDENT“, „SELECTED“, „MASTER“, „SLAVE“ oder „UNKNOWN“ Synchronisationsstatus des Bluesound Devices
ID des Bluesound Systems „defaultGateway“ ID des Bluesound Devices Änderung des Default Devices
ID des Bluesound Devices „WorkingGateway“ ID des Bluesound Devices Änderung des selektierten Devices

Broaldink Gateway

Sender Property Value Auslöser
ID des Gateways „initialized“ „true“ Initialisierung vom Broadlink Transmitter abgeschlossen

Chromecast Gateway

Sender Property Value Auslöser
ID des Gateways „initialized“ „true“ Initialisierung vom Chromecast Gerät abgeschlossen
ID des Gateways „volume“ 0 – 100 Änderung der Lautstärke auf dem Chromecast Gerät

MyStrom Gateway

Sender Property Value Auslöser
ID des Gateways „initialized“ „true“ MyStrom Gerät initialisiert
ID des Gateways „power“ „on“ Strom eingeschaltet
ID des Gateways „power“ „off“ Strom ausgeschaltet

Stromschalter

Sender Property Value Auslöser
ID des Controls „power“ „on“ Strom eingeschaltet
ID des Controls „power“ „off“ Strom ausgeschaltet

Philips Hue Gateway

Sender Property Value Auslöser
ID des Gateways „intialized“ true Nach Initialisierung des Gateways
ID des Devices „intialized“ true Nach Initialisierung des Devices
ID des Gateways+ „-selected“ „selected“ ID des Devices Bei Selektion eines Hue Devices
ID des Devices „color“ Farbdefinition Änderung der Farbe eines Hue Devices
ID des Devices „state“ „on“ oder „off“ Änderung des Status

openHAB System

Sender Property Value Auslöser
ID des Devices (Thing) „color“ Farbdefinition Änderung der Farbe eines Things mit Color Item
ID des Devices (Thing) „state“ „on“ oder „off“ Änderung der Status eines Things mit Color Item

Harmony Gateway

Sender Property Value Auslöser
#null „broadcastresult“ IP des Harmony Hubs Broadcasting nach Harmony Hubs

Gateway (alle)

Sender Property Value Auslöser
ID des Gateways „connected“ „true“ Verbindung zum Gerät erstellt
ID des Gateways „connected“ „false“ Verbindung zum Gerät nicht vorhanden/unterbrochen

UPnP Gateway

Sender Property Value Auslöser
ID des UPnP Gateways („gw.UPnP“) „broadcastresult“ IP vom UPnP Device Beim Empfang einer Broadcasting Response eines UPnP Gerätes

Network

Sender Property Value Auslöser
Network „rescan“ „done“ Networkscan abgeschlossen

MulticastDNS Service

Sender Property Value Auslöser
MulticastDNS „broadcastresult“ „Host Name“ Empfang einer Multicast DNS Response

System

Sender Property Value Auslöser
#null „refresh“ #null Wird von gewissen Controlls periodisch ausgelöst. Kann auch manuell durch eine Command Action ausgelöst werden
IRControlApplication „refresh-30“ refresh Wird vom IRControl System alle 30 Sekunden ausgelöst
IRControlApplication „refresh-500“ refresh Wird vom IRControl System alle 500 Sekunden ausgelöst