Zum Inhalt

Automatisierte Alarme

Funktionsbeschreibung

Die Thingsboard-Software bietet auf Geräte-Ebene Alarme an. Hierüber können Benachrichtigungen ausgelöst werden, wenn ein bestimmter Sensor ein außergewöhnliches Verhalten zeigt. Es gibt aktuell fünf Alarm-Typen, die genutzt werden können, um die Schwere der Abweichung darzustellen. Alle Typen können über B.One element iot gesondert gesteuert werden. In B.One element apps gibt es ein Widget, das einen schnellen Überblick über alle Alarme eines (oder mehrere) Geräte ermöglich. Dies sieht wie folgt aus:

Screenshot

Hier sind alle Alarm-Typen aufgeführt. Die Software macht von Haus aus keine Unterscheidung zwischen der Schwere, dies bleibt dem Nutzer überlassen. Das Profil sollte also so befüllt werden, dass ein kritischer Alarm schwerer wiegt, als ein kleiner. Eine technische Überprüfung findet nicht statt.

B.One element iot Profil

Um die Alarme zu realisieren muss folgendes Profil eingerichtet werden. Dabei sind die Bedingungen unter Voraussetzungen zu beachten.

Profilname: thingsboard_alarms

Technischer Feldname Typ
rulechain_alarm_active_crit Boolscher Wert
rulechain_alarm_filter_crit Zeichenkette
rulechain_alarm_message_crit Zeichenkette
rulechain_alarm_value_crit Zeichenkette
rulechain_alarm_active_warn Boolscher Wert
rulechain_alarm_filter_warn Zeichenkette
rulechain_alarm_message_warn Zeichenkette
rulechain_alarm_value_warn Zeichenkette
rulechain_alarm_active_major Boolscher Wert
rulechain_alarm_filter_major Zeichenkette
rulechain_alarm_message_major Zeichenkette
rulechain_alarm_value_major Zeichenkette
rulechain_alarm_active_minor Boolscher Wert
rulechain_alarm_filter_minor Zeichenkette
rulechain_alarm_message_minor Zeichenkette
rulechain_alarm_value_minor Zeichenkette
rulechain_alarm_active_intermediate Boolscher Wert
rulechain_alarm_filter_intermediate Zeichenkette
rulechain_alarm_message_intermediate Zeichenkette
rulechain_alarm_value_intermediate Zeichenkette
last_telemetry_1 Zeichenkette
last_telemetry_2 Zeichenkette
general_filter Zeichenkette

Screenshot

Auszug des Profils

Benutzung

Felder pro Alarm-Schwere

Die meisten Felder wiederholen sich hier einmal pro Schwere des Alarms. Die Level sind crit, warn, major, minor und indeterminate. Wie oben beschrieben ist die Bezeichnung eine Konvention und macht auf technischer Ebene keinen Unterschied.

Pro Schwere gibt es vier Einstellungsmöglichkeiten:

  • Der boolsche Wert active legt fest, ob Alarme dieser Schwere überhaupt ausgelöst werden sollen.
  • Das Freitext-Feld filter bestimmt, wann ein Alarm ausgelöst wird. Hier muss eine Formel eingetragen werden. Für Beispiele siehe unten.
  • Das Freitext-Feld message legt fest, welchen Type der Alarm in B.One element apps bekommt. Dies kann genutzt werden, um zu beschreiben, was den Alarm ausgelöst hat.
  • Das Freitext-Feld value

Zusätzlich zu diesen fünf Gruppen gibt es drei weitere Felder, die im Folgenden beschrieben werden:

last_telemetry_1 & last_telemetry_2

Bei Bedarf können die Felder last_telemetry_1 und last_telemetry_2 befüllt werden. Damit steht hinter msg die vorherigen Messwerte mit dem Namen und dem Präfix last_ zur Verfügung. Beispiel:

Screenshot

Die Zeitstempel sind mit dem Präfix: last_ts_ zu erreichen. Beispiel: last_ts_temperature1-> msg.last_ts_temperature1

general_filter

Je nach Gerät kann es vorkommen, dass Payloads verschickt werden, in denen der überprüfte Messwert nicht mitgeliefert wird. Per default wird ein Alarm dann direkt ausgeschaltet. Wenn das nicht erwünscht ist, kann über das Feld general_filter ein Filter dafür eingebaut werden. Ist dieser nicht erfüllt, wird das Paket für die Alarm-Regelung verworfen. So wird zum Beispiel verhindert, dass Alarme durch regelmäßige Statusmeldungen gelöscht werden.

Screenshot

Hinweis: Wenn das general_filter-Feld deaktiviert werden soll, muss anders als unter Deaktivieren von Steuerungen beschrieben true in das Feld eingetragen werden.

Verknüpfung von Bedingungen

Die Filter sind in Javascript geschrieben. Einzelne Bedingungen können mit && oder || wie gewohnt verknüpft werden. Auch Vergleichsoperatoren wie >, >=, !=, etc. können verwendet werden.

Beispiel

Screenshot

Hier ist zu sehen, wie ein befülltes Profil aussehen kann