Status Register (32-bit) Sözlüğü
Bu sayfa, cihazdan gelen STATUS alanının 32-bit bitmask yapısını ve backend çözümleme modelini tanımlar.
Amaç:
- Cihazın anlık durumunu tek integer alandan deterministik çözmek
- Event/rule/alert katmanlarında aynı sözlüğü kullanmak
- Bit yorumunu tek kaynakta tutmak
Kaynak
Bit tanımları PowerStat register yapısına göre alınmıştır.
Bit Haritası
| Bit | Alan | Açıklama |
|---|---|---|
| 31 | STATUS_SYSTEM | Sistem aktif/genel sistem durumu |
| 30 | STATUS_SD | SD/depolama durumu |
| 29 | STATUS_SOURCE | Besleme/kaynak durumu |
| 28 | STATUS_AUTOSTART | Otomatik başlatma durumu |
| 27 | - | Rezerve |
| 26 | STATUS_I_IMBALANCE | Akım dengesizliği alarmı |
| 25 | STATUS_V_IMBALANCE | Gerilim dengesizliği alarmı |
| 24 | STATUS_FQ_HIGH | Frekans yüksek |
| 23 | STATUS_FQ_LOW | Frekans düşük |
| 22 | STATUS_I_HIGH | Akım yüksek |
| 21 | STATUS_V_HIGH | Gerilim yüksek |
| 20 | STATUS_V_LOW | Gerilim düşük |
| 19 | - | Rezerve |
| 18 | - | Rezerve |
| 17 | STATUS_PCBT_HIGH | PCB sıcaklık yüksek |
| 16 | STATUS_PCBT_LOW | PCB sıcaklık düşük |
| 15 | - | Rezerve |
| 14 | - | Rezerve |
| 13 | STATUS_P_RISE | Güç yükseliş olayı |
| 12 | STATUS_P_DROP | Güç düşüş olayı |
| 11 | STATUS_P_HIGH | Güç yüksek |
| 10 | STATUS_P_LOW | Güç düşük |
| 9 | - | Rezerve |
| 8 | STATUS_SEMI_AUTO | Yarı otomatik mod |
| 7 | STATUS_INPUT | Giriş durumu |
| 6 | STATUS_FAULT_SA | SA fault |
| 5 | STATUS_FAULT_MP | MP fault |
| 4 | STATUS_FAULT_TH | TH fault |
| 3 | STATUS_PHASE_T | T faz durumu |
| 2 | STATUS_PHASE_S | S faz durumu |
| 1 | STATUS_PHASE_R | R faz durumu |
| 0 | STATUS_PUMP | Pompa durumu |
Backend Decode Kuralı
- Girdi: unsigned 32-bit integer (
STATUS) - Çıktı:
status_flags(bit->bool map)status_codes_active(aktif bit isim listesi)status_severity(opsiyonel sınıflama: info/warn/critical)
Önerilen decode formülü:
flag(bit) = ((status_value >> bit) & 1) == 1
Örnek Çözümleme
{
"status_value": 1073741824,
"status_flags": {
"STATUS_SD": true,
"STATUS_PUMP": false,
"STATUS_V_HIGH": false
},
"status_codes_active": ["STATUS_SD"],
"status_severity": "warn"
}
Publish Register Bit Haritası (Rule Publish Gate)
publish_bit alanı Rule Servisi'nde mesaj yayın izni için kullanılır.
publish_bit = 99-> her durumda publish (override)publish_bit = 0..31->PUBLISH_STATUSiçindeki ilgili bite bakılır
Önerilen değerlendirme:
- bit
1ise dış mesaj yayınlanır - bit
0ise yalnız audit/log tutulur (mesaj gönderilmez)
Not: PUBLISH_STATUS bit sırası, bu sözlükteki status bit sırasıyla aynı indeks düzenini kullanır.
Entegrasyon Noktaları
- Ingest:
STATUSham değeri alınır, decode edilipmeta.status_flagsüretilebilir. - Stream/Raw Writer: ham integer korunur, decode çıktısı opsiyonel yan alan olarak taşınır.
- Synthesis/Window: status bazlı kalite flag veya exclusion kuralı uygulanabilir.
- Observer: aktif fault bitlerinden operasyon alarmı üretebilir.
Saklama Önerisi
- Ham değer:
STATUS(integer) her zaman saklanmalı. - Decode map: JSON olarak saklanabilir (
status_flags), fakat tekrar üretilebilir olduğu için opsiyonel. - Uzun vadede rapor için günlük aktif-bit sayacı tutulabilir (
status_daily_summary).
Sürümleme
- Register değişirse
status_register_versionartırılmalıdır. - Event payload içinde önerilen alan:
data.status_register_version
Bu sayfa, status register yorumunda tek doğruluk kaynağıdır.