P8: libération EDF quand véhicule plein (nuit HC) + fix latch inversé du 04/08
- vehicleChargeCompleted COLLANT via prev_surplus_state (nouveau champ snapshot): vehicle_full_or_paused -> night_session_done_idle auto-entretenu jusqu'au débranchement ou fin de fenêtre. - Fix inversion 04/08: le latch takeover se libère à la fin de charge (était: || vehicleChargeCompleted qui le GARDAIT). - P7 relâché quand charge finie; sourceMode nuit -> blocked (zéro retry). - SOC > cible: takeover OFF -> hystérésis coupe EDF. SOC <= cible: takeover ON -> EDF maintenu + ACM recharge batterie (spec 'sauf si sous seuil'). - night_session_done_idle ne matche aucun pattern no-demand de l'hystérésis (condition de fonctionnement de l'override batterie basse). - Golden: 19/19 (3 nouveaux scénarios P8, 16 existants inchangés).
This commit is contained in:
@@ -135,6 +135,75 @@ export const scenarios = [
|
||||
},
|
||||
},
|
||||
|
||||
// ================= FIN DE CHARGE NUIT (P8) =================
|
||||
{
|
||||
id: 'night-vw-pleine-transition',
|
||||
label: 'Nuit HC 04:00, cycle après vehicle_full_or_paused → veille done_idle, takeover relâché',
|
||||
time: '2026-08-08T04:00:00+02:00',
|
||||
overrides: {
|
||||
...VEHICLE_NIGHT, soc_percent: '60', allow_grid_hc_night: 'on',
|
||||
grid_state: 'on', victron_acin1_available: '1',
|
||||
battery_current_a: '2', night_takeover_prev: 'on',
|
||||
evcs_charging_switch: 'off',
|
||||
prev_surplus_state: 'vehicle_full_or_paused',
|
||||
},
|
||||
expect: {
|
||||
profile: 'night_hc',
|
||||
sourceMode: 'blocked',
|
||||
state: 'night_session_done_idle',
|
||||
decision: 'hold',
|
||||
desiredCharging: false,
|
||||
currentA: 6,
|
||||
takeoverNeeded: false,
|
||||
edfOnAction: false,
|
||||
takeoverHelperService: 'turn_off',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'night-vw-pleine-autoentretien',
|
||||
label: 'Nuit HC 05:00, veille done_idle auto-entretenue, EDF déjà coupé → reste en veille',
|
||||
time: '2026-08-08T05:00:00+02:00',
|
||||
overrides: {
|
||||
...VEHICLE_NIGHT, soc_percent: '55', allow_grid_hc_night: 'on',
|
||||
evcs_charging_switch: 'off',
|
||||
prev_surplus_state: 'night_session_done_idle',
|
||||
},
|
||||
expect: {
|
||||
profile: 'night_hc',
|
||||
sourceMode: 'blocked',
|
||||
state: 'night_session_done_idle',
|
||||
decision: 'hold',
|
||||
desiredCharging: false,
|
||||
currentA: 6,
|
||||
takeoverNeeded: false,
|
||||
edfOnAction: false,
|
||||
takeoverHelperService: 'turn_off',
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 'night-vw-pleine-batterie-basse-edf-maintenu',
|
||||
label: 'Nuit HC 05:00, VW pleine MAIS SOC 30 ≤ cible 35 → takeover maintenu (recharge batterie), EVCS en veille',
|
||||
time: '2026-08-08T05:00:00+02:00',
|
||||
overrides: {
|
||||
...VEHICLE_NIGHT, soc_percent: '30', allow_grid_hc_night: 'on',
|
||||
grid_state: 'on', victron_acin1_available: '1',
|
||||
battery_current_a: '2', night_takeover_prev: 'on',
|
||||
evcs_charging_switch: 'off',
|
||||
prev_surplus_state: 'night_session_done_idle',
|
||||
},
|
||||
expect: {
|
||||
profile: 'night_hc',
|
||||
sourceMode: 'blocked',
|
||||
state: 'night_session_done_idle',
|
||||
decision: 'hold',
|
||||
desiredCharging: false,
|
||||
currentA: 6,
|
||||
takeoverNeeded: true,
|
||||
edfOnAction: false,
|
||||
takeoverHelperService: 'turn_on',
|
||||
},
|
||||
},
|
||||
|
||||
// ================= JOUR SOLAIRE =================
|
||||
{
|
||||
id: 'morning-solaire-fort',
|
||||
|
||||
Reference in New Issue
Block a user