Bilan : reprise du chauffe-eau du soir comptee les jours faibles, prevision de l'apres-midi recalee sur la matinee

This commit is contained in:
Tallagrand Thierry
2026-10-07 22:47:49 +02:00
parent 16d1f8ee2b
commit 36ceb41933
8 changed files with 136 additions and 7 deletions

View File

@@ -128,6 +128,8 @@ const SUMMARIZE = {
ecsOn: o.ecsNight ? (o.ecsNight.on ?? null) : null,
ecsProjectedSocPct: o.ecsNight ? (o.ecsNight.projectedSocPct ?? null) : null,
ecsRequiredSocPct: o.ecsNight ? (o.ecsNight.requiredSocPct ?? null) : null,
ecsRepriseKwh: o.ecsReprise ? o.ecsReprise.kwh : null,
prodRecalFactor: o.prodRecal ? o.prodRecal.factor : null,
}) : ({ usable: false, missing: o.missing.join(',') }),
};

View File

@@ -555,6 +555,42 @@ export const balanceScenarios = [
{ night_hc_end_ms: Date.parse('2026-09-27T07:24:00+02:00'), ecs_nuit_jour: '2026-09-26|on|x' }),
expect: { usable: true, ecsDue: false, ecsDecided: false },
},
// ======== JOUR FAIBLE : REPRISE DU SOIR ET PREVISION RECALEE (07/10/2026) ========
{
node: 'BALANCE',
id: 'bilan-hc-midi-reference-sans-correction',
label: 'Reference : HC de midi 12:30, SOC 31, journee sombre — plancher « tenir jusqu a 01:24 »',
snapshot: snap2709('2026-09-27T12:30:00+02:00', 31, MIDI_2709, SOMBRE),
expect: { usable: true, hcReachActive: true, hcFloorPct: 38.1 },
},
{
node: 'BALANCE',
id: 'bilan-hc-midi-jour-faible-reprise-du-soir',
label: 'Meme midi, jour faible : 2,1 kWh de chauffe-eau de 16 h a 20 h comptes -> plancher plus haut',
snapshot: Object.assign(snap2709('2026-09-27T12:30:00+02:00', 31, MIDI_2709, SOMBRE),
{ ecs_nuit_jour: '2026-09-27|on|x', ecs_reprise_soir_kwh: '2.1' }),
// Verifie a la main : 2,1 kWh / 0,30 kWh par point = +7,0 points (38,1 -> 45,1).
expect: { usable: true, hcReachActive: true, ecsRepriseKwh: 2.1, hcFloorPct: 45.1 },
},
{
node: 'BALANCE',
id: 'bilan-hc-midi-prevision-recalee-sur-la-matinee',
label: 'Meme midi, matinee a 60 % de la prevision : les heures restantes du jour x 0,6 -> plancher plus haut',
snapshot: Object.assign(snap2709('2026-09-27T12:30:00+02:00', 31, MIDI_2709, SOMBRE), {
forecast_today_csv: FS_2709.map((v) => (v * SOMBRE).toFixed(3)).join(','),
production_jour_kwh: String(Math.round(FS_2709.slice(0, 12).reduce((a, b) => a + b, 0) * SOMBRE * 0.6 * 100 + FS_2709[12] * SOMBRE * 0.5 * 0.6 * 100) / 100),
production_jour_statut: 'complet' }),
expect: { usable: true, hcReachActive: true, prodRecalFactor: 0.6, hcFloorPct: 49.4 },
},
{
node: 'BALANCE',
id: 'bilan-prevision-jamais-recalee-a-la-hausse',
label: 'Matinee meilleure que prevu : facteur 1, on ne promet rien de plus pour l apres-midi',
snapshot: Object.assign(snap2709('2026-09-27T12:30:00+02:00', 31, MIDI_2709, SOMBRE), {
forecast_today_csv: FS_2709.map((v) => (v * SOMBRE).toFixed(3)).join(','),
production_jour_kwh: '40', production_jour_statut: 'complet' }),
expect: { usable: true, prodRecalFactor: 1 },
},
// ======== LES TROIS VEHICULES (28/09/2026) ========
{
node: 'BALANCE',