Section 68 : P12, et la contrainte que seul l essai reel pouvait montrer

Consigne l idee du proprietaire et le calcul qui la fonde, le verrou
anti-oscillateur trouve en construisant, et surtout la contrainte decouverte a
05:30 en conditions reelles : P12 doit gagner le premier cycle de la nuit. Si la
reprise reseau s engage avant lui, le verrou anti-creneaux de juillet tient le
reseau pour toute la session — et il a raison, c est exactement le creneau qu il
existe pour empecher. Aucun des cinq scenarios initiaux ne le montrait, ils
partent tous d une nuit vierge.

Note aussi qu une mutation qui ne mute rien ne prouve rien : ma premiere
tentative cherchait un motif absent du fichier, zero occurrence, zero echec, et
j allais conclure que le test tenait.

Et corrige deux affirmations que j avais faites avec trop d aplomb : le garde dur
a -30 A (je lisais la table de base, pas les valeurs appliquees) et le bilan qui
sous-estimerait la batterie de 30 % (j avais divise une courbe par morceaux par
un seul ratio).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
Tallagrand Thierry
2026-09-15 06:25:51 +02:00
parent 26bdabf979
commit cfb63f072b
3 changed files with 158 additions and 0 deletions

View File

@@ -2612,4 +2612,41 @@ export const scenarios = [
edfOnAction: true,
},
},
// ⚠️ P12 DOIT GAGNER LE PREMIER CYCLE DE LA NUIT, OU IL NE GAGNE PAS.
//
// Decouvert en essai reel le 15/09 a 05:30. P7 s'etait engage a 05:13, avant
// que le proprietaire n'active P12 : le helper `night_grid_takeover_needed`
// etait donc deja ON, et le verrou anti-creneaux de juillet (P2) tenait le
// reseau — `nightGridHcPreferred` passe bien a false grace a P12, mais
// `nightTakeoverLatched` maintient `nightGridTakeoverNeeded` de son cote.
//
// Et c'est le comportement SUR : basculer reseau -> batterie en pleine
// session, c'est exactement le creneau que ce verrou existe pour empecher.
// Aucun des cinq scenarios P12 ne le montrait — ils partent tous d'une nuit
// vierge. Celui-ci epingle la contrainte pour qu'un changement futur soit
// delibere.
{
id: 'p12-verrou-p2-tient-si-le-reseau-est-deja-engage',
label: 'Nuit HC, P7 deja engage (takeover ON) puis P12 active -> le verrou anti-creneaux tient, pas de bascule',
time: '2026-09-15T05:30:00+02:00',
overrides: {
...VEHICLE_NIGHT, soc_percent: '69',
allow_grid_hc_night: 'on',
night_battery_charge_enabled: 'on', night_battery_done_prev: 'off',
// LE point du scenario : la reprise reseau est deja engagee.
night_takeover_prev: 'on',
grid_state: 'on', victron_acin1_available: '1',
battery_current_a: '1',
evcs_charging_switch: 'on',
balance_status: 'ok', balance_last_run: '15/09 05:25',
balance_required_soc: '36.8', balance_required_soc_prudent: '36.2',
balance_energy_to_cover_kwh: '3.18',
},
expect: {
profile: 'night_hc',
sourceMode: 'grid_hc_allowed',
takeoverNeeded: true,
},
},
];