HANDOFF §81 : VRM remplace Forecast.Solar, tenir jusqu'a la prochaine HC, prevision de nuit

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
This commit is contained in:
Tallagrand Thierry
2026-09-28 02:07:26 +02:00
parent 8de284cd17
commit ba7ca04a29

View File

@@ -887,3 +887,90 @@ par chargeur), consommation, reseau, batterie. Valide par le proprietaire.
---
*Document mis a jour le : 26/09/2026 (~17:30) — acces HA, Gmail de l'agent, plugins desactives, Samsung appaire, consommation du jour pour le rapport solaire*
## 81. Nuit du 27 au 28/09/2026 — VRM remplace Forecast.Solar, et la batterie doit tenir jusqu'a la prochaine HC
### L'agent vocal : trois capteurs de plus, pour qu'il cesse d'inventer
- **`sensor.evcs_consommation_jour_kwh`** (26/09, §80) : integre au rapport solaire.
- **`sensor.evcs_batterie_projection_soir`** (27/09) : VOLONTAIREMENT `indetermine`
(decision du proprietaire) tant que la prevision n'est pas fiable. L'agent avait
annonce « vers 90 % » de tete (SOC 42 % + 6,8 kWh restants). Attributs de faits
seulement (SOC actuel, reste prevu brut, ecart de prevision).
- **`sensor.evcs_prevision_nuit`** (28/09) : symetrique de `evcs_bilan_nuit`, construit
UNIQUEMENT sur le bilan + etats lus (kWh EDF a prendre, maison a couvrir, heure de
retour du solaire, contacteur, session engagee, voiture branchee ou non,
`texte_rapport`). Bilan > 30 min -> `indisponible`. Tests 65/65 -> 69/69.
- ⚠️ **Deux helpers mal lus par l'agent**, a ne JAMAIS lui faire lire comme de
l'energie batterie : `evcs_balance_vehicle_surplus_kwh` = surplus SOLAIRE attendu
APRES le croisement (demain), pas de la batterie ; `victron_evcs_projected_end_soc_after_charge`
(et `budget_remaining_kwh`) = variables internes de JOUR du controleur — apres minuit
elles integrent toute la production du lendemain. SPARK a retire son garde-fou
« surplus > 23 kWh = impossible », fonde sur ce contresens.
### La nuit du 26-27/09 : pourquoi la batterie etait a 22 % le 27 au soir
JEEP chargee 01:25-05:59 en `battery_assist_night` (P12) : **5,70 kWh, 0 reseau**,
batterie 72 -> 44 %. Le 27, journee sombre : **22 kWh** reels (Forecast.Solar
annoncait 25,1, VRM 18). Batterie plafonnee a 46 %, plancher touche vers 01:00 le 28.
Le bilan annoncait pourtant a 01:20 le 27 : « prochaine traversee 17,35 kWh des 18 h
-> SOC requis 79,8 % ». **P12 ne regardait que le croisement du matin**, pas la nuit
suivante. Une petite charge solaire a 15:03 (0,8 kWh, SOC 41 %) releve du meme angle
mort (le plancher du bilan ne s'applique au demarrage qu'en fenetre du soir).
### Nuit du 27-28/09 : le relais reseau a fonctionne
01:15 : l'hysteresis ferme le contacteur (SOC 21). **Hors session, la consigne reste
au repos (700 W)** : le reseau fournit ~650 W et la batterie complete — c'est ce que
le proprietaire a vu, et c'est voulu. 01:24:00 : session de nuit engagee SANS vehicule
(correctif du 12/09), consigne GX 2206 W ; 01:25:10 reseau 1853 W, batterie +12,7 A.
### Prevision : bascule sur VRM (decision du proprietaire)
- **Diagnostic Forecast.Solar** : la config est JUSTE (3 plans, 16,12 kWc, dans HA
comme dans l'appel du bilan ; API publique interrogee plan par plan = memes
chiffres). C'est la SOURCE qui est degradee : totaux quasi constants depuis le
18/09 (26-29 kWh, deux jours identiques a 0,5 % pres = climatologie, pas meteo).
- **Comparaison 17-26/09** (reel = minimum, bride) : erreur moyenne VRM **21 %**,
Forecast.Solar **32 %** ; 5 derniers jours **14 % contre 36 %**. Reserve : on ne
sait pas si les previsions passees de VRM sont celles du matin.
- **Mis en place** (commits `5a8e4af`, `72c1f60`) : jeton `VRM_TOKEN` dans `.env`
(jamais dans HA : droits du compte VRM), site **298009** ; le service
d'historisation lit `…/v2/installations/298009/stats?type=forecast&interval=hours`
toutes les 15 min, ecrit `input_text.evcs_balance_vrm_*` au format du bilan et
enregistre chaque publication dans `prevision` avec `source='vrm'` (cle etendue a
la source). **`input_select.evcs_balance_forecast_source`** (vrm | forecast_solar)
choisit la courbe lue par le bilan = retour arriere en un geste ; carte en tete de
l'onglet « Production » du tableau Bilan energetique. `evcs_prevision_contre_reel`
porte sur la source active. VRM donne aussi la conso prevue (et la part borne).
- ⚠️ **COMPARAISON A FAIRE LE LUNDI 05/10** : prevision DU MATIN de chaque source
contre le reel, jour par jour, heures bridees ecartees ; on garde VRM ou on
remet le selecteur.
- Reste sur Forecast.Solar : le palier de secours de la cible du matin du
controleur (total de demain). Le bilan garde le dernier mot (`max`).
### Tenir jusqu'a la prochaine fenetre HC (strategie du proprietaire, commit `8de284c`)
Regle : **voiture branchee = charge en HC sur le reseau ; la batterie tient jusqu'a
la prochaine HC (01:24) ; sinon la HC de midi la complete, voiture comprise.**
- HA transmet au bilan (modele du snapshot, Jinja sur les `victron_evcs_hc_*`) la
fin de la fenetre HC en cours, le debut de la suivante et celui de la prochaine
fenetre de NUIT. Le calendrier reste dans HA (§73).
- **Pendant une fenetre HC**, dans `coverage()` (comme le plancher manuel : cible ET
manque bougent ensemble) : `required_soc` >= SOC a avoir en fin de fenetre pour
atteindre la PROCHAINE HC (nuit -> midi, midi -> 01:24) ;
`required_soc_prudent` (plancher de P12, profil p80) >= SOC pour atteindre la NUIT
SUIVANTE. Parcours a rebours des tranches horaires (un surplus ne rembourse qu'un
deficit posterieur). Hors fenetre HC : rien ne change.
- Midi : la session s'engage si `SOC < required_soc` ; la voiture passe en
`grid_hc_allowed` (`allow_grid_hc_midday` = on) des que le contacteur est ferme —
**batterie et voiture ensemble, sans changer le controleur**.
- Rejeu du 27/09 : avec la prevision de l'epoque (25,1 kWh) le plancher P12 n'aurait
bouge que de 47,1 a **48,4 %** (calcul juste a zero marge) ; avec une journee
annoncee a 18 kWh (VRM) il monte a **72,1 %** > SOC 72 -> voiture sur le reseau.
**La regle ne vaut que ce que vaut la prevision.** Midi sombre SOC 30 : cible
38,1 %, manque 2,42 kWh (= 8,1 pts x 0,30, verifie a la main). Bilan 54/54, deux
mutations qui mordent. Deploye le 28/09 ~02:05.
- ⚠️ **A VERIFIER en reel** : premier calcul du bilan apres deploiement, puis les
deux ou trois prochaines nuits (P12 bloque les jours sombres ? session de midi ?).
- ⚠️ **Non couvert** : un demarrage solaire L'APRES-MIDI (cas du 27/09 15:03) ne
consulte pas le besoin de la nuit ; le plancher du bilan n'agit au demarrage que
dans la fenetre du soir.
---
*Document mis a jour le : 28/09/2026 (~02:15) — VRM remplace Forecast.Solar (comparaison le 05/10), tenir jusqu'a la prochaine HC, prevision de nuit pour l'agent*