Przejdź do treści

Energy Policy Engine i tryb wyspowy

Cel

Policy Engine przekłada dane energetyczne na wcześniej zatwierdzony plan. Nie jest regulatorem BMS ani systemem safety. Własna awaria modułu nie może pozbawić obiektu zabezpieczeń elektrycznych.

Odpowiedzialności

  • klasyfikacja zdarzenia: chwilowy zanik, długie odcięcie, zła jakość, błąd UPS/BMS;
  • prognoza czasu z konserwatywnym marginesem;
  • zamrożenie nowych jobów i wydanie checkpoint deadline;
  • kolejność load shedding;
  • start etapowy po stabilizacji;
  • pełny audyt decyzji i odstępstw ręcznych.

Kontrakty

Wejście musi zawierać świeżość i wiarygodność sensora. Wyjście jest podpisanym energy_plan z progiem SOC, listą urządzeń, akcją, timeoutem, warunkiem abort i wymaganym approval. Worker odpowiada checkpointed, shutdown, refused lub unreachable.

Uprawnienia

A3 obejmuje działania odwracalne: blokadę kolejki, power limit, drain i failover w zapisanych progach. A1 obejmuje odłączenie całego węzła, zmianę PDU i przejście na alternatywne źródło, jeśli nie jest to automatyka elektryczna. Agent nie zmienia progów BMS, interlocków, maksymalnych prądów ani reguł bezpieczeństwa.

Stany Energy Policy Engine

  1. ENERGY_NORMAL — grid stabilny, wszystkie zatwierdzone profile dostępne.
  2. ENERGY_GRID_FAILURE — awaria potwierdzona; blokada nowych ciężkich jobów i checkpoint.
  3. ENERGY_ECONOMY — power limits, niższy FPS kamer, zatrzymanie renderu i batch.
  4. ENERGY_CRITICAL — pozostają Voice/Automation/Management, jedna replika AI i niezbędny storage.
  5. ENERGY_SHUTDOWN — bezpieczne zamknięcie baz, storage i workerów według deadline.
  6. ENERGY_GENERATOR — praca ze źródła generatorowego przez zatwierdzony sterownik i interlock.
  7. ENERGY_RECOVERY — histereza, synchronizacja czasu, deduplikacja outbox i etapowy start.

Generator nie jest uruchamiany przez swobodną decyzję modelu. Norbi może wydać typowane żądanie tylko do certyfikowanego sterownika, gdy spełnione są interlocki, zgoda, stan paliwa i warunki wentylacji.

stateDiagram-v2
    ENERGY_NORMAL --> ENERGY_GRID_FAILURE: grid failure confirmed
    ENERGY_GRID_FAILURE --> ENERGY_ECONOMY: outage persists
    ENERGY_ECONOMY --> ENERGY_CRITICAL: SOC below threshold
    ENERGY_CRITICAL --> ENERGY_SHUTDOWN: reserve deadline
    ENERGY_GRID_FAILURE --> ENERGY_GENERATOR: interlocks + approval
    ENERGY_ECONOMY --> ENERGY_GENERATOR: generator available
    ENERGY_GENERATOR --> ENERGY_RECOVERY: grid stable
    ENERGY_SHUTDOWN --> ENERGY_RECOVERY: source stable
    ENERGY_CRITICAL --> ENERGY_RECOVERY: source stable
    ENERGY_RECOVERY --> ENERGY_NORMAL: time + audit + queues reconciled
    ENERGY_RECOVERY --> ENERGY_GRID_FAILURE: instability returns

Analiza powrotu łączności

Outbox nie jest wysyłany w ciemno. Każda pozycja jest sprawdzana pod kątem terminu, idempotency key i zmiany kontekstu. Stara rezerwacja, wiadomość lub zmiana grafiku może wymagać ponownego zatwierdzenia. Zdarzenia telemetryczne są deduplikowane, a luki oznaczane.

Walidacja, błędy i fallback

Testy obejmują fałszywy niski SOC, utratę sensora, powrót zasilania na 30 sekund, brak receipt checkpointu, niespójny czas i pełne rozładowanie. Przy niepewnych danych system przyjmuje krótszy runtime. Ręczny przełącznik awaryjny oraz lokalne zabezpieczenia mają pierwszeństwo.