P11-bis : second signal de fraicheur de session, independant du charging_time borne
Incident du 19/09 : VW debranchee ~14:50, JEEP branchee, mais le swap n'a dure que 14 s. La borne a GELE son etat (charging_time reste a 1h25, jamais reinitialise) → P11 (base uniquement sur charging_time <= 90s) restait aveugle → le collant 'vehicule plein' de la VW bloquait la JEEP, qui n'a pas charge de l'apres-midi. Un debranchement FRANC de 30s a tout debloque (borne reset). Le last_changed du capteur de connexion, lui, a bien bouge sur le swap de 14 s (14:54:17). C'etait l'info qui manquait : personne ne la lisait. sessionFresh gagne donc un SECOND terme, l'age du dernier (re)branchement, meme fenetre 90s, independant de la borne : - gabarit : evcs_vehicle_connected_ts (as_timestamp du last_changed, patron acin1_last_changed_ts §29) ; - INPUT_PARSE : evcsVehicleConnectedAgeSec (Infinity si absent => repli sur) ; - WINDOWS : sessionFresh = charging_time bas OU reconnexion recente. Golden 113 -> 115 : p11bis-swap-rapide-borne-figee (charging_time fige 1h25 + reconnexion 30s -> retest) et son contrefactuel reconnexion-vieille (2h -> reste collant). Gabarit rendu contre HA : 202 champs, aucun null. Mutation deux sens : retrait du signal -> le swap tombe ; fenetre infinie -> l'etablie tombe. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
@@ -340,6 +340,17 @@ const parsed = {
|
||||
|
||||
evcsAcPowerW: Math.max(0, num(input.evcs_ac_power_w, 0)),
|
||||
evcsChargingTimeSec: parseChargingTimeToSec(input.evcs_charging_time),
|
||||
// P11-bis (19/09/2026) : age, en secondes, du dernier changement du
|
||||
// capteur de connexion. C'est le SECOND signal de fraicheur, independant
|
||||
// du charging_time de la borne — qui gele sur un swap trop rapide (14 s
|
||||
// le 19/09) et laisse alors P11 aveugle. last_changed du binary_sensor,
|
||||
// lui, bouge sur ce meme swap. Horodatage absent/nul => age infini =>
|
||||
// aucun effet, comportement historique (on ne devine pas un branchement).
|
||||
evcsVehicleConnectedAgeSec: (() => {
|
||||
const ts = num(input.evcs_vehicle_connected_ts, 0);
|
||||
if (!(ts > 0)) return Number.POSITIVE_INFINITY;
|
||||
return Math.max(0, (nowMs / 1000) - ts);
|
||||
})(),
|
||||
// Energie deja livree par la session EN COURS (kWh). Le capteur de la borne
|
||||
// s'appelle "last_session_energy" mais il suit la session courante et repart
|
||||
// de zero a chaque nouvelle connexion (verifie le 07/09/2026 : 0 -> 0,1 -> 0,2
|
||||
|
||||
Reference in New Issue
Block a user