Regeln



Regel Editor

Mit dem Regel Editor kannst du deinem digitalen Zwilling “Intelligenz” verleihen. Regeln dienen dazu, eingehende Daten von Datenpunkten auszuwerten und Aktionen auszulösen, z.B. E-Mails oder Downlink-Pakete an LoRaWAN-Geräte zu senden. Mit einem Klick auf den “Plus”-Button öffnet sich die Oberfläche zum Hinzufügen neuer Datenpunkte.

Ereignis-basierte Regel erstellen

Um eine neue Regel zu erstellen, musst du mindestens 3 Schritte in der Benutzer Oberfläche durchlaufen:

  1. Definiere die zu verwendenden Datenpunkte (Vergleichs-Metriken).
  2. Definiere die Bedingungen zur Auswertung der Datenpunktmetriken (Bedingungen).
  3. Definiere die Aktion, die ausgelöst wird, wenn die Bedingungen erfüllt sind (Kommandos).
  4. Optional kannst du die Regeln testen (Regel Tester).

Im Abschnitt Vergleichs-Metriken kannst du die relevanten Datenpunkte auswählen:

  • Datenpunkt: Wähle den Datenpunkt aus der Dropdown-Liste aus.
  • Metrik-Identifikator: Verwende diesen Identifikator, um eigene Namen für die Verwendung im Regel Editor zu definieren. Mit dem Metrik-Identifikator können Datenpunkte durch selbstsprechende Namen ersetzt werden. Auch lässt sich so ein Datenpunkt mehrfach verwenden, z.B. um mit dem letzten Wert und dem historischen Durchschnittswert eine Abweichung vom Mittelwert mittels Regeln zu prüfen.
  • Letzte X Minuten: Definiere das Zeitintervall, aus dem die gemeldeten Werte für die Regel stammen. Klicke das Kästchen auf der linken Seite, um diese Einstellung zu verwenden oder nicht zu verwenden.
  • Letzte X Werte: Definiere, wie viele gemeldete Pakete verwendet werden sollen. Klicke wiederum das Kästchen an, um diese Einstellung zu verwenden oder nicht zu verwenden.
  • Mathe. Operation: Wähle die Operation aus, die auf die ausgewählten Werte angewendet werden soll: z. B. SUM(), um die Summe der Werte zu berechnen oder max(), um nur den höchsten Wert zu verwenden.
  • Transformation: Optional kannst du die eingehenden Werte mit javascript-basierten Funktionen transformieren. Füge dazu deinen Code als Rückgabewert hinzu. Diese Funktion ist nützlich, wenn du verschiedene Sensoren hast, die unterschiedliche Formatierungen für Werte melden und du sie vereinheitlichen möchtest (z. B. Temperatursensor 1 sendet Werte mit 3 Nachkommastellen und Temperatursensor 2 sendet Werte mit nur 1 Nachkommastelle).

Wenn beide Checkboxen (“Letzte X Werte” und “Letzte X Minuten”) aktiviert sind, dann werden die Bedingungen logisch mit and verknüpft. Sofern nicht beide Bedingungen erfüllt sind, ist der Wert der Metrik null.

Du kannst weitere Datenpunkte für deine Regel hinzufügen, indem du auf die “Plus”-Schaltfläche klickst und auch Datenpunkte mit der “Papierkorb”-Icon löschen.

Nachdem du die Datenpunkte eingerichtet hast, kannst du die Bedingungen definieren. Dies geschieht in 3 Schritten:

  1. Wähle die entsprechende, zuvor definierte Vergleichs-Metrik aus.
  2. Wähle den Auswertungstyp; z. B. “größer als >”, “gleich ==” oder “größer oder gleich >=” aus der Dropdown-Liste.
  3. Lege den Wert fest, anhand dessen ausgewertet werden soll.

Durch Klicken auf die “Plus”-Schaltfläche kannst du weitere Datenpunkte auf der gleichen Ebene hinzufügen. Mit dem Dropdown auf der linken Seite kannst wählen, wie diese verknüpft werden sollen (“UND” oder “ODER”).

Durch Klicken auf die “f(x)"-Schaltfläche kannst du weitere Bedingungen (Unterbedingungen) verschachteln.

Um Bedingungen zu entfernen, klicke einfach auf das “Papierkorb”-Icon.

Die folgenden Bilder zeigen dir ein Beispiel für eine Bedingung, die zwei Temperatursensoren auswertet und Aktionen auslöst, wenn beide Sensoren über oder unter einem vordefinierten Korridor liegen:

