Un demarrage se decide sur l excedent, pas sur la production

Le 03/09 a 19:44, voiture branchee : PV 758 W, maison 1202 W, batterie deja
a -12 A, nuit qui tombe. Le controleur a lance 1,6 kW de charge parce que
pv_start_min_w (700 W) est une puissance PV absolue : "758 >= 700, donc il y
a du soleil". L excedent valait -444 W. En 33 minutes la voiture a pris
0,897 kWh et la batterie en a rendu 1,479 kWh (SOC 94 -> 85), la veille d une
nuit que le bilan energetique annoncait deja deficitaire.

Rejeu du releve dans la vraie chaine : rawSolarStartOk ET
batteryAssistSolarStartOk etaient tous deux vrais. Corriger le seul seuil PV
n aurait donc rien change ; les deux chemins sont traites ensemble.

La grandeur juste est ce qui reste une fois la maison servie. Sans injection
et reseau absent, PV - maison(hors EVCS) vaut la puissance batterie au signe
pres, et separe les deux situations que la mesure PV seule confond : sous
censure la production se cale sur la maison, l excedent vaut ~0 et il y a de
la ressource refusee ; en deficit reel l excedent est negatif et la batterie
porte deja la maison. Zero est la frontiere physique entre les deux, verifiee
sur le releve du 03/09 (excedent positif sur toute la plage ou pv_censored
etait ON, negatif ensuite).

Aucune constante nouvelle, aucun champ de snapshot, aucun helper :
derived.houseNonEvcsW existait deja. Le chemin "soleil reel" reutilise
pv_start_min_w tel quel, applique a la bonne grandeur ; le chemin
"provocation" exige seulement excedent >= 0. Demarrage uniquement : les
conditions de maintien gardent leur plancher et leur tolerance temporelle.

Golden 61 -> 64, autour d une paire de releves reels pris a 54 minutes d ecart
dont les lectures PV ne different que de 11 W (769 puis 758) : le premier
demarre, le second non. apresmidi-provocation-p3 est corrige : il portait
PV 300 W, maison 600 W, batterie +2 A reseau ouvert, un trou de 300 W que rien
n alimente, et passait quand meme parce que le demarrage ne regardait jamais
le bilan. Mutation dans les deux sens : 2 echecs cibles a chaque fois,
excedent-censure-demarre restant vert (il tient par le chemin assistance).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
Tallagrand Thierry
2026-09-03 20:53:50 +02:00
parent 10987a04d8
commit ef3d7ed7b2
5 changed files with 322 additions and 8 deletions

View File

@@ -748,6 +748,50 @@ reste négative à chaque échantillon.
Golden 56 → 61, dont le contrefactuel `batt-decharge-soutenue-coupe` qui prouve
que la garde mord toujours après sa tolérance. Détail : HANDOFF §35.
#### D. Demarrage decide sur la production et non sur l'excedent (03/09/2026)
Quatrieme membre de la meme famille, et le plus couteux. `pv_start_min_w`
(700 W) est une **puissance PV absolue**. Le 03/09 a 19:44, voiture branchee :
PV 758 W, maison 1202 W, batterie deja a −12,2 A, nuit qui tombe. Le controleur
a lu « 758 ≥ 700, donc il y a du soleil » et a lance 1,6 kW de charge.
L'excedent valait **−444 W**.
En 33 minutes la voiture a pris 0,897 kWh et la batterie en a rendu 1,479 kWh
(SOC 94 → 85). Dans l'arithmetique du bilan energetique lui-meme, le manque de
la nuit est passe de 0,86 a 2,21 kWh — pour livrer 0,9 kWh que la voiture
reprenait de toute facon en heures creuses a 01:24.
**La grandeur juste n'est pas la production, c'est ce qui reste une fois la
maison servie.** Sans injection et reseau absent, `PV − maison(hors EVCS)` vaut
la puissance batterie au signe pres, et c'est ce qui separe les deux situations
que la mesure PV seule confond :
| | production | excedent | batterie | la voiture doit… |
|---|---|---:|---|---|
| **Censure** (batterie pleine, MPPT bride) | se cale sur la maison | **~0** | immobile | …demarrer : ressource refusee |
| **Deficit** (soir, nuages) | basse | **< 0** | decharge | …ne pas demarrer : ce serait la vider |
Zero n'est donc pas un seuil de plus : c'est la frontiere physique entre les
deux. Verifie sur le releve du 03/09 — excedent positif (+14 a +212 W) sur
toute la plage ou `pv_censored` etait ON (17:00-19:41), negatif ensuite.
Correctif : deux tests sur cette grandeur, aucune constante nouvelle. Le chemin
« soleil reel » reutilise `pv_start_min_w` tel quel ; le chemin « provocation »
(assistance batterie, `solar_potential`) exige seulement excedent ≥ 0.
**Demarrage uniquement** — les conditions de maintien gardent leur plancher et
leur tolerance temporelle (§C), sous peine de recreer l'oscillateur.
Golden 61 → 64, autour d'une paire de releves reels pris a 54 minutes d'ecart
dont les lectures PV ne different que de **11 W** (769 puis 758) : le premier
demarre, le second non — ce qui les separe est la maison. Detail : HANDOFF §36.
⚠️ Point structurel mis au jour par cet incident : le bilan energetique publie
l'heure de croisement, l'energie a couvrir, le SOC requis, `grid_needed` et
`pv_censored` — et **aucun des deux workflows de decision n'en lit une seule
valeur**. La cible du matin en est l'illustration : 35 % cote controleur
(regle sur le total de demain) contre 99,7 % cote bilan (qui regarde quand
l'energie arrive). Memes donnees, facteur 3.
---
---