Fix E: latch 'charge terminée' en session active + coupure recovery_done (incident rebond 08-09/08)
- DECISION: branche completed prioritaire dans la session active (avant VDF/source-lost) → état collant écrit au 1er cycle status=3, relais encore fermé - WINDOWS: garde puissance <=300W sur Fix D (anti-glitch) - Hystérésis: turn_off_recovery_done (bypass min_on, dry-run 5 cas) - golden 23→25 (session armée status 3, flap statut post-latch) - HANDOFF §18
This commit is contained in:
54
HANDOFF.md
54
HANDOFF.md
@@ -801,3 +801,57 @@ P7 a chargé la VW dès 01:24 ✓ (session 1h32m). Ensuite :
|
||||
|
||||
---
|
||||
*Document mis à jour le : 08/08/2026 (~14:15) — fixes A/B/C/D déployés, golden 23/23*
|
||||
|
||||
## 18. Session du 09/08/2026 — Incident nuit 08-09/08 : le rebond est revenu par un AUTRE chemin (Fix E)
|
||||
|
||||
### Incident (captures HA, VW branchée, HC, VW pleine vers ~03:00)
|
||||
Fix A/D du 08/08 ont bien fonctionné CÔTÉ WINDOWS (status 3 → completed →
|
||||
takeover Désactivé, source blocked). MAIS l'état EVCS observé était
|
||||
`hold_min_run_source_lost` / `stop_source_lost` — jamais `night_recovery_done_idle`.
|
||||
Cycles ~30 min de 03:00 à 05:40 : EDF ON (2531 W réseau, SOC 51 % > cible 35)
|
||||
→ arrêt urgence utilisateur 05:43 (EDF URGENCE OFF + stratégie stop) → débranchement.
|
||||
|
||||
### Root cause (ordre des branches DECISION)
|
||||
1. Status 3 arrive PENDANT la session armée (relais fermé, chg=1/perm=1/l=1).
|
||||
2. WINDOWS → sourceMode 'blocked' (Fix D) ; mais dans DECISION la branche
|
||||
session ACTIVE traite 'blocked' comme « source perdue » :
|
||||
`hold_min_run_source_lost` (25 min de session zombie !) puis `stop_source_lost`.
|
||||
La branche P8 (état collant) est dans la chaîne NON-active → jamais atteinte.
|
||||
3. Au stop, le relais s'ouvre → le statut EVCS RETOMBE (3 → 1/6, même piège que
|
||||
le VDF documenté en P8) → completed=false → re-P7 → takeover ON 1 cycle →
|
||||
`edf_general_ok_on` rallume EDF + restart → status 3 → goto 2. Rebond ~30 min.
|
||||
4. L'hystérésis adoptait l'EDF ON du cycle de flap puis `hold_on_min_runtime`
|
||||
25 min (ov=0/eg=0 ensuite, mais latch pris) → EDF ON quasi permanent.
|
||||
|
||||
### Fix E (déployé 09/08 ~06:25, golden 25/25)
|
||||
- **DECISION** : nouvelle PREMIÈRE branche du bloc session-active (avant VDF) :
|
||||
`night_hc && vehicleChargeCompleted && !force*` → setOff immédiat avec l'état
|
||||
collant (`night_recovery_done_idle` si SOC ≥ cible, sinon
|
||||
`night_session_done_idle`), decision `stop_vehicle_full_or_paused`.
|
||||
→ l'état collant est écrit AU PREMIER cycle où status=3, relais encore fermé ;
|
||||
les retombées de statut ensuite sont sans effet (prev state dans la liste).
|
||||
- **WINDOWS** : garde puissance sur Fix D (`status==3 && evcsAcPowerW <= 300 W`)
|
||||
pour ne jamais latcher sur un glitch en pleine charge.
|
||||
- **Hystérésis** (patch tools/patch-20260809-e2-recovery-done-cut.mjs) :
|
||||
`turn_off_recovery_done` = es=night_recovery_done_idle + pas d'override +
|
||||
SOC ≥ seuil OFF → coupure EDF immédiate (bypass min_on 25). Sûr car l'état
|
||||
est collant (le takeover ne peut pas revenir, sauf SOC ≤ cible−2 → override).
|
||||
Dry-run 5 cas validé avant push.
|
||||
|
||||
### Golden : 23 → 25
|
||||
- `night-charged-en-session-active` : status 3 en session ARMÉE → arrêt propre
|
||||
+ latch immédiat (LE chemin de l'incident) ;
|
||||
- `night-flap-statut-apres-latch` : relais ouvert, statut retombé à 1,
|
||||
prev=night_recovery_done_idle → collant, aucun re-P7/EDF.
|
||||
|
||||
### Comportement attendu au REBRANCHEMENT d'une VW pleine en HC
|
||||
1. Session nuit → P7 → EDF ON → tentative de charge (inévitable : le système
|
||||
ne peut pas savoir que la VW est pleine sans fermer le relais) ;
|
||||
2. VW refuse (0 W, status 3) → ≤ 1 min : `night_recovery_done_idle` collant,
|
||||
takeover OFF, session stoppée proprement ;
|
||||
3. Hystérésis : `turn_off_recovery_done` → EDF OFF ≤ 1 min (plus de min_on 25) ;
|
||||
4. Plus RIEN jusqu'au débranchement / fin de fenêtre (flaps de statut ignorés).
|
||||
Total attendu : EDF ON ~2-3 min UNE seule fois, puis silence.
|
||||
|
||||
---
|
||||
*Document mis à jour le : 09/08/2026 (~06:35) — Fix E déployé (EVCS + hystérésis), golden 25/25*
|
||||
|
||||
Reference in New Issue
Block a user