Im letzten Schritt musst du die Aktion (Kommando) einrichten, die ausgelöst werden, wenn die Bedingungen erfüllt sind:

  • “Wenn Bedingung…”: Wähle die Art der Auslösung: Wähle “sich ändert”, wenn die Aktion nur ausgelöst werden soll, wenn sich die Bewertung ändert (z.B. von wahr auf falsch). Wähle “auswertet”, wenn die Regel ausgewertet wurde und die Kriterien erfüllt sind (z.B. sie wurde in der Vergangenheit auf true gesetzt, wurde neu ausgewertet und das Ergebnis der Auswertung ist wieder true).
  • ”…zu…": Definiere, ob eine Aktion ausgelöst werden soll, wenn die Bedingung true (alle Bedingungen sind erfüllt) oder false (Bedingungen sind nicht erfüllt) ist.
  • "…dann führe aus…": Hier kannst du abhängig von den konfigurierten Bridges in deinem Account wählen, ob z.B. eine E-Mail, MQTT-Nachricht oder ein Downlink-Paket an Firefly oder Actility ausgelöst werden soll. Je nach gewähltem Befehl erscheinen weitere Möglichkeiten wie Empfänger, Betreff und Text einer E-Mail-Nachricht. Darüber hinaus kann man in jedem Textfeld - ebenfalls abhängig vom ausgewählten Konnektor - neben dem Titel, der ID und den konkreten Wert des zuvor ausgewählten Datenpunkts sich nun in Regeln eines digitalen Zwillings auch dessen Hierarchie und die benutzerdefinierten Schlüssel-Wert-Paare mittels Platzhalter verwenden. So können z.B. beim Auslösen einer Regel dem empfangenden Drittsystem weitere Informationen mitgegeben werden, damit dieses die Daten automatisch verarbeiten kann.

Mit der “Plus”-Schaltfläche kannst du weitere Befehle hinzufügen, mit der “Papierkorb”-Schaltfläche Befehle löschen. Außerdem kannst du auch direkt den Befehl ausführen, um zu testen, ob die Verbindung korrekt funktioniert

Optional kannst du als letzten Schritt deine Regel mit dem Regel-Tester testen:

Für jede Vergleichs-Metrik kannst du im Textfeld einen Beispielwert definieren. Mit der “Metriken und Bedigungen testen”-Schaltfläche wird die Regel dann ausgewertet.

Zeitliche Ausführungsfilter definieren

Soll eine Regel in bestimmten Zeiträumen nicht ausgewertet werden, so können hierfür Filter erstellt werden. Die Regel wird dann nur innerhalb der konfigurierten Zeiträume ausgeführt. So erhält beispielsweise ein Hausmeister keine Alarmierungen zu geöffneten Fenstern während der regulären Schulzeiten.

Zeit-basierte Regel erstellen

Zusätzlich zu einer Ereignis-basierten Regel kannst du einen zeitlichen Auslöser einstellen. Hier können Zeitpunkte und Regeln definiert werden, zu denen die oben definierten Bedingungen zusätzlich geprüft werden, auch wenn sich kein Datenpunktwert geändert oder aktualisiert hat. Die Regel wird außerhalb der definierten Zeitpunkte weiterhin ausgeführt, wenn sich ein Datenpunktwert aktualisiert. Soll eine Auswertung der Regel bei Aktualisierung des Datenpunktes nicht stattfinden, sondern nur zu den definierten Zeitpunkten, so kann die Option “NUR zeitliche Auslöser verwenden” genutzt werden.

Diese Option findest du beim Öffnen des Fensters zur Erstellung einer neuen Regel unter dem ausklappbaren Kasten “Zeitliche Auslöser”. Du kannst auswählen, ob die Regel in einem sich wiederholenden Zeitintervall, z.B. jede 2. Stunde zur 30. Minute, an einem bestimmten Wochentag oder an einem bestimmten Tag des Monats ausgelöst wird. Zu diesem eingestellten Zeitpunkt wird dann die angegebene Bedingung automatisch geprüft, nur bei erfüllter Bedingung wird das Kommando ausgeführt. Hinweis: Bei der Einstellung “Wiederholend” ist das kleinstmögliche Intervall eine Stunde. Falls ein kleineres Intervall benötigt wird, muss die Regel mehrfach angelegt werden.

INFO: Das kleinstmögliche Intervall für eine zeitbasierte Regel ist 1 Stunde. Kleinere Eingaben werden von der Eingabemaske automatisch korrigiert, damit keine Fehler entstehen. Falls kleinere Intervalle benötigt werden (z.B. alle 30 Min.), müssen mehrere Regeln mit unterschiedlichen Startzeitpunkten angelegt werden.

