Neu: Die KI-Firewall überwacht jedes Modul und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Alarmregel-Kochbuch

Zehn fertige Alarmregeln zum Einfügen in den JSON-Modus eines Profils – Temperaturstufen, Grenzwerte pro Gerät, Batterie, Türen, Leckagen, Fehler und Offline-Erkennung.

Jedes Rezept ist eine Regel. So verwenden Sie es: Öffnen Sie den Reiter Alarmregeln des Profils, klicken Sie auf Regel hinzufügen > Schwellenwertregel (oder Regel für Gerät offline), wechseln Sie zu JSON, fügen Sie ein, passen Sie Schlüssel und Zahlen an, klicken Sie auf Zur Liste hinzufügen und dann auf Regeln speichern. Jeder Schlüssel muss mit dem übereinstimmen, was Ihre Geräte senden, einschließlich der Groß- und Kleinschreibung.

1. Temperaturstufen

Drei Schweregrade für einen Schlüssel; der höchste zutreffende gewinnt.

{
  "type": "high_temperature",
  "title": "{{device.name}}: {{value}} °C ({{severity}})",
  "severities": [
    { "severity": "CRITICAL", "condition": { "key": "temperature", "op": ">", "value": 90 } },
    { "severity": "MAJOR", "condition": { "key": "temperature", "op": ">", "value": 80 } },
    { "severity": "WARNING", "condition": { "key": "temperature", "op": ">", "value": 70 } }
  ],
  "debounce": { "mode": "count", "raise": 2, "clear": 2 },
  "hysteresis": 2,
  "runbook": "Check cooling and airflow. Above 90 °C shut the unit down.",
  "enabled": true
}

2. Eine Regel, ein Grenzwert pro Gerät

Jedes Gerät trägt seinen eigenen Grenzwert als Server- oder Shared-Attribut maxTempThreshold. Geräte ohne dieses Attribut werden nicht geprüft.

{
  "type": "temp_over_limit",
  "title": "{{device.name}}: {{value}} °C, limit {{threshold}}",
  "severities": [
    { "severity": "MAJOR", "condition": { "key": "air_temp", "op": ">", "value": { "attribute": "maxTempThreshold" } } }
  ],
  "debounce": { "mode": "count", "raise": 2, "clear": 2 },
  "enabled": true
}

3. Warnbereich unterhalb des Grenzwerts

Eine Warnung zwischen einem Warnattribut und dem harten Grenzwert; Rezept 2 deckt Werte oberhalb des Grenzwerts ab.

{
  "type": "temp_warning_band",
  "title": "{{device.name}}: {{value}} °C, getting warm",
  "severities": [
    { "severity": "WARNING", "condition": { "all": [
      { "key": "air_temp", "op": ">", "value": { "attribute": "warnTempThreshold" } },
      { "key": "air_temp", "op": "<=", "value": { "attribute": "maxTempThreshold" } }
    ] } }
  ],
  "enabled": true
}

4. Niedriger Batteriestand

Hysterese 3 verhindert, dass der Alarm flackert, wenn sich die Batterie in der Sonne erholt.

{
  "type": "battery_low",
  "title": "{{device.name}}: battery {{value}} %",
  "severities": [
    { "severity": "MINOR", "condition": { "key": "battery", "op": "<", "value": 10 } },
    { "severity": "WARNING", "condition": { "key": "battery", "op": "<", "value": 20 } }
  ],
  "hysteresis": 3,
  "enabled": true
}

5. Tür offen bei niedrigem Druck

Zwei Schlüssel, die in getrennten Nachrichten eintreffen können. Die Regel verwendet den jeweils neuesten Wert.

{
  "type": "door_open_low_pressure",
  "title": "{{device.name}}: door open with low pressure",
  "severities": [
    { "severity": "MAJOR", "condition": { "all": [
      { "key": "door_open", "op": "==", "value": true },
      { "key": "pressure", "op": "<", "value": 1.2 }
    ] } }
  ],
  "debounce": { "mode": "duration", "raise": 60, "clear": 30 },
  "enabled": true
}

6. Tür zu lange offen

{
  "type": "door_open_long",
  "title": "{{device.name}}: door open for over 5 minutes",
  "severities": [ { "severity": "WARNING", "condition": { "key": "door_open", "op": "==", "value": true } } ],
  "debounce": { "mode": "duration", "raise": 300, "clear": 1 },
  "enabled": true
}

Die Zeit ist Gerätezeit: Das Gerät muss melden, während die Tür offen bleibt.

7. Leckage, die bis zum Zurücksetzen bestehen bleibt

Der Alarm wird nicht gelöscht, wenn der Sensor trocknet; er wartet auf leak_reset.

{
  "type": "water_leak",
  "title": "{{device.name}}: water leak",
  "severities": [ { "severity": "CRITICAL", "condition": { "key": "water_leak", "op": "==", "value": true } } ],
  "clear": { "key": "leak_reset", "op": "==", "value": true },
  "runbook": "Close the main valve and find the leak. The alarm clears when the device reports leak_reset = true, or clear it by hand.",
  "enabled": true
}

8. Fehlercode von einer Steuerung

Jeder Alarmcode ungleich null, wobei der Code im Titel steht.

{
  "type": "ups_fault",
  "title": "{{device.name}}: UPS alarm code {{value}}",
  "severities": [ { "severity": "MAJOR", "condition": { "key": "ups_a_alarm_code", "op": "!=", "value": 0 } } ],
  "enabled": true
}

Verwenden Sie für einen Textstatus == mit dem Text: { "key": "state", "op": "==", "value": "fault" }.

9. Ein flackernder Sensor

Ein Füllstandsschalter, der nahe seines Schaltpunkts prellt. Entprellung über Messwerte, zusätzlich eine strengere Dämpfung.

{
  "type": "tank_high_level",
  "title": "{{device.name}}: tank level high",
  "severities": [ { "severity": "MAJOR", "condition": { "key": "level_high", "op": "==", "value": true } } ],
  "debounce": { "mode": "count", "raise": 3, "clear": 5 },
  "dampening": { "maxTransitions": 4, "windowSec": 1800, "holdSec": 900 },
  "enabled": true
}

10. Offline nach 15 Minuten, mit Erinnerungen

{
  "type": "device_offline",
  "title": "{{device.name}} is offline",
  "inactivity": { "afterSec": 900, "severity": "MAJOR" },
  "notify": {
    "recipients": [ { "kind": "role", "role": "ADMIN" }, { "kind": "email", "email": "noc@example.com" } ],
    "repeatEverySec": 3600
  },
  "enabled": true
}

Erinnerungen werden stündlich versendet, solange der Alarm offen ist und niemand ihn bestätigt hat.

Benachrichtigungen hinzufügen

Jedes Rezept nimmt einen notify-Block auf:

"notify": {
  "recipients": [ { "kind": "role", "role": "OWNER" }, { "kind": "email", "email": "oncall@example.com" } ],
  "minSeverity": "MAJOR",
  "repeatEverySec": 1800
}

Siehe Alarmbenachrichtigungen im Detail.

Nur für ein Topic

Für Geräte, die eigene Topics veröffentlichen, fügen Sie "topic" zu einem Blattknoten hinzu: { "key": "temp", "op": ">", "value": 60, "topic": "plant/line2/oven" }. Siehe Referenz der Alarmbedingungen.