Her tarif tek bir kuraldır. Kullanmak için profilin Alarm kuralları sekmesini açın, Kural ekle > Eşik kuralı (veya Cihaz çevrimdışı kuralı) seçeneğine tıklayın, JSON sekmesine geçin, yapıştırın, anahtarları ve sayıları ayarlayın, Listeye ekle düğmesine tıklayın, ardından Kuralları kaydet düğmesine basın. Her anahtar, büyük-küçük harf dahil, cihazlarınızın gönderdiği ile birebir eşleşmelidir.
1. Sıcaklık merdiveni
Aynı anahtarda üç önem derecesi; doğru olan en yüksek seviye geçerli olur.
{
"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. Tek kural, cihaz başına bir limit
Her cihav, sunucu veya paylaşılan özellik olarak kendi limitini maxTempThreshold adıyla taşır. Bu özelliği olmayan cihazlar kontrol edilmez.
{
"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. Limitin altında uyarı bandı
Uyarı özelliği ile kesin limit arasındaki bir uyarı; limitin üzerini 2. tarif kapsar.
{
"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. Düşük pil
Histerezis 3, pil güneşte toparlanırken alarmın sürekli açılıp kapanmasını önler.
{
"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. Basınç düşükken kapı açık
Ayrı mesajlarla gelebilen iki anahtar. Kural, her birinin en son değerini kullanır.
{
"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. Kapı çok uzun süre açık
{
"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
}
Süre cihaz zamanına göredir: kapı açık kaldığı sürece cihazın veri göndermesi gerekir.
7. Sıfırlanana kadar devam eden sızıntı
Sensör kuruduğunda alarm temizlenmez; leak_reset beklenir.
{
"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. Kontrolörden gelen hata kodu
Sıfır olmayan her alarm kodu, kod başlıkta yer alır.
{
"type": "ups_fault",
"title": "{{device.name}}: UPS alarm code {{value}}",
"severities": [ { "severity": "MAJOR", "condition": { "key": "ups_a_alarm_code", "op": "!=", "value": 0 } } ],
"enabled": true
}
Metin durumu için metinle birlikte == kullanın: { "key": "state", "op": "==", "value": "fault" }.
9. Titreyen sensör
Anahtarlama noktası civarında sürekli gidip gelen bir seviye şalteri. Okuma sayısına göre gecikme uygulayın, ayrıca daha sıkı bir sönümleme ekleyin.
{
"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. 15 dakika sonra çevrimdışı, hatırlatmalarla
{
"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
}
Alarm açık ve kimse onaylamadığı sürece hatırlatmalar her saat gönderilir.
Bildirim ekleme
Her tarif bir notify bloğu alır:
"notify": {
"recipients": [ { "kind": "role", "role": "OWNER" }, { "kind": "email", "email": "oncall@example.com" } ],
"minSeverity": "MAJOR",
"repeatEverySec": 1800
}
Bakınız Alarm bildirimleri ayrıntılı.
Yalnızca tek bir konu için
Kendi konularını yayınlayan cihazlar için, bir yaprağa "topic" ekleyin: { "key": "temp", "op": ">", "value": 60, "topic": "plant/line2/oven" }. Bakınız Alarm koşulları başvuru kılavuzu.

