{ "_source": "dump réel HEMS 192.168.1.75, NymeaEnergy.GetLoadTelemetry, 2026-08-25 — lot plugin télémétrie déployé (20 méthodes / 14 notifications).", "_note": "Charge utile IDENTIQUE à la notification LoadTelemetryChanged. decision.code et faultCode sont des CODES avec params numériques, jamais des phrases : le rendu en français est à la charge de l'app (clés ARB). 'timestamp' = fin du dernier cycle d'arbitrage, omis tant qu'aucun cycle n'a tourné — c'est lui qui rend un arbitre figé détectable.", "telemetry": { "budget": { "allocatedW": 0, "evReservedW": 0, "recreditedW": 500, "remainingW": 229.29998779296875, "surplusW": -270.70001220703125 }, "degradedMode": false, "loads": [ { "allocatedW": 0, "available": true, "decision": { "code": "SURPLUS_INSUFFICIENT", "params": { "budgetW": 229 } }, "loadId": "chauffe-eau", "lock": { "kind": "minOff", "remainingS": 60 }, "mechanism": { "kind": "relay", "maxStageW": 3500, "stageW": 0 } }, { "allocatedW": 0, "available": true, "decision": { "code": "SG_NORMAL", "params": { "budgetW": 229 } }, "loadId": "pac-terrain", "lock": { "kind": "minStateHold", "remainingS": 240 }, "mechanism": { "estimatedPowerW": 0, "kind": "sgReady", "state": 2 } } ], "timestamp": "2026-08-25T12:37:00Z" } }