Einführung
Um den Informationsgehalt von Benachrichtigungen zu erhöhen, können Benutzer Makros verwenden. Makros helfen festzulegen, welche Informationen über das ausgelöste Ereignis an den Benutzer gesendet werden.
Zum Zeitpunkt des Versands der Benachrichtigungen werden die Makros durch die entsprechenden Informationen ersetzt: Zeitpunkt des Ereignisses, Name des Sensors, der den Alarm ausgelöst hat, der Wert dieses Sensors, Name der Logikschaltung, eine verbale Beschreibung, der Zustand der Elemente, die ID des Sensors und weitere.
Die Makros werden durch das Prozentzeichen und die entsprechende Nummer für die enthaltenen Informationen gekennzeichnet.
die
Die folgenden Makros sind verfügbar:
| Makros | Spezifikation | Beispiel |
|---|---|---|
| %1 | Eine verbale Beschreibung der ausgelösten Logik. | if 'Onboard Temperature' (id=201001) in state 'high alarm'; and 'Onboard Voltage DC' (id=203001) in state 'high alarm'; then 'Power-1' (id=304001) changes to state 'on' immediately, once; 'Simple_Mail' (id=601001) changes to state 'on' immediately, once; |
| %2 | Der Zustand der Logikschaltungselemente, die in den IF-Bedingungen enthalten sind, zum Zeitpunkt der Auslösung der Logik. | 'Onboard Temperature' (id=201001) in state 'high alarm'; 'Onboard Voltage DC' (id=203001) in state 'high alarm'; |
| %3 | Auslösezeit der Logikschaltung. | 11:32:28 2017/06/13 |
| %4 | Name der Logikschaltung. | 'Logic_Temp_01' |
| %5 | Der Name des Sensors, dessen Zustandsänderung zur Aktivierung der Logik geführt hat. Hier wird der Name des Sensors angezeigt, von dem die Logik ausgelöst wurde. | 'Onboard Temperature' |
| %6 | Der Zustand des Sensors, der die Logikschaltung ausgelöst hat. | 'high alarm' |
| %7 | Der Sensorwert oder dessen Logikpegel zum Zeitpunkt der Auslösung der Logikschaltung. | '27.60' |
| %8 | Die ID des Sensors, der die Logikschaltung ausgelöst hat. | '201001' |
| %9 | Maßeinheit, falls der Sensor einen solchen Parameter hat. | °C |
| %A | Der Sensorwert oder dessen Logikpegel zum Zeitpunkt der Auslösung der Logikschaltung. Ohne Anführungszeichen. | 27.60 |
| %H | Hostname des Systems. Wenn das Feld Preferences->Network->Hostname ausgefüllt ist, wird dessen Wert verwendet. Wenn dieses Feld den Standardwert (hostname) hat, wird die tatsächliche IP-Adresse verwendet. | room_100_system oder 192.168.0.101 |
| %S | Eine typische Systembeschreibung einschließlich Hardwaretyp, Firmware-Version, Hostname, aktueller IP-Adresse und LTE-IP-Adresse, falls verfügbar. | System: VT336t Firmware: 7.2.3 b335 Hostname: host_room100 IP: 192.168.0.101 LTE IP: 65.32.198.76 |
| %M | MAC-Adresse der aktuellen Einheit | 7A:D8:4F:31:18:54 |
Makro-Parametrisierung
Die Makros %5, %6, %7, %9, %A bieten die Möglichkeit der Parametrisierung über die ID des Elements {id}. Für diese Makros kann ein Element angegeben werden, für das das Makro berechnet wird.
Die Element-ID wird als Parameter übergeben, der das Element definiert. Die ID wird in geschweiften Klammern {id} direkt nach dem Namen des Makros angegeben.
Beispiel für die Berechnung von Makros:
| Makro | Beschreibung | Beispiel |
|---|---|---|
| %5{id} | Der Name des Sensors mit der angegebenen ID. | %5{201999} ergibt den Sensornamen: 'Onboard Temperature' |
| %6{id} | Status des Sensors mit der angegebenen ID. | %6{201999} ergibt den Sensorstatus: 'normal' |
| %7{id} | Der gemessene Wert des Sensors mit der angegebenen ID. | %7{201999} ergibt den Sensorwert: '26.50' |
| %9{id} | Maßeinheit, falls der Sensor einen solchen Parameter hat. | %9{201999} ergibt die Zeichenfolge: °C |
| %A{id} | Der gemessene Wert des Sensors mit der angegebenen ID ohne Anführungszeichen. | %A{201999} ergibt den Sensorwert: 26.50 |
Wenn ein Element mit der angegebenen ID nicht gefunden wird, wird eine Zeichenfolge in den Nachrichtentext eingefügt – 'id=xxxx not found'.
Falls der Parameter {id} nicht gesetzt ist, wird der Wert des Elements, das die Logikschaltung ausgelöst hat, in den Nachrichtentext eingefügt.
Detailmakro des Moduls, der Gruppe und des Systems
Das Makro %8 dient zur Ermittlung der Sensor-ID, wenn der Logikschaltkreis durch eine Zustandsänderung der Gruppe, des Moduls oder des Systems ausgelöst wird. Dieses Makro kann als Identifikationsparameter in den Makros %5, %6, %7 und %A verwendet werden.
Beispiel für die Verwendung eines Makros zur Modulverarbeitung.
Erstellen wir einen solchen Logikschaltkreis:
Wenn der Zustand 'Alarm' des Moduls 'Autodetect' aktiviert wird, wird das Relais gesteuert und eine Nachricht per E-Mail gesendet.
Hinweis:
Modul-, Gruppen- und Systemzustand
Das Modul (die Gruppe, das System) wechselt in den Zustand 'Alarm', wenn mindestens einer der angeschlossenen Sensoren (analog oder digital) sich im Zustand 'Alarm', 'High alarm' oder 'Low alarm' befindet.
Das Modul (die Gruppe, das System) wechselt in den Zustand 'Warning', wenn mindestens einer der angeschlossenen Sensoren (analog oder digital) sich im Zustand 'Warning', 'High warning' oder 'Low warning' befindet und das Modul sich nicht im Zustand 'Alarm' befindet.
Das Modul (die Gruppe, das System) wechselt in den Zustand 'Normal', wenn alle verbundenen Sensoren sich im Zustand 'Normal' befinden.
Betrachten Sie, welche Informationen Sie mithilfe von Makros erhalten können.
| Makro | Ergebnis des Makros | Erklärung |
|---|---|---|
| %1 | if module 'Autodetect' (id=2021) in state 'alarm'; then 'Power-1' (id=304001) changes to state 'on' immediately, once; 'Power-2' (id=304002) changes to state 'off' immediately, once; 'Simple_Mail' (id=601001) changes to state 'on' immediately, once; | Verbale Beschreibung der ausgelösten Logik. Wenn das Modul 'Autodetect' in den Zustand 'alarm' wechselt, wird das Relais 'Power-1' sofort eingeschaltet (und einmalig, ohne Wiederholungen), das Relais 'Power-2' wird ausgeschaltet und die Benachrichtigung 'Simple_Mail' wird gesendet. Das Modul wechselt in den Zustand 'alarm', wenn mindestens eines seiner Elemente sich im Zustand 'alarm' befindet. |
| %2 | module 'Autodetect' (id=2021) in state 'alarm'; | Der Zustand der Elemente der Logikschaltung, die in den IF-Bedingungen enthalten sind, zum Zeitpunkt der Auslösung. Das Modul, das die Logik ausgelöst hat, sowie dessen Zustand werden beschrieben. |
| %3 | 16:14:41 2017/06/13 | Die Reaktionszeit der Logikschaltung. |
| %4 | 'Logic_Analog_Sensors' | Der Name der Logikschaltung. |
| %5 | 'Autodetect' | Der Name des Sensors (Moduls), dessen Zustandsänderung zur Aktivierung der Logikschaltung geführt hat. |
| %6 | 'alarm' | Der Zustand des Sensors (Moduls), der die Auslösung der Logikschaltung initiiert hat. |
| %7 %A | 'not supported' | Gemessener Sensorwert oder dessen Logikpegel zum Zeitpunkt der Auslösung der Logik. Das Modul besitzt dieses Feld nicht, daher wird hier 'not supported' angezeigt. |
| %8 | '107002' | Die ID des Sensors, der die Logikschaltung ausgelöst hat. Hier wird die Sensor-ID angegeben, die im Modul enthalten ist und die Auslösung verursacht hat. In diesem Fall handelt es sich um einen Wassersensor. Die Verwendung dieses Makros als Parameter ermöglicht es, den Sensor zu bestimmen, der innerhalb des Moduls ausgelöst wurde. |
| %5{%8} | 'Analog-2-WATER' | Der Name des Sensors anhand der ID. Diese wird über die ID des Sensors abgefragt, der das Modul ausgelöst hat. |
| %6{%8} | 'alarm' | Sensorstatus anhand der ID. Diese wird über die ID des Sensors abgefragt, der das Modul ausgelöst hat. |
| %7{%8} %A{%8} | '1' 1 | Der Sensorwert anhand der ID. Diese wird über die ID des Sensors abgefragt, der das Modul ausgelöst hat. |
| %5{201002} | 'Analog-1-TEMPERATURE' | Der Name des Sensors anhand der ID. Hier wird ein beliebiger Sensor abgefragt, in diesem Fall ein Temperatursensor. |
| %6{201002} | 'high warning' | Sensorstatus anhand der ID. Hier wird ein beliebiger Sensor abgefragt, in diesem Fall ein Temperatursensor. |
| %7{201002} %A{201002} | '28.50' 28.50 | Der Wert des Sensors anhand der ID. Hier wird ein beliebiger Sensor abgefragt, in diesem Fall ein Temperatursensor. |
Aus diesen Informationen ist ersichtlich, dass der Wassersensor 'Analog-2-WATER' im Zustand 'alarm' ausgelöst hat, wodurch das Modul 'Autodetect' in den Zustand 'alarm' versetzt wurde, was die Logikschaltung ausgelöst und die Benachrichtigung gesendet hat.
Makros in Gruppennachrichtigungen
Sollte es erforderlich sein, den Zustand von Elementen zu überwachen, ist es vorzuziehen, anstelle von Logikschaltungen auf Gruppenbenachrichtigungen zurückzugreifen. Denn bei einer großen Anzahl zu überwachender Elemente können Gruppenbenachrichtigungen die Anzahl der Logikschaltungen – da sie diese nicht nutzen – erheblich reduzieren und die Gerätekonfiguration vereinfachen. Der Einsatz von Logikschaltungen ist hingegen dann sinnvoll, wenn komplexe Reaktionen auf Ereignisse erforderlich sind – beispielsweise bei der Ansteuerung eines externen Relais.
Erstellen Sie beispielsweise eine Gruppe von Elementen, die alle Temperatursensoren im System umfasst.
Legen wir eine Benachrichtigung fest, die gesendet wird, wenn die Gruppe in die Zustände „Normal“ und „Hoher Alarm“ wechselt.
Solche Informationen können mithilfe von Makros im Text der Benachrichtigung erhalten werden.
| Makro | Beispiel des Makro-Ergebnisses | Kommentar |
|---|---|---|
| %1 | verwenden Sie dieses Makro nicht für Gruppenbenachrichtigungen | Da hier keine Logik verwendet wird, ergibt dieses Makro keinen Sinn. |
| %2 | verwenden Sie dieses Makro nicht für Gruppenbenachrichtigungen | Da hier keine Logik verwendet wird, ergibt dieses Makro keinen Sinn. |
| %3 | 16:14:41 2017/06/13 | Die Antwortzeit entspricht dem Zeitpunkt des Wechsels der Gruppe in den beobachteten Zustand. |
| %4 | 'Group_Temperature_Only' | Gruppenname. |
| %5 | 'vt470-0192-temperature' | Der Name des Sensors (oder Moduls), der die Zustandsänderung ausgelöst hat. Die Änderung des Zustands dieses Sensors hat zu einer Änderung des Gruppenstatus und zum Senden einer Benachrichtigung geführt. |
| %6 | 'high alarm' | Der Zustand des Sensors (oder Moduls), der die Zustandsänderung ausgelöst hat. |
| %7 %A | '27.30' 27.30 | Der vom Sensor gemessene Wert oder dessen Logikpegel zum Zeitpunkt der Auslösung. |
| %8 | '201003' | Die Kennung des Sensors, der die Zustandsänderung ausgelöst hat. Hier wird die Sensor-ID angegeben, deren Zustandsänderung zu einer Änderung des Gruppenstatus und zum Senden einer Benachrichtigung geführt hat. |
| %5{%8} | '0192-temperature' | Sensorname anhand der ID. Wir fragen die Sensor-ID ab, von der die Gruppenbenachrichtigung ausgelöst wurde. In diesem Fall ist das Makro ähnlich wie %5. |
| %6{%8} | 'high alarm' | Sensorstatus anhand der ID. Wir fragen die Sensor-ID ab, von der die Gruppenbenachrichtigung ausgelöst wurde. In diesem Fall ist das Makro ähnlich wie %6. |
| %7{%8} %A{%8} | '27.30' 27.30 | Sensorwert anhand der ID. Wir fragen die Sensor-ID ab, von der die Gruppenbenachrichtigung ausgelöst wurde. In diesem Fall ist das Makro ähnlich wie %7. |
| %5{201002} | 'Analog-1-TEMPERATURE' | Sensorname anhand der ID. Wir fragen einen beliebigen Sensor ab, in diesem Fall einen Temperatursensor. Das Makro ermöglicht es beispielsweise, die Daten beliebiger Sensoren der Gruppe anzuzeigen. |
| %6{201002} | 'high warning' | Sensorstatus anhand der ID. Wir fragen einen beliebigen Sensor ab, in diesem Fall einen Temperatursensor. Das Makro ermöglicht es beispielsweise, die Daten beliebiger Sensoren der Gruppe anzuzeigen. |
| %7{201002} %A{201002} | '28.50' 28.50 | Sensorwert anhand der ID. Wir fragen einen beliebigen Sensor ab, in diesem Fall einen Temperatursensor. Das Makro ermöglicht es beispielsweise, die Daten beliebiger Sensoren der Gruppe anzuzeigen. |