Chantier etape 4 : le bilan, et description materielle consignee

BALANCE.js ne pilote rien : il publie les faits qui remplacent les seuils fixes
— heure de croisement, energie a couvrir, SOC requis (remplacant de
grid_soc_off), energie reseau strictement necessaire, surplus disponible pour
le vehicule, indice de confiance. Sans une de ses entrees il se declare
inutilisable et les controleurs gardent leurs regles.

Deux niveaux de prudence. Le premier jet n'utilisait que le profil p80 et
exigeait 48 % de SOC pour franchir la matinee du 24/08, soit plus cher que le
seuil fixe de 30 % qu'il remplace. Corrige : la decision reseau, reevaluee a
chaque cycle et reversible, utilise le profil typique p50 ; le prudent p80 sert
a la planification. La marge de securite de 10 % ajoutee au depart etait une
constante arbitraire et un double comptage : mesure faite, p80(somme) egale
somme(p80) sur toutes les fenetres, les heures de consommation etant fortement
correlees. Marge supprimee.

Rejeu fige de la matinee du 24/08 (SOC 21 %, capacite 15 kWh, production
reellement mesuree) : croisement a 08 h, 0,82 kWh a couvrir contre 0,80 calcule
a la main, SOC requis 27,5 %, une session reseau de 0,97 kWh. Suite a 21
scenarios.

MANUEL_COMPLET section 0 : description materielle complete relevee dans VRM et
completee par le proprietaire — 2 MultiPlus-II 48/5000 en parallele, 53
panneaux sur trois orientations (10 est/sud-est, 30 sud, 10 ouest, 3 sur un
petit MPPT), parc Pylontech, borne 32 A. Explique pourquoi aucun modele
solaire mono-plan ne peut representer la production, et pourquoi Forecast.Solar
mal configure se trompe de repartition.

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-08-24 15:31:01 +02:00
parent 180a1f3db5
commit 9b24b5e29c
5 changed files with 451 additions and 1 deletions

View File

@@ -150,7 +150,45 @@ calcul en saison basse.
décisions fondées sur la prévision (EVCS, chauffe-eau, conseiller IA).
À corriger dans la configuration de l'intégration (azimut et inclinaison par
plan), puis refaire la comparaison.
- [ ] Étape 4 — bilan et ses sorties.
- [x] **Étape 4 — le bilan** (24/08). `src/energy-balance/BALANCE.js`. Ne pilote
rien : publie les faits qui remplacent les seuils fixes — heure de croisement,
énergie à couvrir, **SOC requis** (remplaçant de `grid_soc_off`), énergie
réseau strictement nécessaire, surplus disponible pour le véhicule, indice de
confiance. Sans une de ses entrées, il se déclare inutilisable et les
contrôleurs gardent leurs règles.
**Deux niveaux de prudence, et c'est un choix de conception, pas un détail.**
Le premier jet n'utilisait que le profil prudent (p80) et exigeait **48 % de
SOC** pour franchir la matinée du 24/08 — alors que le seuil fixe de 30 %
aurait été moins coûteux. Un bilan plus gourmand que le seuil bête qu'il
remplace n'a aucun intérêt. Corrigé : la décision réseau, réévaluée à chaque
cycle et réversible, utilise le profil **typique (p50)** ; le profil prudent
(p80) sert à la planification qui engage plusieurs heures (cible de nuit,
dimensionnement du stockage). Se tromper par optimisme ne coûte qu'un
démarrage réseau une heure plus tard, le plancher dur protégeant la batterie ;
se tromper par excès de prudence coûte un import réseau immédiat et réel.
Vérifié aussi : la marge de sécurité de 10 % que j'avais ajoutée était une
constante arbitraire de plus, et un double comptage. Mesure du 24/08 :
`p80(somme des heures)` égale `somme(p80 par heure)` sur toutes les fenêtres
testées — les heures de consommation sont fortement corrélées. La prudence est
donc entièrement portée par le percentile, qui est mesuré. Marge supprimée.
**Rejeu de la matinée du 24/08 (scénario figé)** — SOC réel 21 %, capacité
15 kWh, production horaire réellement mesurée :
| | |
|---|---|
| Croisement PV/consommation | **08 h** |
| Énergie à couvrir | **0,82 kWh** (calcul manuel sur les mesures : 0,80) |
| SOC requis (décision) | **27,5 %** au lieu du seuil fixe de 30 % |
| Réseau nécessaire | oui, **0,97 kWh** — une session, puis terminé |
| SOC requis (planification, p80) | 38,1 % |
| Déficit calculé sur forme fiable | oui |
Suite portée à **21 scénarios**.
- [ ] Étape 5 — publication dans n8n (workflow + helpers), puis dashboard.
## Backlog