Bouton reset borne : echappatoire manuelle quand la borne se fige
Filet MANUEL complementaire a P11-bis : quand meme le second signal echoue (borne physiquement coincee), l'appui sur input_boolean.evcs_reset_borne force une session fraiche pour un cycle -> nettoie le collant -> retest du vehicule. Momentane : le controleur (HA_SERVICE_CALLS) le rebascule off apres avoir agi, il ne peut donc pas forcer un retest en boucle. - gabarit + INPUT_PARSE (params.resetBorneRequested) + sessionFresh (OU bouton) - helper_reset_borne_ack : turn_off si le bouton etait ON - paquet evcs_reset_borne.yaml (SANS initial:, lecon du 06/09), reload fait - golden 115 -> 116 : reset-borne-force-retest (session etablie + bouton ON -> retest + ack off). Mutation : bouton neutralise -> le scenario tombe. Gabarit rendu contre HA : 203 champs, aucun null. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
@@ -1120,6 +1120,18 @@ return [{
|
||||
}
|
||||
},
|
||||
|
||||
// Bouton reset borne (19/09/2026) : momentane. Il a deja fait son effet
|
||||
// dans WINDOWS (sessionFresh forcee ce cycle) ; on le rebascule off pour
|
||||
// qu'il ne force pas un retest en boucle. N'ecrit que s'il etait ON.
|
||||
helper_reset_borne_ack: {
|
||||
execute: !!params.resetBorneRequested,
|
||||
domain: 'input_boolean',
|
||||
service: 'turn_off',
|
||||
data: {
|
||||
entity_id: 'input_boolean.evcs_reset_borne'
|
||||
}
|
||||
},
|
||||
|
||||
helper_cloud_debt_started_at: {
|
||||
execute: true,
|
||||
domain: 'input_datetime',
|
||||
|
||||
@@ -137,6 +137,7 @@
|
||||
"evening_stop_time": states("input_datetime.victron_evcs_evening_stop"),
|
||||
|
||||
"allow_grid_hc_night": states("input_boolean.victron_evcs_allow_grid_hc_night"),
|
||||
"reset_borne": states("input_boolean.evcs_reset_borne"),
|
||||
"night_takeover_prev": states("input_boolean.victron_evcs_night_grid_takeover_needed"),
|
||||
"night_grid_session_committed_prev": states("input_boolean.victron_evcs_night_grid_session_committed"),
|
||||
"prev_surplus_state": states("input_text.victron_evcs_surplus_state"),
|
||||
|
||||
@@ -471,6 +471,11 @@ const params = {
|
||||
parseTimeToMinutes(input.day_stop_time, 20 * 60 + 30)
|
||||
),
|
||||
|
||||
// Bouton reset borne (19/09/2026) : echappatoire MANUELLE quand la borne
|
||||
// se fige (swap trop rapide, statut coince). Force une session fraiche
|
||||
// pour un cycle -> nettoie le collant -> retest. Le controleur le
|
||||
// rebascule off apres avoir agi (momentane).
|
||||
resetBorneRequested: low(input.reset_borne || 'off') === 'on',
|
||||
allowGridHcNight: low(input.allow_grid_hc_night || 'off') === 'on',
|
||||
allowGridHcMidday: low(input.allow_grid_hc_midday || 'off') === 'on',
|
||||
|
||||
|
||||
@@ -431,6 +431,7 @@ const P11_FRESH_SESSION_MAX_SEC = 90;
|
||||
const sessionFresh =
|
||||
parsed.evcsVehicleConnected &&
|
||||
(
|
||||
params.resetBorneRequested || // echappatoire manuelle (bouton reset borne)
|
||||
(Number.isFinite(parsed.evcsChargingTimeSec) &&
|
||||
parsed.evcsChargingTimeSec <= P11_FRESH_SESSION_MAX_SEC) ||
|
||||
(Number.isFinite(parsed.evcsVehicleConnectedAgeSec) &&
|
||||
|
||||
Reference in New Issue
Block a user