Ein Überwachungssystem, das ständig Fehlalarm schlägt, ist schlimmer als keines. Alarmregeln haben drei Einstellungen gegen Rauschen. Debounce zwingt eine Bedingung, sich zu bewähren, bevor der Alarm öffnet oder schließt. Hysterese legt einen Abstand auf der Löschseite fest. Dämpfung hält einen Alarm, der ständig umschaltet.
Debounce
| Feld (JSON) | Formularbezeichnung | Bereich | Standard |
|---|---|---|---|
debounce.mode | Zählen in: Messwerte in Folge (count) oder Sekunden (Gerätezeit) (duration) | count | |
debounce.raise | Öffnen nach dieser Anzahl Messwerte in Folge / Öffnen, wenn wahr für (Sekunden) | 1 bis 86,400 | 1 |
debounce.clear | Schließen nach dieser Anzahl Messwerte in Folge / Schließen, wenn falsch für (Sekunden) | 1 bis 86,400 | 1 |
Nach Messwerten
Der Alarm öffnet beim raise-ten Messwert in Folge, dessen Bedingung wahr ist, und schließt beim clear-ten Messwert in Folge, dessen Bedingung falsch ist. Ein Messwert in der Gegenrichtung setzt den Zähler zurück. Mit den Standardwerten 1 und 1 folgt der Alarm jedem Messwert.
Nur Messwerte mit einem der Schlüssel der Regel zählen. Eine Nachricht mit anderen Schlüsseln ist für diese Regel kein Messwert.
Nach Gerätezeit
Der Alarm öffnet, wenn die Bedingung ununterbrochen raise Sekunden lang wahr war, gemessen anhand der Zeitstempel der Messwerte und nicht an der Uhr des Servers. Das Schließen erfolgt symmetrisch.
Wichtig
Die Zeit schreitet nur voran, wenn ein Messwert eintrifft. Meldet ein Gerät alle 10 Minuten, wird „wahr für 60 Sekunden“ mit dem zweiten wahren Messwert erreicht, 10 Minuten später. Sendet das Gerät nicht mehr, wird nichts entschieden, bis es wieder sendet. Lassen Sie Geräte ihren Zustand periodisch wiederholen oder verwenden Sie für Stille einen Offline-Alarm.
Beispiel: „Tür offen für 120 s“ ist door_open == true mit Sekunden (Gerätezeit), Öffnen bei 120.
Schweregradänderungen
Innerhalb eines offenen Alarms wartet eine Änderung des Schweregrades auf dasselbe Debounce: Ein Anstieg wartet auf die Anzahl oder Zeit zum Öffnen, ein Abfall wartet auf die Anzahl oder Zeit zum Schließen.
Hysterese
hysteresis (Formular: Hysterese (Abstand zum Schließen)) ist eine absolute Zahl, 0 oder größer. Sie erweitert den Schwellenwert auf der Schließseite von Größenvergleichen (>, >=, <, <=):
| Bedingung | Hysterese | Öffnet | Schließt |
|---|---|---|---|
temperature > 80 | 3 | über 80 | bei 77 oder darunter |
battery < 20 | 5 | unter 20 | bei 25 oder darüber |
pressure >= 6 | 0.2 | bei 6 oder darüber | unter 5.8 |
Hysterese gilt nicht für == und != und wird ignoriert, wenn die Regel eine explizite clear-Bedingung hat (diese Bedingung entscheidet). Ein Wert, der um den Schwellenwert schwankt, öffnet und schließt den Alarm daher nicht bei jedem Messwert.
Dämpfung
Die Dämpfung gilt für jede Schwellenwertregel. Ohne einen dampening-Block werden die Standardwerte verwendet:
| Feld | Bedeutung | Bereich | Standard |
|---|---|---|---|
maxTransitions | Erlaubte Öffnungen und Schließungen innerhalb des Fensters | 2 bis 100 | 4 |
windowSec | Das Zeitfenster | 10 bis 86,400 s | 600 |
holdSec | Wie lange die Bedingung falsch bleiben muss, bevor ein gehaltener Alarm schließt | 1 bis 86,400 s | 300 |
Würde ein Schließen mehr als maxTransitions Öffnungen und Schließungen innerhalb von windowSec ergeben, wird das Schließen gehalten: Der Alarm bleibt offen und wird als Flapping markiert (Zeitleiste: Flapping: Clears zurückgehalten). Er schließt erst, nachdem seine Bedingung holdSec Sekunden Gerätezeit lang falsch war.
Mit den Standardwerten gilt: Ein Alarm, der zweimal innerhalb von 10 Minuten geöffnet und geschlossen wurde und ein drittes Mal öffnet, wird beim nächsten Schließen offen gehalten, bis die Bedingung 5 Minuten lang falsch war.
Eigene Werte setzen Sie im JSON-Modus:
"dampening": { "maxTransitions": 6, "windowSec": 1800, "holdSec": 600 }
Ausgearbeitete Beispiele
Ein störanfälliger Temperaturfühler. Messwerte alle 10 s springen um ±1 °C um 80.
"severities": [ { "severity": "MAJOR", "condition": { "key": "temperature", "op": ">", "value": 80 } } ],
"debounce": { "mode": "count", "raise": 3, "clear": 3 },
"hysteresis": 2
Öffnet beim dritten Messwert in Folge über 80, schließt beim dritten Messwert in Folge bei 78 oder darunter.
Eine Tür, die kurz offen stehen darf.
"severities": [ { "severity": "WARNING", "condition": { "key": "door_open", "op": "==", "value": true } } ],
"debounce": { "mode": "duration", "raise": 300, "clear": 1 }
Öffnet, wenn die Tür laut Uhr des Geräts 5 Minuten lang offen war (das Gerät muss melden, während die Tür offen ist). Im Zeitmodus entscheidet ein einzelner Messwert nie: Der Alarm schließt mit dem zweiten geschlossenen Messwert, frühestens 1 Sekunde nach dem ersten.
Eine Pumpe, die absichtlich taktet. Eine Regel auf einen Druck, der bei jedem Pumpenzyklus abfällt, würde flattern. Erhöhen Sie maxTransitions oder holdSec, damit das erwartete Takten nicht alarmiert, und halten Sie das Debounce kurz, damit ein echter Fehler weiterhin schnell erkannt wird.
Werte wählen
| Gerät meldet | Empfohlenes Debounce |
|---|---|
| Alle paar Sekunden | count 3 bis 5 oder duration 30 bis 60 |
| Jede Minute | count 2 bis 3 |
| Alle 10 bis 60 Minuten | count 1 bis 2. Eine duration-Regel braucht mindestens ein Meldeintervall. |
| Nur bei Änderung | count 1; verwenden Sie die eigene Verzögerung des Geräts oder einen Auslöser „bleibt so für“ auf der Regelkarte |

