Fix F: mémoire 'charge terminée' prioritaire sur les gardes (rebond rebranchement 09/08)
- DECISION: branche done/recovery_done remontée dans la cascade principale (avant mustStopHard) → le collant se réécrit chaque cycle, survit aux micro-charges de la VW et aux hard stops batterie - branche Fix E interne supprimée (remplacée par la branche haute) - golden 25→26 (night-hard-stop-necrase-pas-done) - HANDOFF §19
This commit is contained in:
41
HANDOFF.md
41
HANDOFF.md
@@ -855,3 +855,44 @@ 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*
|
||||
|
||||
## 19. Session du 09/08/2026 (suite) — Fix F : la mémoire "charge terminée" est prioritaire sur les gardes
|
||||
|
||||
### Test de rebranchement utilisateur (~06:33, VW rebranchée en HC)
|
||||
1. ✅ Fix E validé en réel : 06:51:00 `night_recovery_done_idle` latché,
|
||||
06:51:03 `turn_off_recovery_done` → EDF coupé immédiatement (bypass min_on).
|
||||
2. ❌ 06:53-06:56 : la VW a relancé une charge (status 2) qui, EDF OFF, tirait
|
||||
sur la batterie (−47 A) → garde `mustStopHard` → état
|
||||
`battery_current_hard_stop` ÉCRIT PAR-DESSUS le collant dans le helper →
|
||||
completed perdu → re-P7 → EDF rallumé (hold_on_evcs_override, re-min_on 25).
|
||||
→ Le collant ne survivait à AUCUN état émis par une branche plus prioritaire.
|
||||
|
||||
### Fix F (déployé 09/08 ~07:00, golden 26/26)
|
||||
- DECISION : nouvelle branche dans la cascade PRINCIPALE, entre
|
||||
`vehicle_not_connected` et `mustStopHard` :
|
||||
`night_hc && vehicleChargeCompleted && !force*` → setOff avec l'état collant
|
||||
(recovery_done/done_idle), `mustStop` si la borne est encore armée.
|
||||
→ l'état collant est réécrit à CHAQUE cycle tant que VW branchée + fenêtre,
|
||||
il survit aux micro-charges/gardes. Aucune perte de protection (le setOff
|
||||
coupe chg/perm/latch comme un hard stop).
|
||||
- La branche Fix E interne (session active) supprimée : remplacée par la
|
||||
branche haute. La branche P8 historique (chaîne non-active) reste en filet.
|
||||
- Golden 26 : `night-hard-stop-necrase-pas-done` (micro-charge −60 A sur
|
||||
batterie avec prev=recovery_done → l'état reste recovery_done, stop ferme).
|
||||
|
||||
### Leçon d'architecture (pour le futur)
|
||||
La "mémoire" portée par input_text.victron_evcs_surplus_state est fragile :
|
||||
tout état émis l'écrase. Fix F la protège en réécrivant chaque cycle, mais la
|
||||
solution PROPRE à terme est un helper dédié (input_boolean
|
||||
victron_evcs_night_charge_done, package YAML + reload HA) si un nouveau cas
|
||||
d'écrasement apparaît.
|
||||
|
||||
### Relecture de la nuit 08-09/08 (après coup)
|
||||
La VW n'a pris que 5 kWh cette nuit, morcelés par les stops zombies (§18) :
|
||||
elle n'était probablement PAS pleine. Les "micro-charges" du matin étaient de
|
||||
vraies reprises. À 07:00 (post-Fix F) : charging_step_up_grid_hc = charge HC
|
||||
nominale jusqu'à la fin de fenêtre 07:24. Le collant ne se posera que sur un
|
||||
VRAI signal de fin (VDF no-demand ou status 3) — et tiendra désormais.
|
||||
|
||||
---
|
||||
*Document mis à jour le : 09/08/2026 (~07:05) — Fix F déployé, golden 26/26*
|
||||
|
||||
Reference in New Issue
Block a user