La fenetre de midi est aussi une fenetre d heures creuses

Signale par le proprietaire avant le PUT : « il faut ajouter la periode HC
12h24 jusqu a 14h24 ». Il avait raison, et le trou etait plus profond qu une
borne manquante — l engagement de session etait gate sur `night_hc` SEUL,
parce que §40 ne traitait que la nuit.

Consequence : la charge HC manuelle qu on venait d ecrire ne pouvait RIEN faire
a midi. Le plancher relevait bien la cible du bilan, mais aucune session ne
s engageait, donc pas de takeover, pas de contacteur, pas de consigne. Le
reglage aurait releve le plancher de demarrage du soir — donc bloque la charge
du vehicule — sans jamais charger la batterie. Le pire des deux mondes.

⚠️ ET LE CRITERE N EST PAS LE MEME AUX DEUX FENETRES. La nuit, on compare le SOC
a `batteryMorningTargetPct`, qui contient le palier de prevision (35/55/85). A
midi ce palier n a aucun sens : il vaut 35 par beau temps, donc un SOC de 30 %
EN PLEIN SOLEIL engagerait une session reseau — la substitution du solaire par
le reseau qu on a mis des semaines a eteindre.

A midi le critere honnete est le SOC requis du bilan lui-meme, qui s auto-regule :
le croisement PV etant passe, l energie a couvrir vaut zero et le requis retombe
au plancher dur. Releve du 17/09 a 13:51, plein soleil : required_soc = 22,0 pour
energy_to_cover = 0,0. Il ne remonte qu un jour sombre — ou quand le proprietaire
pose un plancher manuel, ce qui est exactement le cas d usage.

Golden 106 -> 108. Les deux scenarios sont une paire : meme heure, meme profil,
seul le ciel change. Sombre avec un bilan qui reclame 85 % -> la session
s engage ; ensoleille avec un bilan a 22 % et un SOC de 30 % SOUS le palier du
matin -> aucun engagement.

Mutations : retour au gate night_hc seul -> le scenario sombre ; critere de la
nuit applique a midi -> le contrefactuel ensoleille. Chacune tombe sur un jeu
different. Hysteresis 24, ACM 20, bilan 50 inchanges.

⚠️ AUCUN PUT. Il en faut desormais DEUX — le bilan et le controleur — et ils
attendent tous les deux sa validation.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
Tallagrand Thierry
2026-09-18 08:09:30 +02:00
parent 2654592b64
commit 3b81038739
3 changed files with 86 additions and 3 deletions

View File

@@ -2433,6 +2433,58 @@ export const scenarios = [
gridSetpointW: 5437,
},
},
{
// ======== LA FENETRE DE MIDI EST UNE FENETRE D'HEURES CREUSES (18/09) ========
// L'engagement de session etait gate sur `night_hc` seul : la charge HC
// manuelle demandee par le proprietaire ne pouvait rien faire a midi. Le
// plancher relevait bien la cible du bilan, mais aucune session ne
// s'engageait — donc pas de contacteur, pas de consigne, et un plancher du
// soir releve pour rien.
id: 'hc-midi-bilan-reclame-engage-la-session',
label: 'MIDI 18/09 — journee sombre, le bilan reclame 85 % pour un SOC de 40 : la session HC de midi doit s engager',
time: MIDDAY,
overrides: {
evcs_vehicle_connected: 'off', evcs_device_connected: 'on',
soc_percent: '40', battery_current_a: '-8',
pv_power_w: '200', pv_power_10m_avg_w: '200', pv_trend_w: '0',
house_ac_power_w: '900', vebus_ac_out_l1_power_w: '900',
evcs_ac_power_w: '0',
balance_required_soc: '85', balance_energy_to_cover_kwh: '7.6',
balance_grid_energy_needed_kwh: '7.605',
balance_status: 'ok', balance_last_run: '08/08 12:50',
},
expect: {
profile: 'midday_hc_or_solar',
sessionCommittedService: 'turn_on',
takeoverNeeded: true,
takeoverHelperService: 'turn_on',
},
},
{
id: 'hc-midi-soleil-aucun-engagement',
label: 'CONTREFACTUEL — meme midi en plein soleil : le bilan ne reclame rien (22 %), aucune session malgre un SOC sous le palier du matin',
time: MIDDAY,
overrides: {
evcs_vehicle_connected: 'off', evcs_device_connected: 'on',
soc_percent: '30', battery_current_a: '60',
pv_power_w: '7000', pv_power_10m_avg_w: '6800', pv_trend_w: '0',
house_ac_power_w: '900', vebus_ac_out_l1_power_w: '900',
evcs_ac_power_w: '0',
// Le croisement PV est passe : le bilan retombe au plancher dur.
balance_required_soc: '22', balance_energy_to_cover_kwh: '0',
balance_grid_energy_needed_kwh: '0',
balance_status: 'ok', balance_last_run: '08/08 12:50',
},
expect: {
profile: 'midday_hc_or_solar',
// ⚠️ LE SCENARIO QUI JUSTIFIE LE CHOIX DU CRITERE. A midi on compare le SOC
// au SOC REQUIS du bilan (22), et non a `batteryMorningTargetPct` qui
// contient le palier de prevision — celui-ci vaudrait 35 par beau temps,
// donc ce SOC de 30 % engagerait une session reseau EN PLEIN SOLEIL,
// c'est-a-dire la substitution qu'on a mis des semaines a eteindre.
takeoverNeeded: false,
},
},
{
id: 'consigne-bilan-plancher-nuage-exclut-la-batterie',
label: 'CONSIGNE 18/09 — midi, soleil bride, manque batterie, PAS de voiture : le terme batterie ne doit PAS remonter le plancher nuage',