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:
@@ -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) {
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user