Skip to main content

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ı

BitAlanAçıklama
31STATUS_SYSTEMSistem aktif/genel sistem durumu
30STATUS_SDSD/depolama durumu
29STATUS_SOURCEBesleme/kaynak durumu
28STATUS_AUTOSTARTOtomatik başlatma durumu
27-Rezerve
26STATUS_I_IMBALANCEAkım dengesizliği alarmı
25STATUS_V_IMBALANCEGerilim dengesizliği alarmı
24STATUS_FQ_HIGHFrekans yüksek
23STATUS_FQ_LOWFrekans düşük
22STATUS_I_HIGHAkım yüksek
21STATUS_V_HIGHGerilim yüksek
20STATUS_V_LOWGerilim düşük
19-Rezerve
18-Rezerve
17STATUS_PCBT_HIGHPCB sıcaklık yüksek
16STATUS_PCBT_LOWPCB sıcaklık düşük
15-Rezerve
14-Rezerve
13STATUS_P_RISEGüç yükseliş olayı
12STATUS_P_DROPGüç düşüş olayı
11STATUS_P_HIGHGüç yüksek
10STATUS_P_LOWGüç düşük
9-Rezerve
8STATUS_SEMI_AUTOYarı otomatik mod
7STATUS_INPUTGiriş durumu
6STATUS_FAULT_SASA fault
5STATUS_FAULT_MPMP fault
4STATUS_FAULT_THTH fault
3STATUS_PHASE_TT faz durumu
2STATUS_PHASE_SS faz durumu
1STATUS_PHASE_RR faz durumu
0STATUS_PUMPPompa durumu

Backend Decode Kuralı

  • Girdi: unsigned 32-bit integer (STATUS)
  • Çıktı:
    1. status_flags (bit->bool map)
    2. status_codes_active (aktif bit isim listesi)
    3. 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_STATUS içindeki ilgili bite bakılır

Önerilen değerlendirme:

  • bit 1 ise dış mesaj yayınlanır
  • bit 0 ise 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: STATUS ham değeri alınır, decode edilip meta.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_version artı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.