etm-powersync-app/test/fixtures/schema_hems75_v2.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

127 lines
3.2 KiB
JSON

{
"_source": "JSONRPC.Introspect sur 192.168.1.75, 2026-08-25, APRÈS déploiement du lot télémétrie.",
"_note": "nymea rejette toute clé inconnue (jsonvalidator.cpp:143). Liste exhaustive de ce que la box accepte et renvoie.",
"SetLoadConfig_params": {
"loadConfigs": [
{
"adapter": "String",
"enabled": "Bool",
"id": "String",
"label": "String",
"mode": "String",
"o:domain": "String",
"o:maxPowerW": "Uint",
"o:minOffS": "Uint",
"o:minOnS": "Uint",
"o:needs": {
"o:dailyDeadline": "String",
"o:minEnergyWhPerDay": "Uint"
},
"o:powerLevels": [
"Uint"
],
"o:relays": [
{
"powerW": "Uint",
"thingId": "String"
}
],
"o:sgReady": {
"o:minStateHoldS": "Uint",
"o:states": [
{
"estimatedPowerW": "Double",
"relays": [
"String"
],
"state": "Uint"
}
]
},
"priority": "Uint"
}
]
},
"GetLoadTelemetry_returns": {
"degradedMode": "Bool",
"loads": [
{
"allocatedW": "Double",
"available": "Bool",
"decision": {
"code": "String",
"params": "Variant"
},
"loadId": "String",
"o:faultCode": "String",
"o:lock": {
"kind": "String",
"remainingS": "Int"
},
"o:mechanism": {
"kind": "String",
"o:chargingEnabled": "Bool",
"o:currentA": "Double",
"o:estimatedPowerW": "Double",
"o:maxPowerW": "Double",
"o:maxStageW": "Double",
"o:percent": "Double",
"o:phaseCount": "Uint",
"o:pluggedIn": "Bool",
"o:setpointW": "Double",
"o:stageW": "Double",
"o:state": "Int"
}
}
],
"o:budget": {
"allocatedW": "Double",
"evReservedW": "Double",
"recreditedW": "Double",
"remainingW": "Double",
"surplusW": "Double"
},
"o:timestamp": "String"
},
"LoadTelemetryChanged_params": {
"degradedMode": "Bool",
"loads": [
{
"allocatedW": "Double",
"available": "Bool",
"decision": {
"code": "String",
"params": "Variant"
},
"loadId": "String",
"o:faultCode": "String",
"o:lock": {
"kind": "String",
"remainingS": "Int"
},
"o:mechanism": {
"kind": "String",
"o:chargingEnabled": "Bool",
"o:currentA": "Double",
"o:estimatedPowerW": "Double",
"o:maxPowerW": "Double",
"o:maxStageW": "Double",
"o:percent": "Double",
"o:phaseCount": "Uint",
"o:pluggedIn": "Bool",
"o:setpointW": "Double",
"o:stageW": "Double",
"o:state": "Int"
}
}
],
"o:budget": {
"allocatedW": "Double",
"evReservedW": "Double",
"recreditedW": "Double",
"remainingW": "Double",
"surplusW": "Double"
},
"o:timestamp": "String"
}
}