Nuit : la recovery batterie est une passe unique, pas un oscillateur
La bande de 2 points du Fix A engageait le takeover a SOC 33 et le relachait a 35 : 0,34 kWh, soit une demi-heure de conso nocturne plate. Trois cycles EDF la nuit du 26-27/08, six la nuit du 20-21/08, 2,5 kWh importes pour rien. Une seule passe de recovery par session de nuit. Le plancher dur reste un terme independant, l hysteresis garde sa bande 20/30, et le vrai critere de re-engagement (un budget d energie) appartient au bilan, pas a une constante de plus ici. Golden 40 -> 42, preuve par mutation. Documente aussi deux acteurs non lus : les charges programmees de l ESS (45 % la nuit, contre notre cible 35 %) et le regime majoritairement hors reseau. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
@@ -394,17 +394,24 @@ const vehicleChargeCompleted =
|
||||
// ⚠ 'night_recovery_done_idle' ne doit matcher AUCUN pattern no-demand de
|
||||
// l'hystérésis (full_or_paused / not_requesting_power / charge_complete /
|
||||
// no_demand) — même contrainte que 'night_session_done_idle'.
|
||||
const NIGHT_RECOVERY_REARM_BAND_PCT = 2;
|
||||
// 27/08/2026 : la bande de 2 points fabriquait un oscillateur. Relevé de la
|
||||
// nuit du 26-27/08 (cible 35) : engagement à SOC 33, relâchement à 35, trois
|
||||
// cycles EDF de 52, 79 et 25 min, 2,5 kWh importés pour rien un matin de grand
|
||||
// soleil ; la nuit du 20-21/08 en comptait six. Deux points de SOC valent
|
||||
// ~0,34 kWh, soit une demi-heure de conso nocturne : ce n'est pas une
|
||||
// hystérésis, c'est la période d'une horloge — d'autant plus régulière que la
|
||||
// charge de nuit est parfaitement plate.
|
||||
// La recovery batterie post-charge est donc UNE SEULE passe par session de
|
||||
// nuit, ce qui était déjà l'intention affichée du Fix A ("relâché
|
||||
// DÉFINITIVEMENT"). Aucun seuil de ré-engagement ici : le plancher dur reste
|
||||
// un terme indépendant de nightGridTakeoverNeeded (voir plus bas), et
|
||||
// l'hystérésis réseau garde sa propre bande 20/30. Le vrai critère de
|
||||
// ré-engagement est un budget d'énergie restant à couvrir, pas un delta de
|
||||
// SOC : il appartient au bilan énergétique, pas à une constante de plus ici.
|
||||
const nightRecoveryDonePrev = prevSurplusState === 'night_recovery_done_idle';
|
||||
const nightRecoveryDone =
|
||||
vehicleChargeCompleted &&
|
||||
(
|
||||
parsed.soc >= batteryMorningTargetPct ||
|
||||
(
|
||||
nightRecoveryDonePrev &&
|
||||
parsed.soc > batteryMorningTargetPct - NIGHT_RECOVERY_REARM_BAND_PCT
|
||||
)
|
||||
);
|
||||
(parsed.soc >= batteryMorningTargetPct || nightRecoveryDonePrev);
|
||||
|
||||
// =====================================================
|
||||
// P9 (09/08/2026) : CHARGE RÉSEAU AVANT DÉPART, HORS FENÊTRE HC.
|
||||
|
||||
Reference in New Issue
Block a user