Voiture a midi : la batterie au-dessus du plancher n'est plus comptee comme du solaire (seul le surplus net, plus l'assistance >= 90 %)

This commit is contained in:
Tallagrand Thierry
2026-10-06 13:31:25 +02:00
parent 2272204a62
commit f189df588d
5 changed files with 97 additions and 17 deletions

View File

@@ -212,6 +212,23 @@ if (!PRINT && (!ONLY || 'prepare-balance-transmet-tout'.includes(ONLY))) {
}
}
// Garde-fou (06/10) : le seuil d'assistance batterie que le bilan compte pour
// la voiture a midi doit etre CELUI du controleur. S'ils divergent, le bilan
// promet a la voiture une batterie que le controleur ne lui donnera pas.
if (!PRINT && (!ONLY || 'seuil-assistance-aligne'.includes(ONLY))) {
run++;
const bal = fs.readFileSync(path.join(ROOT, 'src/energy-balance/BALANCE.js'), 'utf8');
const ctl = fs.readFileSync(path.join(ROOT, 'src/nodes/BATTERY_CLOUD_LOCKS.js'), 'utf8');
const a = (bal.match(/const VEHICLE_BATTERY_ASSIST_SOC_PCT = (\d+(?:\.\d+)?);/) || [])[1];
const b = (ctl.match(/const batteryAssistSolarStartSocMin = (\d+(?:\.\d+)?);/) || [])[1];
if (!a || !b || Number(a) !== Number(b)) {
failed++;
console.log(`❌ seuil-assistance-aligne | bilan ${a} contre controleur ${b}`);
} else {
console.log(`✅ seuil-assistance-aligne (${a} %)`);
}
}
if (PRINT) process.exit(0);
console.log('');
if (failed) {

View File

@@ -453,14 +453,36 @@ export const balanceScenarios = [
}, // ======== JEEP BRANCHEE A MIDI, DEPART 15:30 (28/09/2026) ========
{
node: 'BALANCE',
id: 'bilan-jeep-midi-soleil-solaire-suffit',
label: 'JEEP a 12 %, midi ensoleille (prevision 25,1 kWh), SOC 47 : le solaire couvre, pas de reseau',
// Verifie a la main : 88 % x 8,7 = 7,66 kWh. Plancher au depart 33,5 % ->
// 13,5 points x 0,30 = 4,05 kWh de batterie + 4,96 kWh de surplus net
// 12:30-15:30 = 9,01 kWh >= 7,66.
id: 'bilan-jeep-midi-soleil-batterie-non-comptee',
label: 'JEEP a 12 %, midi ensoleille (prevision 25,1 kWh), SOC 47 : seul le surplus net compte (4,96 < 7,66) -> reseau',
// Regle du 06/10/2026 : la batterie au-dessus du plancher n'est plus
// comptee (le controleur ne la donne pas a la voiture sous 90 %).
// Verifie a la main : 88 % x 8,7 = 7,66 kWh ; plancher au depart 33,5 %
// < SOC 47 -> aucun manque batterie ; surplus net 12:30-15:30 = 4,96 kWh
// (avant le 06/10 : + 4,05 kWh de batterie = 9,01, pas de reseau).
snapshot: jeep(snap2709('2026-09-27T12:30:00+02:00', 47, MIDI_2709), 12),
expect: { usable: true, vehicleActive: true, vehicleNeedKwh: 7.66, vehicleSolarKwh: 9,
vehicleFloorAtDeparturePct: 33.5, vehicleGridNeeded: false },
expect: { usable: true, vehicleActive: true, vehicleNeedKwh: 7.66, vehicleSolarKwh: 4.96,
vehicleFloorAtDeparturePct: 33.5, vehicleGridNeeded: true },
},
{
node: 'BALANCE',
id: 'bilan-jeep-midi-batterie-haute-assistance-comptee',
label: 'JEEP a 60 %, midi ensoleille, SOC 95 : surplus net + batterie au-dessus de 90 % (assistance) couvrent -> pas de reseau',
// Besoin 40 % x 8,7 = 3,48 kWh ; surplus net 4,96 + (95 - 90) x 0,30 = 1,5
// de batterie d'assistance = 6,46 kWh >= 3,48.
snapshot: jeep(snap2709('2026-09-27T12:30:00+02:00', 95, MIDI_2709), 60),
expect: { usable: true, vehicleActive: true, vehicleNeedKwh: 3.48, vehicleSolarKwh: 6.46,
vehicleGridNeeded: false },
},
{
node: 'BALANCE',
id: 'bilan-jeep-midi-0610-surplus-insuffisant',
label: 'Cas du 06/10 13:12 rejoue : SOC 57 bien au-dessus du plancher, mais surplus net insuffisant -> reseau',
// Meme construction : JEEP a 56 %, besoin 44 % x 8,7 = 3,83 kWh ; la
// batterie au-dessus du plancher ne compte pas, seul le surplus net.
snapshot: jeep(snap2709('2026-09-27T12:30:00+02:00', 57, MIDI_2709, SOMBRE), 56),
expect: { usable: true, vehicleActive: true, vehicleNeedKwh: 3.83, vehicleSolarKwh: 2.26,
vehicleGridNeeded: true },
},
{
node: 'BALANCE',