Capteur de charge : origine explicite par libelle (incident 25/09, batterie publiee en solaire)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
This commit is contained in:
Tallagrand Thierry
2026-09-25 12:05:04 +02:00
parent 13d9640130
commit beed8028ca
3 changed files with 65 additions and 6 deletions

View File

@@ -602,5 +602,21 @@ deja ailleurs (controleur EVCS), l'agent la RELAIE, il ne la recalcule jamais.
Limite connue : si le service d'historisation meurt, les quatre capteurs se
figent ; l'agent verifie `sensor.evcs_historisation_heartbeat`.
### Incident du matin 25/09 — le capteur de charge disait « solaire » la nuit
Le proprio : « l'agent a delire ce matin sur la charge voiture ». Cause = MON
capteur, pas l'agent. `chargeSolaire` classait toute source qui ne commence pas
par « Reseau » comme solaire : de **01:25 a 06:00**, `sensor.evcs_charge_solaire`
a publie `en_charge_solaire` alors que la JEEP chargeait sur la BATTERIE
(« Assistance batterie nuit », puis reseau force de 06:02 a 06:42 ; session
7,9 kWh dont 2,2 reseau). L'agent a relaye fidelement une fausse verite.
Correctif : correspondance EXPLICITE libelle par libelle de `sourceModeLabel`
(HA_SERVICE_CALLS_OUTPUT.js), nouveaux etats `en_charge_batterie`,
`en_charge_sonde`, et `en_charge` sans origine pour un libelle inconnu. Test
garde-fou qui lit la table DANS le code du controleur : un libelle ajoute la-bas
fait tomber les tests (mutation verifiee). Tests 32/32.
⚠️ Lecon : un capteur-verdict deplace la fragilite de la fiche vers le code ; le
code doit donc etre teste sur TOUT le domaine d'entree (ici les sept libelles),
pas seulement sur les cas du banc.
---
*Document mis a jour le : 25/09/2026 — agent vocal : la partie energie relaie des capteurs-verdict (banc 15/15), cadrage multi-agents*
*Document mis a jour le : 25/09/2026 — capteur de charge corrige (origine explicite par libelle), incident du matin*