Ana içeriğe geç

rules

rules, bir rule group içindeki tekil koşulları tanımlar. Aynı alarm grubu içinde farklı tipte kurallar birlikte bulunabilir: üç faz akımının eşik üstünde olması, belirli bir register bitin aktif olması, belirli süredir stream gelmemesi gibi. Bu çeşitlilik tek bir tablo içinde rule.type enum'u ile ayrılır.

Bu tablo kuralın tanımını taşır; hangi cihazda aktif olduğunu taşımaz. Aynı kural setinin birçok cihaza bağlanabilmesi bu ayrımla mümkündür.

rule.type Enum Değerleri

DeğerAnlamı
thresholdTek anlık eşik kontrolü
durationBelirli süre eşik üstünde/altında kalma
register_transitionRegister eski-yeni değer geçişi
register_bitBelirli register bit kontrolü
stream_gapBelirli süre stream gelmemesi

Kolonlar

KolonTipNullAnlamı
idinthayırKural birincil anahtarı
group_idinthayırBağlı olduğu rule group; rule_groups.id ile ilişkili
rule_typerule.typehayırKural tipi
variable_idvarchar(30)evetDeğişken temelli kurallarda hedef değişken; modelde opsiyonel bırakılmıştır
operatorvarchar(10)evetKarşılaştırma operatörü: >, <, =, >=, <=
valuedecimal(18,6)evetEşik değeri
duration_secintevetSüreli kurallarda gereken süre (saniye)
old_register_valuevarchar(32)evetRegister transition: beklenen önceki değer
new_register_valuevarchar(32)evetRegister transition: beklenen yeni değer
register_bitintevetRegister bit kuralı için bit numarası
create_timetimestamphayırKayıt oluşturulma zamanı
update_timetimestamphayırSon güncelleme zamanı

Örnek Kayıtlar

{
"id": 1,
"group_id": 1,
"rule_type": "duration",
"variable_id": "IFUND_R",
"operator": ">",
"value": 45.000000,
"duration_sec": 300,
"old_register_value": null,
"new_register_value": null,
"register_bit": null,
"create_time": "2026-04-03T09:15:00Z",
"update_time": "2026-04-03T09:15:00Z"
}

Özet: Alarm grubu 1'in ilk faz kuralı. IFUND_R değeri 45 A üstünde 300 saniye kalırsa duration koşulu sağlanır.