P11: reset du collant 'plein' au changement de véhicule (charging_time)

- incident 12/08: JEEP chargée -> débranchée -> VW branchée bloquée par le
  collant night_recovery_done_idle de la JEEP
- snapshot +evcs_charging_time, INPUT_PARSE parseChargingTimeToSec
- WINDOWS: sessionFresh (<=90s) neutralise vehicleChargeCompleted/
  dayVehicleFullIdle/departureChargeDone/evcsStatusCharged
- golden 36->39, validé live 05:00:30 (VW débloquée: recovery_done -> wait_grid_takeover)
- HANDOFF §23 + MANUEL reset collant
This commit is contained in:
Tallagrand Thierry
2026-08-12 05:01:26 +02:00
parent 819eafd4d4
commit 5bc9784583
7 changed files with 167 additions and 3 deletions

View File

@@ -1066,3 +1066,48 @@ branché → tentatives légitimes (nuit P7 / jour solaire / P9 départ)
---
*Document mis à jour le : 09/08/2026 (~10:10) — P10 déployé et validé live, golden 36/36*
## 23. Session du 12/08/2026 — P11 : reset du collant au changement de véhicule
### Incident (nuit 12/08, captures utilisateur)
JEEP branchée 01:24, chargée en HC (cible 35% ADVISOR), fin de charge franche
→ état collant `night_recovery_done_idle`. Utilisateur débranche la JEEP et
branche la **VW** à sa place. L'état collant a SURVÉCU (le collant n'était
remis à zéro que par `vehicle_not_connected`, non vu de façon franche lors du
swap) → la VW était bloquée « charge véhicule terminée » alors que c'était
celle de la JEEP. La VW (déchargée) ne chargeait pas.
### Cause de conception
Tous les états collants "plein" (P8 night_*, P9 departure_*, P10 day_*) se
libéraient UNIQUEMENT au débranchement (vehicle_not_connected). Un remplacement
de véhicule rapide (ou un statut EVCS qui ne repasse pas franchement
"déconnecté") laissait le collant en place → nouveau véhicule bloqué.
### Fix P11 (déployé 12/08 05:00, golden 39/39, validé live à 05:00:30)
Signal fiable : `sensor.victron_evcs_charging_time` repart de 0 à CHAQUE
nouvelle connexion physique.
- Snapshot : +`evcs_charging_time` ; INPUT_PARSE : `parseChargingTimeToSec`
("1h 49m 53s"/"8m 27s"/"0s" → secondes), `parsed.evcsChargingTimeSec`.
- WINDOWS : `sessionFresh` = véhicule branché ET charging_time ≤ 90 s.
Neutralise `vehicleChargeCompleted`, `dayVehicleFullIdle`,
`departureChargeDone` ET `evcsStatusCharged` (statut 3 résiduel ignoré le
temps que la borne renégocie) → le système RETESTE le véhicule neuf.
- Export `sessionFresh` (traçabilité).
### Golden 36 → 39
p11-changement-vehicule-nuit (prev=night_recovery_done_idle + charging_time 15s
→ night_wait_grid_takeover, retest) · p11-changement-vehicule-jour
(day_vehicle_full_idle + 20s → solaire repart) · p11-session-etablie-reste-collant
(charging_time 2h05 → reste collant, pas de reset abusif).
### Validation live
05:00:00 PUT → 05:00:30 : la VW est passée de `night_recovery_done_idle`
(bloqué) à `night_wait_grid_takeover` / source « Réseau HC autorisé ».
### Récapitulatif des remises à zéro du collant "plein"
1. DÉBRANCHEMENT (vehicle_not_connected) ;
2. CHANGEMENT DE VÉHICULE / nouvelle connexion (charging_time ≤ 90 s, P11) ;
3. force_charge_now / force_grid_now (échappatoires manuelles).
---
*Document mis à jour le : 12/08/2026 (~05:05) — P11 déployé et validé live, golden 39/39*