HANDOFF §77 : banc de test PV pour l'agent vocal OpenClaw

9 gammes (snapshots reels figes + attendus), 9/9 sur 3 passages. Coordination
avec SPARK : moi la verite-terrain (PostgreSQL/InfluxDB/historique HA), SPARK le
harnais et la fiche OpenClaw. G5 a echoue 0/3 au premier tour et a fait corriger
la fiche (import reseau force en controle nº1 avant de conclure bridage) ->
verrouille la distinction bridage normal / substitution. Source de verite de la
production PV dans MANUEL §0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
Tallagrand Thierry
2026-09-24 23:36:42 +02:00
parent 614bc7cc63
commit 0a322b5c28

View File

@@ -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*