P9: charge réseau avant départ (hors HC) + sélecteur véhicule VW/JEEP

- helpers: input_select.victron_evcs_vehicle, departure_time_jeep (06:30),
  toggle allow_grid_departure_urgent (OFF) — package victron_evcs_vehicles.yaml
- INPUT_PARSE: departureTimeMin par véhicule sélectionné
- WINDOWS: fenêtre départ ≤120min hors HC → grid_hc_allowed (solar_only prioritaire),
  état collant departure_done_idle à la fin de charge
- BCL: gridAllowedBySoc += departureUrgentActive
- DECISION: branche collante departure_done_idle au-dessus des gardes
- HA_SERVICE_CALLS: takeover helper tenu pendant P9 (ACM + hystérésis)
- hystérésis: cut immédiat étendu à departure_done_idle (patch rejouable)
- golden 29→33, HANDOFF §21
This commit is contained in:
Tallagrand Thierry
2026-08-09 08:27:24 +02:00
parent 98c9202bad
commit 0419c741de
11 changed files with 312 additions and 9 deletions

View File

@@ -519,6 +519,28 @@ else if (
});
}
// =====================================================
// P9 (09/08/2026) : véhicule plein pendant la fenêtre "départ imminent"
// (jour, hors HC) → veille COLLANTE 'departure_done_idle', réécrite chaque
// cycle au-dessus des gardes (même principe que Fix F). Le réseau est
// relâché, l'hystérésis coupe immédiatement (cut E2 étendu).
// =====================================================
else if (
nightEvcs?.departureChargeDone &&
!manualLocalChargeAllowed &&
!strategy.forceGridRequested
) {
setOff({
stateName: 'departure_done_idle',
decisionName: cloud.sessionObservedActive ? 'stop_vehicle_full_or_paused' : 'hold',
reasonText: 'Charge terminée avant départ : veille, réseau relâché',
dynamic: false,
mustStopFlag: !!cloud.sessionObservedActive,
blockReason: 'none',
blockedUntilStamp: now.stamp,
});
}
else if (safeguards.mustStopHard) {
setOff({
stateName: