Voiture en solaire : arret avant le temps mini si la batterie paie, tolerance nuage bornee par le SOC requis prudent

This commit is contained in:
Tallagrand Thierry
2026-10-12 23:44:59 +02:00
parent ce18162977
commit 6a42cce5e5
6 changed files with 305 additions and 6 deletions

View File

@@ -1,3 +1,4 @@
import { readFileSync } from 'node:fs';
// R3 — Scénarios golden EVCS. Chaque scénario = instant simulé + overrides du
// snapshot HA réel (tests/golden/fixture-snapshot.json) + résumé attendu.
// Les attendus sont FIGÉS après vérification manuelle : un diff = régression
@@ -52,6 +53,10 @@ const VEHICLE_NIGHT = {
};
const BUDGET_NUIT = { ...VEHICLE_NIGHT, ...BUDGET_NUIT_BASE };
// 12/10/2026 16:38:30 — releve reel COMPLET (entree de INPUT_PARSE, execution
// n8n 1464717) : VW en charge solaire tenue sur la batterie.
const VW_1210 = JSON.parse(readFileSync(new URL('./fixtures/vw-1210-1638.json', import.meta.url), 'utf8'));
export const scenarios = [
// ================= NUIT HC (P7 + historique) =================
@@ -3558,4 +3563,42 @@ export const scenarios = [
blockReason: 'grid_unavailable',
},
},
// 12/10/2026 — la VW payee par la batterie maison. Releve reel de 16:38:30
// (execution n8n 1464717) : charge solaire redemarree a 16:15:30, maison
// 5,4 kW pour 2,2 kW de PV, batterie a -73,9 A, conditions de maintien
// perdues, depassement souple depuis 16:18:30 (tolerance de la bande 60-80 % :
// 6 min). Le temps mini de marche (29 min en production) tenait quand meme
// la voiture a 14 A : ~1,9 kWh pris a la batterie, bilan a 99 % requis.
{
id: 'vw-1210-temps-mini-ne-fait-pas-payer-la-batterie',
label: 'RELEVE 12/10 16:38 — batterie a -74 A depuis 20 min, temps mini non ecoule : la voiture S ARRETE',
time: '2026-10-12T16:38:30+02:00',
overrides: { ...VW_1210 },
expect: { desiredCharging: false, state: 'stop_battery_pays_vehicle' },
},
{
id: 'vw-1210-tolerance-nuage-bornee-par-le-bilan',
label: '12/10 — temps mini ecoule, dette 0,5 kWh, SOC 76 pour 99 % requis : AUCUNE tolerance nuage',
time: '2026-10-12T16:38:30+02:00',
overrides: {
...VW_1210, last_start_at: '2026-10-12 15:30:00', battery_soft_breach_at: '2026-10-12 16:37:30',
battery_current_a: '-20', cloud_debt_kwh: '0.5', cloud_debt_started_at: '2026-10-12 16:36:00',
prev_surplus_state: 'charging_hold_cloud_tolerance',
},
// Ancien code : hausse du courant (15 A) sur une batterie qui debite. Desormais la
// dette nuage n'est plus toleree : reduction, puis arret par la garde souple.
expect: { state: 'charging_step_down_cloud_debt', currentA: 12 },
},
{
id: 'vw-1210-tolerance-nuage-intacte-batterie-au-dessus-du-besoin',
label: 'temoin — meme passage nuageux, SOC 98 pour 70 % requis : la tolerance nuage tient la charge',
time: '2026-10-12T16:38:30+02:00',
overrides: {
...VW_1210, last_start_at: '2026-10-12 15:30:00', battery_soft_breach_at: '2026-10-12 16:37:30',
battery_current_a: '-20', cloud_debt_kwh: '0.5', cloud_debt_started_at: '2026-10-12 16:36:00',
prev_surplus_state: 'charging_hold_cloud_tolerance',
soc_percent: '98', balance_required_soc_prudent: '70.0',
},
expect: { state: 'charging_step_up_battery', desiredCharging: true },
},
];