Budget voiture de la nuit : ce que la batterie peut donner sans EDF, arret au compteur, choix sans EDF / complete
This commit is contained in:
@@ -112,6 +112,9 @@ const SUMMARIZE = {
|
||||
// Maison sur le reseau pendant la fenetre HC de nuit (29/09).
|
||||
nightHcActive: o.nightHcImport ? o.nightHcImport.active : false,
|
||||
nightHcHouseKwh: o.nightHcImport ? o.nightHcImport.houseKwh : null,
|
||||
// Budget voiture de la nuit sans EDF (30/09).
|
||||
nightVehicleBudgetActive: o.nightVehicleBudget ? o.nightVehicleBudget.active : false,
|
||||
nightVehicleBudgetKwh: o.nightVehicleBudget ? o.nightVehicleBudget.kwh : null,
|
||||
// Voiture branchee en HC, depart avant la prochaine HC (28/09).
|
||||
vehicleActive: o.vehicleMidday ? o.vehicleMidday.active : false,
|
||||
vehicleNeedKwh: o.vehicleMidday ? o.vehicleMidday.needKwh : null,
|
||||
|
||||
@@ -73,6 +73,16 @@ function jeep(snapshot, niveau, extra = {}) {
|
||||
vehicle_delivered_since_level_kwh: 0 }, extra);
|
||||
}
|
||||
|
||||
const NUIT_HC_2809 = { night_hc_start_ms: Date.parse('2026-09-28T01:24:00+02:00'),
|
||||
night_hc_end_ms: Date.parse('2026-09-28T07:24:00+02:00') };
|
||||
// Lendemain ensoleille : production du 28/09 x 1,5 (~49 kWh), le reste inchange.
|
||||
function soleil2809(snapshot) {
|
||||
snapshot.horizon = snapshot.horizon.map(sl =>
|
||||
new Date(sl.startMs).toLocaleDateString('sv-SE', { timeZone: 'Europe/Paris' }) === '2026-09-28'
|
||||
? { ...sl, expectedKwh: FS_2809[sl.hour] * 1.5 } : sl);
|
||||
return snapshot;
|
||||
}
|
||||
|
||||
export const balanceScenarios = [
|
||||
{
|
||||
// Le parc a change deux fois en une semaine et rechangera cet hiver : le
|
||||
@@ -593,6 +603,38 @@ export const balanceScenarios = [
|
||||
night_hc_start_ms: Date.parse('2026-09-28T01:24:00+02:00'), night_hc_end_ms: Date.parse('2026-09-28T07:24:00+02:00') }),
|
||||
expect: { usable: true, nightHcActive: true, nightHcHouseKwh: 2.68 },
|
||||
},
|
||||
// ======== BUDGET VOITURE DE LA NUIT SANS EDF (30/09/2026) ========
|
||||
// Decisions du proprietaire : profil prudent (p80), plancher 22 %, jusqu'a la
|
||||
// nuit suivante. Attendus calcules par un script Python independant (meme
|
||||
// trajectoire, creux a 9 h). Lendemain ensoleille = production du 28/09 x 1,5.
|
||||
{
|
||||
node: 'BALANCE',
|
||||
id: 'bilan-budget-voiture-nuit-soleil',
|
||||
label: '01:25, SOC 57, lendemain ensoleille : la voiture peut prendre 4,21 kWh sur la batterie',
|
||||
snapshot: soleil2809(Object.assign(snap2709('2026-09-28T01:25:00+02:00', 57, null), NUIT_HC_2809)),
|
||||
expect: { usable: true, nightVehicleBudgetActive: true, nightVehicleBudgetKwh: 4.21 },
|
||||
},
|
||||
{
|
||||
node: 'BALANCE',
|
||||
id: 'bilan-budget-voiture-nuit-soc-bas',
|
||||
label: '01:25, SOC 45 : il ne reste que 0,61 kWh au-dessus du creux de 9 h',
|
||||
snapshot: soleil2809(Object.assign(snap2709('2026-09-28T01:25:00+02:00', 45, null), NUIT_HC_2809)),
|
||||
expect: { usable: true, nightVehicleBudgetActive: true, nightVehicleBudgetKwh: 0.61 },
|
||||
},
|
||||
{
|
||||
node: 'BALANCE',
|
||||
id: 'bilan-budget-voiture-nuit-lendemain-sombre',
|
||||
label: 'Lendemain sombre (27-28/09) : la batterie ne tiendrait pas la nuit suivante, budget nul',
|
||||
snapshot: Object.assign(snap2709('2026-09-27T23:00:00+02:00', 52, null), NUIT_HC_2809),
|
||||
expect: { usable: true, nightVehicleBudgetActive: true, nightVehicleBudgetKwh: 0 },
|
||||
},
|
||||
{
|
||||
node: 'BALANCE',
|
||||
id: 'bilan-budget-voiture-fenetre-inconnue',
|
||||
label: 'Fenetre HC de nuit non transmise : pas de budget (le controleur ne donne rien)',
|
||||
snapshot: snap2709('2026-09-28T01:25:00+02:00', 57, null),
|
||||
expect: { usable: true, nightVehicleBudgetActive: false, nightVehicleBudgetKwh: null },
|
||||
},
|
||||
{
|
||||
node: 'BALANCE',
|
||||
id: 'bilan-hc-nuit-fenetre-inconnue',
|
||||
|
||||
Reference in New Issue
Block a user