etm-powersync-app/test/fixtures/loadtelemetry_hems75.json
Patrick Schurig 4ade3e4151 tools(rpc): sondes JSON-RPC + fixtures du lot télémétrie déployé sur .75
Range dans tools/rpc/ les sondes qui vivaient dans un scratchpad volatil :
probe (appel RPC quelconque), notifications (abonnement + comptage),
locale et locale_diff (comportement o:locale et son effet réel),
loadconfig_roundtrip (aller-retour neutre §7-1). README avec usages.

loadconfig_roundtrip est le SEUL qui écrit sur la box : garde --yes ajouté
pour qu'un SetLoadConfig ne parte jamais par réflexe de flèche haut.

analysis_options : tools/** et les classes l10n générées sortent de
l'analyse — flutter analyze revient à 25 issues (ligne de base).

Fixtures : le lot plugin télémétrie EST déployé sur .75 depuis ce matin
(20 méthodes / 14 notifications). Capturé avant que ça ne se reperde :
- loadtelemetry_hems75.json : dump réel de GetLoadTelemetry
- loadconfig_hems75_v2.json : GetLoadConfig avec la clé 'domain'
- schema_hems75_v2.json     : schémas SET + télémétrie introspectés

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-25 14:40:03 +02:00

57 lines
1.6 KiB
JSON

{
"_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"
}
}