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:
Tallagrand Thierry
2026-08-09 06:31:33 +02:00
parent 9bc4af0ea1
commit b287e5ba73
7 changed files with 225 additions and 5 deletions

View File

@@ -322,7 +322,13 @@ const prevSurplusState = (input.prev_surplus_state ?? '').toString().trim().toLo
// charge, sans attendre le VehicleDemandFilter (désarmé si la session a été
// stoppée par une garde, ex battery_current_hard_stop → détection tardive
// observée la nuit du 07-08/08).
const evcsStatusCharged = Number.parseFloat(parsed.evcsStatusRaw) === 3;
// Fix E (09/08/2026) : garde puissance ≤ 300 W pour ne jamais latcher "fini"
// sur un glitch de statut pendant une vraie charge. NB : le statut retombe
// (3→1/6) dès l'ouverture du relais → la persistance est assurée par l'état
// collant écrit par DECISION pendant la session (voir Fix E DECISION).
const evcsStatusCharged =
Number.parseFloat(parsed.evcsStatusRaw) === 3 &&
Math.max(0, parsed.evcsAcPowerW || 0) <= 300;
const vehicleChargeCompleted =
nightSessionActive &&