From 5fdef887acfcb8adb420200d946cd3225833f6b2 Mon Sep 17 00:00:00 2001 From: Tallagrand Thierry Date: Sat, 26 Sep 2026 12:40:22 +0200 Subject: [PATCH] =?UTF-8?q?HANDOFF=20=C2=A780=20:=20faux=20incident=20rese?= =?UTF-8?q?au=2007:24,=20evcs=5Fimport=5Fjour=5Fkwh=20et=20evcs=5Freseau?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_011xd7aRDEChdShwsECohnDN --- HANDOFF.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/HANDOFF.md b/HANDOFF.md index 82d8247..7ed2239 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -705,3 +705,54 @@ en reference (« un exercice de style »). --- *Document mis a jour le : 26/09/2026 — pack 1 sous surveillance cellule, fiche de l'agent a 25 414 caracteres* + +## 80. Session du 26/09/2026 (midi) — « Capteur réseau bloqué à 7h24 » : ce n'était pas une panne + +### Le faux incident +Ce matin, l'agent vocal (via SPARK) a annoncé « capteur réseau bloqué à 7h24, conso +EDF indisponible ». SPARK l'a d'abord cru réel. En fait, le contacteur s'était ouvert +à 07:24:03, à la fin des heures creuses : `switch.edf_general_ok_switch` = off, +`victron_ac_in1_available` = 0, `active_ac_input` = not_connected. SPARK a lu ces +valeurs, l'hypothèse est donc confirmée. HA ne date une valeur qu'à son CHANGEMENT : +un 0 légitime garde le `last_changed` de l'ouverture. Le proprio voulait juste le +chiffre, « Depuis réseau 0,8 kWh » de VRM. Sa règle : **l'agent vocal sert à lui +éviter d'ouvrir VRM, il doit donner la QUANTITÉ, pas un diagnostic.** + +### Ce qui a été construit (tests diagnostics 37 -> 55, mutations qui mordent) +- **`sensor.evcs_import_jour_kwh`** : kWh importés d'EDF depuis minuit. **Le + compteur du contacteur EDF fait foi** (`edf_general_ok_energie_totale`, Tuya, + 0,01 kWh) : premier relevé live 0,8 = VRM. Les compteurs AC-in du MultiPlus + (`..._ac_in_1_to_ac_out` + `..._to_inverter`) donnaient 0,7 : ils avancent + apparemment par pas de 0,1 kWh. Ils restent en recoupement (`victron_kwh`) et en + repli (`statut repli_victron`, « environ »). Valeur de minuit lue une fois par + jour dans l'historique HA. Remise à zéro -> repli ou indisponible, jamais un + import négatif. Les trois compteurs entrent aussi dans la table `mesure` (le + manque était noté au §76). +- **`sensor.evcs_reseau`** : raccordement réseau qui tient compte du contacteur. + États : `non_raccorde` (contacteur ouvert, normal) / `raccorde` / `etablissement` + (moins de `evcs_grid_settle_seconds`, 180 s) / `mesure_muette` (contacteur fermé + ET ac_in 0, ou puissance muette, ou puissance inchangée depuis plus de 10 min, + valeur PROVISOIRE) / `incoherent` (contacteur ouvert mais réseau vu) / + `indetermine`. ⚠️ Ne jamais juger une mesure réseau sur son seul âge : ce serait + une fausse panne tous les matins à 07:24. +- Commits `7a5ab7a`, `4f5403a`, `63d9366` ; conteneur d'historisation redémarré à + 12:32 (journal propre). + +### Côté SPARK +- Fiche : l'import de la nuit se lit dans `evcs_bilan_nuit.reseau_importe_kwh` + (Gimport 5/5, avec le piège du 0 figé dans le snapshot). `evcs_reseau` est câblé + (Greseau-non-raccorde et Greseau-mesure-muette 5/5, e2e E7 en validation). + Chaînes exactes d'explication transmises. +- **Reste à câbler** : `evcs_import_jour_kwh` (« aujourd'hui / à toute heure »). SPARK + attend de relire 0,8 après le recalage sur le compteur EDF. + +### Accès HA depuis Claude Code (non résolu) +Dans la session `2795797c`, les MCP `ha-get-state` et `pv-get-forecast` sont restés +en « needs authentication » (« SDK auth failed »), même après `/mcp` -> +Authenticate. Les mêmes adresses se connectent dans opencode, et `ha-set-helper` / +`grid-set-state` se connectent dans Claude Code. La lecture directe +`8123/api/states` avec `HA_TOKEN` a été refusée par le filtre de ce mode, alors que +la session `399fcf9e` l'avait utilisée 148 fois. + +--- +*Document mis a jour le : 26/09/2026 (~12:40) — import EDF du jour et raccordement reseau publies pour l'agent vocal*