diff --git a/HANDOFF.md b/HANDOFF.md index 74226ca..0093bc7 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -7501,3 +7501,66 @@ etre avancee/reculee sans risque de fantome. --- *Document mis a jour le : 24/09/2026 — rapport de nuit : integration ponderee + fenetre plafonnee (fin de l'extrapolation), envoi decale a 07:30 pour un total complet* + +## 77. Session du 24/09/2026 — Banc de test PV pour l'agent vocal OpenClaw + +### Contexte +Le proprietaire pilote OpenClaw en vocal depuis son iPhone et veut le faire +travailler la gestion PV. Coordination avec la session SPARK (qui tient +OpenClaw) : moi la source de verite et les attendus (j'ai PostgreSQL/InfluxDB et +l'historique HA), SPARK le harnais et la fiche de l'agent. Deux etages, comme +pour le concierge (§65/§66) : je ne touche pas a OpenClaw, SPARK ne fabrique pas +d'attendu. + +### La source de verite d'abord (consignee MANUEL §0) +Production PV reelle du jour = SOMME des trois `*_yield_today` par chargeur +(airtria_mppt1 + mppt_450_200_hq2449yr9pt + v1), remis a zero chaque nuit. Verifie +le 24/09 (45,1 kWh) et recoupe par l'integrale de `victron_pv_power_system` +(44,0). Trois pieges ecartes : `energy_production_today` = PREVISION (Forecast. +Solar), `gx_device_pv_energy` = compteur PARTIEL et gelable, `*_d_hier` = la +veille. + +### Le banc — 9 gammes, snapshots reels figes + attendus +Modele : `campagne-conseiller.mjs` (§63). Chaque gamme = fiche de l'agent + +snapshot capteurs fige + question, note sur >=3 passages. Snapshots batis sur +mes chiffres reels (jamais inventes), tires de la table `mesure` (puissances, +SOC, courant, import) et de l'historique HA (`yield_today`, modes MPPT, +prevision). Les 4 competences : +- **Lire la bonne source** : G1 production du jour (45,1 = somme yields, pas la + prevision) · G2 reste a produire (26,8 = `energy_production_today_remaining`, + le SEUL cas ou la prevision est juste). +- **Discriminer** : G3 bridage batterie pleine (SOC 97, +1 A, 7 MPPT + `voltage_current_limited`, import nul -> ecretage normal) · G4 vraie baisse + (PV quasi identique a G3 mais SOC 69, +25 A, 7 MPPT `mppt_active` -> ressource + limitee, rien de gache) · G5 substitution anormale (MPPT bridés MAIS import ~ + conso -> le reseau remplace le solaire, SIGNALER). +- **Decider** : G6 charge voiture refusee sur excedent negatif (-1854 W, + batterie en decharge) · G7 reste-t-il du solaire a capter (un MPPT limited -> + oui, ressource refusee dispo). +- **Hygiene donnees** : G8 compteur GX gele (last_changed vieux -> ne pas citer) + · G9 `yield_today` unavailable (production partielle, ne pas sommer un trou). + +### Ce que le banc a TROUVE (sa raison d'etre) +**G5 a echoue 0/3 au premier tour.** La regle de substitution etait pourtant +dans la fiche, mais l'agent concluait « bridage normal » sur batterie pleine + +MPPT bridés SANS verifier l'import reseau. SPARK a reordonne la fiche pour forcer +l'import en controle nº1 (« jamais conclure bridage sans avoir verifie que +l'import ~ 0 ») -> G5 = 3/3, G3/G4 sans regression. C'est le cas qui verrouille +la distinction bridage/substitution — celle qui a coute des mois d'observation +au proprietaire (§26-§31). Banc complet : **9/9 sur 3 passages**. + +### Statut des snapshots (pour un futur re-figeage) +Reels a figer : G1, G2, G3, G4, G6, G7 (dates/valeurs dans les messages a SPARK +du 24/09). G5 = valeurs reelles du 27/08 (hors table `mesure`, anterieures au +04/09) mais comportement CORRIGE depuis le 31/08 -> cas d'apprentissage, ne se +reproduit plus. G8/G9 = synthetiques d'hygiene. Le banc extrait la fiche live +d'AGENTS.md d'OpenClaw a chaque run : toute evolution de la fiche est re-testee. + +### Capteurs de discrimination (rappel, tous lus par l'agent) +Les 7 `*_operation_mode` (v1, airtria_mppt1, mppt_450_200 device + 4 trackers), +`victron_battery_soc`, `victron_battery_current` (signe = sens), +`victron_consumption_power_l1`, `victron_grid_power_l1`, `victron_pv_power_system`. +Regle-cle : bridage NORMAL ⇒ import nul ; substitution ANORMALE ⇒ import ~ conso. + +--- +*Document mis a jour le : 24/09/2026 — banc PV 9/9 pour OpenClaw (source de verite + discrimination bridage/vraie baisse/substitution), la source vit dans MANUEL §0*