Unter dem Feld “Vergleichs-Metriken” kannst du jetzt auch die mathematische Operation “SINCE_LAST_UPDATE” verwenden, die im Zusammenspiel mit den zeitlichen Auslösern zu einem einfachen Health-Check wird. Die Operation liefert die Anzahl der Sekunden seit dem letzten Update zurück, unabhängig was oben für Filter ausgewählt wurden. Dies ist jedoch keine aktive Metrik, es wird empfohlen in Kombination mit zeitlichen Auslösern zu arbeiten. Sie benötigt immer einen zeitlichen Auslöser, um geprüft zu werden, da sie keine Datenpunkt-Veränderungen, sondern einen Zeitraum liefert.

Ortsbasierte Regeln erstellen

Neben den vorhandenen Ereignis- und Zeit-basierten Regeln kannst du die Standorte von Digitalen Zwillingen als zusätzliche Auslöser für eine Regel einsetzen: Wenn sich z.B. ein Digitaler Zwilling aus einem definierten Gebiet heraus oder herein bewegt, wird eine Aktion ausgelöst. Um diese Regel zu nutzen, setzt du Zwillinge für das Gebiet ein sowie Zwillinge für das Objekt.

Um eine ortsbasierte Regel zu erstellen, musst du folgende Schritte in der Benutzer-Oberfläche durchlaufen:

  1. Klicke auf den Plus-Button oben rechts, um eine neue Regel zu erstellen.

  2. Klicke in dem sich öffnenden Fenster den Kasten “Geofencing” an. Dadurch erscheint unter “Regel Input” ein zweiter Reiter “Geofencing”.

  3. Um eine ortsbasierte Regel für den Zwilling zu erstellen, musst du vor dem Erstellen der Regel einen zweiten Zwilling vom Typ “zone” erstellt haben, in dessen “Detail”-Reiter du ein Polygon definiert hast. Im Feld “Zwilling mit Geozone” wählst du diesen Zwilling aus. Hier werden dir nur Zwilling des Typs “zone” als klickbar angezeigt.

  4. Nachdem du die Zone für deinen Objekt-Zwilling ausgewählt hast, definierst du im ausklappbaren Feld daneben den “Auslöser-Modus”. Hier kannst du zwischen “Zonen Eintritt”, “Zonen Austritt”, “Zonen Aufenthaltsdauer” “Dauer außerhalb der Zone”, “Eintritt in Radius"oder “Austritt aus Radius” wählen.

    Einige Modi verlangen weitere Angaben: Bei der Auswahl erscheint ein drittes Feld, in dem du Angaben wie Dauer oder Meterangaben einträgst. Sobald z.B. dein Objekt in die definierte Zone eintritt, wird die Regel ausgelöst und die Aktion, die du weiter unten im Kasten wie bei den anderen Regeln definierst, durchgeführt.

Du kannst im Regel-Modus auch den Kasten “Datenpunkt Vergleichs-Metriken” deaktivieren und eine Regel erstellen, die nur im Falle einer Standort-Veränderung ausgelöst wird. Zudem kannst du ortsbasierte Regeln mit Ereignis-basierten oder Zeit-basierten Regeln sowie Javascript-Bedingungen kombinieren.

Hinweis: Ortbasierte Regeln sind nicht nur ein Trigger, sondern auch eine Bedingung für das Auslösen einer Regel. Selbst wenn du zum “Geofencing” einen zeitbasierten Auslöser definiert hast, muss zu diesem Zeitpunkt mindestens eine Geofence-Bedingung erfüllt sein, um die Regel auszulösen.

Regeln duplizieren

Du kannst Regeln von einem Digitalen Zwilling zu einem oder mehreren anderen Zwillingen im gleichen Account kopieren.

  1. In der Übersicht im Tab “Regel Editor” findest du den “Kopieren”-Button. Wenn du ihn anklickst, öffnet sich ein neues Fenster mit einer Liste der dir zugänglichen Zwillinge. In dieser Liste kannst du nur die Zwillinge auswählen, die sich im selben Konto der originalen Regel befinden, da Regeln kontenabhängig sind.

  2. Sobald du einen Zwilling ausgewählt hast, erscheint unten ein weiteres Feld, in dem du die Datenpunkte auswählst, auf die sich die duplizierte Regel im anderen Zwilling beziehen soll.

  3. Der Button “Kopien erstellen” wird aktiviert und du kannst mit einem Klick die Regeln in andere Zwillinge übertragen.

Regel Übersicht

Im letzten Tab siehst du alle Regeln in einer Liste, die für diesen Zwilling und die untergeordneten Zwillinge erstellt wurden. Die Regel beinhaltet Titel, zugeordneten Zwilling, letzte Ausführung, letztes Ergebnis, die Kommandos zur Ausführung und entsprechende Icons für Regeln, die auf Zeit oder Geo-Lokalisierung basieren.