Cinquante reglages batterie qui disparaissaient au redemarrage
Le proprietaire demande d assouplir la garde de decharge souple en bande 40-60, de -12 a -15 A de base — 39 a 49 A appliques sur treize modules, soit 3,5 A par equivalent US2000 et 19 % de ce que le BMS autorise. Son argument : en ete, avec 52 panneaux et une production bridee des midi, garder le parc plein n a aucun sens, et cette nuit a coute 8 kWh de reseau en touchant a peine la batterie. Le reglage aurait ete perdu. Les cinquante helpers de la table de politique batterie portaient un `initial:`, qui DESACTIVE la restauration d etat : chaque redemarrage de Home Assistant les remet a leur valeur d origine, en silence. Et un redemarrage etait prevu le soir meme pour le tableau du moniteur LLM. Meme defaut que les cinq helpers corriges le 06/09 — selecteur de vehicule, toggles de cablage — mais ici sur une table entiere de REGLAGE, donc sur tout ajustement futur et pas seulement celui-ci. Les valeurs par defaut restent dans INPUT_PARSE, qui les applique quand le helper est absent. Rien n est perdu. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
@@ -1,3 +1,18 @@
|
|||||||
|
# ⚠️ AUCUN `initial:` DANS CE FICHIER, ET C'EST DELIBERE.
|
||||||
|
#
|
||||||
|
# Declarer `initial:` DESACTIVE la restauration d'etat : le helper est force a
|
||||||
|
# cette valeur a CHAQUE demarrage de Home Assistant. Pour une table de REGLAGE,
|
||||||
|
# c'est un piege — tout ajustement disparait au prochain redemarrage, sans
|
||||||
|
# message, et on cherche ensuite pourquoi le comportement a change.
|
||||||
|
#
|
||||||
|
# Constate le 15/09/2026 : le passage de `batt_discharge_soft_40_60_a` de -12 a
|
||||||
|
# -15 A, decide pour permettre la charge nuit sur batterie, aurait ete annule
|
||||||
|
# par le redemarrage prevu le soir meme. Meme defaut que les cinq helpers
|
||||||
|
# corriges le 06/09 (selecteur de vehicule, toggles de cablage).
|
||||||
|
#
|
||||||
|
# Les valeurs par defaut restent dans le CODE (`INPUT_PARSE.js`), qui les
|
||||||
|
# applique quand le helper est absent ou illisible. Rien n'est perdu.
|
||||||
|
|
||||||
input_number:
|
input_number:
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -11,7 +26,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 10
|
|
||||||
|
|
||||||
victron_evcs_solar_potential_grace_minutes:
|
victron_evcs_solar_potential_grace_minutes:
|
||||||
name: EVCS Batt - Grâce solaire potentiel
|
name: EVCS Batt - Grâce solaire potentiel
|
||||||
@@ -20,7 +34,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 12
|
|
||||||
|
|
||||||
victron_evcs_step_up_cooldown_seconds:
|
victron_evcs_step_up_cooldown_seconds:
|
||||||
name: EVCS Batt - Cooldown montée courant
|
name: EVCS Batt - Cooldown montée courant
|
||||||
@@ -29,7 +42,6 @@ input_number:
|
|||||||
step: 5
|
step: 5
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 30
|
|
||||||
|
|
||||||
victron_evcs_step_down_cooldown_seconds:
|
victron_evcs_step_down_cooldown_seconds:
|
||||||
name: EVCS Batt - Cooldown baisse courant
|
name: EVCS Batt - Cooldown baisse courant
|
||||||
@@ -38,7 +50,6 @@ input_number:
|
|||||||
step: 5
|
step: 5
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 60
|
|
||||||
|
|
||||||
victron_evcs_force_mode_auto_revert_minutes:
|
victron_evcs_force_mode_auto_revert_minutes:
|
||||||
name: EVCS Batt - Retour auto mode forcé
|
name: EVCS Batt - Retour auto mode forcé
|
||||||
@@ -47,7 +58,6 @@ input_number:
|
|||||||
step: 5
|
step: 5
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 120
|
|
||||||
|
|
||||||
victron_evcs_overload_step_down_a:
|
victron_evcs_overload_step_down_a:
|
||||||
name: EVCS Batt - Step-down surcharge convertisseur
|
name: EVCS Batt - Step-down surcharge convertisseur
|
||||||
@@ -56,7 +66,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: 2
|
|
||||||
|
|
||||||
victron_evcs_overload_hold_seconds:
|
victron_evcs_overload_hold_seconds:
|
||||||
name: EVCS Batt - Maintien avant nouvelle baisse surcharge
|
name: EVCS Batt - Maintien avant nouvelle baisse surcharge
|
||||||
@@ -65,7 +74,6 @@ input_number:
|
|||||||
step: 5
|
step: 5
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 30
|
|
||||||
|
|
||||||
victron_evcs_overload_stop_after_seconds:
|
victron_evcs_overload_stop_after_seconds:
|
||||||
name: EVCS Batt - Arrêt surcharge persistante
|
name: EVCS Batt - Arrêt surcharge persistante
|
||||||
@@ -74,7 +82,6 @@ input_number:
|
|||||||
step: 10
|
step: 10
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 120
|
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -88,7 +95,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -50
|
|
||||||
|
|
||||||
victron_evcs_batt_discharge_hard_gt90_a:
|
victron_evcs_batt_discharge_hard_gt90_a:
|
||||||
name: EVCS Batt >90 - Décharge hard
|
name: EVCS Batt >90 - Décharge hard
|
||||||
@@ -97,7 +103,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -100
|
|
||||||
|
|
||||||
victron_evcs_batt_charge_reserve_gt90_a:
|
victron_evcs_batt_charge_reserve_gt90_a:
|
||||||
name: EVCS Batt >90 - Réserve charge batterie
|
name: EVCS Batt >90 - Réserve charge batterie
|
||||||
@@ -106,7 +111,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: 5
|
|
||||||
|
|
||||||
victron_evcs_batt_soft_tol_gt90_min:
|
victron_evcs_batt_soft_tol_gt90_min:
|
||||||
name: EVCS Batt >90 - Tolérance soft
|
name: EVCS Batt >90 - Tolérance soft
|
||||||
@@ -115,7 +119,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 12
|
|
||||||
|
|
||||||
victron_evcs_batt_hard_tol_gt90_sec:
|
victron_evcs_batt_hard_tol_gt90_sec:
|
||||||
name: EVCS Batt >90 - Tolérance hard
|
name: EVCS Batt >90 - Tolérance hard
|
||||||
@@ -124,7 +127,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 20
|
|
||||||
|
|
||||||
victron_evcs_batt_recovery_gt90_min:
|
victron_evcs_batt_recovery_gt90_min:
|
||||||
name: EVCS Batt >90 - Récupération
|
name: EVCS Batt >90 - Récupération
|
||||||
@@ -133,7 +135,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 6
|
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -147,7 +148,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -40
|
|
||||||
|
|
||||||
victron_evcs_batt_discharge_hard_80_90_a:
|
victron_evcs_batt_discharge_hard_80_90_a:
|
||||||
name: EVCS Batt 80-90 - Décharge hard
|
name: EVCS Batt 80-90 - Décharge hard
|
||||||
@@ -156,7 +156,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -80
|
|
||||||
|
|
||||||
victron_evcs_batt_charge_reserve_80_90_a:
|
victron_evcs_batt_charge_reserve_80_90_a:
|
||||||
name: EVCS Batt 80-90 - Réserve charge batterie
|
name: EVCS Batt 80-90 - Réserve charge batterie
|
||||||
@@ -165,7 +164,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: 10
|
|
||||||
|
|
||||||
victron_evcs_batt_soft_tol_80_90_min:
|
victron_evcs_batt_soft_tol_80_90_min:
|
||||||
name: EVCS Batt 80-90 - Tolérance soft
|
name: EVCS Batt 80-90 - Tolérance soft
|
||||||
@@ -174,7 +172,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 10
|
|
||||||
|
|
||||||
victron_evcs_batt_hard_tol_80_90_sec:
|
victron_evcs_batt_hard_tol_80_90_sec:
|
||||||
name: EVCS Batt 80-90 - Tolérance hard
|
name: EVCS Batt 80-90 - Tolérance hard
|
||||||
@@ -183,7 +180,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 20
|
|
||||||
|
|
||||||
victron_evcs_batt_recovery_80_90_min:
|
victron_evcs_batt_recovery_80_90_min:
|
||||||
name: EVCS Batt 80-90 - Récupération
|
name: EVCS Batt 80-90 - Récupération
|
||||||
@@ -192,7 +188,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 6
|
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -206,7 +201,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -20
|
|
||||||
|
|
||||||
victron_evcs_batt_discharge_hard_60_80_a:
|
victron_evcs_batt_discharge_hard_60_80_a:
|
||||||
name: EVCS Batt 60-80 - Décharge hard
|
name: EVCS Batt 60-80 - Décharge hard
|
||||||
@@ -215,7 +209,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -50
|
|
||||||
|
|
||||||
victron_evcs_batt_charge_reserve_60_80_a:
|
victron_evcs_batt_charge_reserve_60_80_a:
|
||||||
name: EVCS Batt 60-80 - Réserve charge batterie
|
name: EVCS Batt 60-80 - Réserve charge batterie
|
||||||
@@ -224,7 +217,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: 40
|
|
||||||
|
|
||||||
victron_evcs_batt_soft_tol_60_80_min:
|
victron_evcs_batt_soft_tol_60_80_min:
|
||||||
name: EVCS Batt 60-80 - Tolérance soft
|
name: EVCS Batt 60-80 - Tolérance soft
|
||||||
@@ -233,7 +225,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 6
|
|
||||||
|
|
||||||
victron_evcs_batt_hard_tol_60_80_sec:
|
victron_evcs_batt_hard_tol_60_80_sec:
|
||||||
name: EVCS Batt 60-80 - Tolérance hard
|
name: EVCS Batt 60-80 - Tolérance hard
|
||||||
@@ -242,7 +233,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 15
|
|
||||||
|
|
||||||
victron_evcs_batt_recovery_60_80_min:
|
victron_evcs_batt_recovery_60_80_min:
|
||||||
name: EVCS Batt 60-80 - Récupération
|
name: EVCS Batt 60-80 - Récupération
|
||||||
@@ -251,7 +241,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 8
|
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -265,7 +254,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -12
|
|
||||||
|
|
||||||
victron_evcs_batt_discharge_hard_40_60_a:
|
victron_evcs_batt_discharge_hard_40_60_a:
|
||||||
name: EVCS Batt 40-60 - Décharge hard
|
name: EVCS Batt 40-60 - Décharge hard
|
||||||
@@ -274,7 +262,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -30
|
|
||||||
|
|
||||||
victron_evcs_batt_charge_reserve_40_60_a:
|
victron_evcs_batt_charge_reserve_40_60_a:
|
||||||
name: EVCS Batt 40-60 - Réserve charge batterie
|
name: EVCS Batt 40-60 - Réserve charge batterie
|
||||||
@@ -283,7 +270,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: 70
|
|
||||||
|
|
||||||
victron_evcs_batt_soft_tol_40_60_min:
|
victron_evcs_batt_soft_tol_40_60_min:
|
||||||
name: EVCS Batt 40-60 - Tolérance soft
|
name: EVCS Batt 40-60 - Tolérance soft
|
||||||
@@ -292,7 +278,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 4
|
|
||||||
|
|
||||||
victron_evcs_batt_hard_tol_40_60_sec:
|
victron_evcs_batt_hard_tol_40_60_sec:
|
||||||
name: EVCS Batt 40-60 - Tolérance hard
|
name: EVCS Batt 40-60 - Tolérance hard
|
||||||
@@ -301,7 +286,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 10
|
|
||||||
|
|
||||||
victron_evcs_batt_recovery_40_60_min:
|
victron_evcs_batt_recovery_40_60_min:
|
||||||
name: EVCS Batt 40-60 - Récupération
|
name: EVCS Batt 40-60 - Récupération
|
||||||
@@ -310,7 +294,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 10
|
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -324,7 +307,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -5
|
|
||||||
|
|
||||||
victron_evcs_batt_discharge_hard_25_40_a:
|
victron_evcs_batt_discharge_hard_25_40_a:
|
||||||
name: EVCS Batt 25-40 - Décharge hard
|
name: EVCS Batt 25-40 - Décharge hard
|
||||||
@@ -333,7 +315,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -15
|
|
||||||
|
|
||||||
victron_evcs_batt_charge_reserve_25_40_a:
|
victron_evcs_batt_charge_reserve_25_40_a:
|
||||||
name: EVCS Batt 25-40 - Réserve charge batterie
|
name: EVCS Batt 25-40 - Réserve charge batterie
|
||||||
@@ -342,7 +323,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: 110
|
|
||||||
|
|
||||||
victron_evcs_batt_soft_tol_25_40_min:
|
victron_evcs_batt_soft_tol_25_40_min:
|
||||||
name: EVCS Batt 25-40 - Tolérance soft
|
name: EVCS Batt 25-40 - Tolérance soft
|
||||||
@@ -351,7 +331,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 2
|
|
||||||
|
|
||||||
victron_evcs_batt_hard_tol_25_40_sec:
|
victron_evcs_batt_hard_tol_25_40_sec:
|
||||||
name: EVCS Batt 25-40 - Tolérance hard
|
name: EVCS Batt 25-40 - Tolérance hard
|
||||||
@@ -360,7 +339,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 5
|
|
||||||
|
|
||||||
victron_evcs_batt_recovery_25_40_min:
|
victron_evcs_batt_recovery_25_40_min:
|
||||||
name: EVCS Batt 25-40 - Récupération
|
name: EVCS Batt 25-40 - Récupération
|
||||||
@@ -369,7 +347,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 12
|
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -383,7 +360,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -3
|
|
||||||
|
|
||||||
victron_evcs_batt_discharge_hard_lt25_a:
|
victron_evcs_batt_discharge_hard_lt25_a:
|
||||||
name: EVCS Batt <25 - Décharge hard
|
name: EVCS Batt <25 - Décharge hard
|
||||||
@@ -392,7 +368,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: -8
|
|
||||||
|
|
||||||
victron_evcs_batt_charge_reserve_lt25_a:
|
victron_evcs_batt_charge_reserve_lt25_a:
|
||||||
name: EVCS Batt <25 - Réserve charge batterie
|
name: EVCS Batt <25 - Réserve charge batterie
|
||||||
@@ -401,7 +376,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: A
|
unit_of_measurement: A
|
||||||
mode: box
|
mode: box
|
||||||
initial: 150
|
|
||||||
|
|
||||||
victron_evcs_batt_soft_tol_lt25_min:
|
victron_evcs_batt_soft_tol_lt25_min:
|
||||||
name: EVCS Batt <25 - Tolérance soft
|
name: EVCS Batt <25 - Tolérance soft
|
||||||
@@ -410,7 +384,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 1
|
|
||||||
|
|
||||||
victron_evcs_batt_hard_tol_lt25_sec:
|
victron_evcs_batt_hard_tol_lt25_sec:
|
||||||
name: EVCS Batt <25 - Tolérance hard
|
name: EVCS Batt <25 - Tolérance hard
|
||||||
@@ -419,7 +392,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: s
|
unit_of_measurement: s
|
||||||
mode: box
|
mode: box
|
||||||
initial: 2
|
|
||||||
|
|
||||||
victron_evcs_batt_recovery_lt25_min:
|
victron_evcs_batt_recovery_lt25_min:
|
||||||
name: EVCS Batt <25 - Récupération
|
name: EVCS Batt <25 - Récupération
|
||||||
@@ -428,7 +400,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 15
|
|
||||||
|
|
||||||
|
|
||||||
# =====================================================
|
# =====================================================
|
||||||
@@ -442,7 +413,6 @@ input_number:
|
|||||||
step: 0.1
|
step: 0.1
|
||||||
unit_of_measurement: V
|
unit_of_measurement: V
|
||||||
mode: box
|
mode: box
|
||||||
initial: 51.3
|
|
||||||
|
|
||||||
victron_battery_charge_voltage_hcv_step1_v:
|
victron_battery_charge_voltage_hcv_step1_v:
|
||||||
name: Batt - Tension HCV palier 1
|
name: Batt - Tension HCV palier 1
|
||||||
@@ -451,7 +421,6 @@ input_number:
|
|||||||
step: 0.1
|
step: 0.1
|
||||||
unit_of_measurement: V
|
unit_of_measurement: V
|
||||||
mode: box
|
mode: box
|
||||||
initial: 51.0
|
|
||||||
|
|
||||||
victron_battery_charge_voltage_hcv_step2_v:
|
victron_battery_charge_voltage_hcv_step2_v:
|
||||||
name: Batt - Tension HCV palier 2
|
name: Batt - Tension HCV palier 2
|
||||||
@@ -460,7 +429,6 @@ input_number:
|
|||||||
step: 0.1
|
step: 0.1
|
||||||
unit_of_measurement: V
|
unit_of_measurement: V
|
||||||
mode: box
|
mode: box
|
||||||
initial: 50.9
|
|
||||||
|
|
||||||
victron_battery_charge_voltage_recovery_step_v:
|
victron_battery_charge_voltage_recovery_step_v:
|
||||||
name: Batt - Pas de remontée tension
|
name: Batt - Pas de remontée tension
|
||||||
@@ -469,7 +437,6 @@ input_number:
|
|||||||
step: 0.1
|
step: 0.1
|
||||||
unit_of_measurement: V
|
unit_of_measurement: V
|
||||||
mode: box
|
mode: box
|
||||||
initial: 0.1
|
|
||||||
|
|
||||||
victron_battery_hcv_hold_minutes:
|
victron_battery_hcv_hold_minutes:
|
||||||
name: Batt - Maintien réduction HCV
|
name: Batt - Maintien réduction HCV
|
||||||
@@ -478,7 +445,6 @@ input_number:
|
|||||||
step: 1
|
step: 1
|
||||||
unit_of_measurement: min
|
unit_of_measurement: min
|
||||||
mode: box
|
mode: box
|
||||||
initial: 15
|
|
||||||
|
|
||||||
|
|
||||||
input_text:
|
input_text:
|
||||||
@@ -502,5 +468,4 @@ input_text:
|
|||||||
name: Victron EVCS Batt - Debut depassement souple
|
name: Victron EVCS Batt - Debut depassement souple
|
||||||
min: 0
|
min: 0
|
||||||
max: 32
|
max: 32
|
||||||
initial: ""
|
|
||||||
icon: mdi:battery-clock-outline
|
icon: mdi:battery-clock-outline
|
||||||
|
|||||||
35
packages/victron_evcs_night_battery.yaml
Executable file
35
packages/victron_evcs_night_battery.yaml
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
# Charge nuit du vehicule SUR LA BATTERIE (P12)
|
||||||
|
#
|
||||||
|
# Idee du proprietaire, 14/09/2026 au soir : plutot qu'acheter du reseau la nuit
|
||||||
|
# pour charger la voiture, lui donner le solaire DEJA STOCKE — doucement, a
|
||||||
|
# courant minimal — et laisser ainsi de la place dans la batterie pour la
|
||||||
|
# production du lendemain.
|
||||||
|
#
|
||||||
|
# Le calcul qui l'a motive, sur la prevision du 15/09 (38,7 kWh, pic a 16 h) :
|
||||||
|
# VW sur EDF -> batterie 55 % a 9 h -> 10,5 kWh ECRETES
|
||||||
|
# VW sur batterie -> batterie 38 % a 9 h -> 5,3 kWh ecretes
|
||||||
|
# + JEEP le matin -> 0,0 kWh ecretes
|
||||||
|
# Payer du reseau la nuit pour ecreter le solaire le lendemain, c'est perdre
|
||||||
|
# deux fois.
|
||||||
|
#
|
||||||
|
# ⚠️ AUCUN `initial:` — declarer `initial:` DESACTIVE la restauration d'etat.
|
||||||
|
|
||||||
|
input_boolean:
|
||||||
|
victron_evcs_night_battery_charge:
|
||||||
|
name: "EVCS — charge nuit sur batterie (P12)"
|
||||||
|
icon: mdi:battery-charging-low
|
||||||
|
|
||||||
|
# ⚠️ LE VERROU, ET IL N'EST PAS DECORATIF.
|
||||||
|
#
|
||||||
|
# Le plancher est `required_soc_prudent`, qui DESCEND pendant la nuit puisqu'il
|
||||||
|
# reste moins de nuit a couvrir. Le SOC descend aussi. Mesure du 15/09 :
|
||||||
|
#
|
||||||
|
# voiture en charge : SOC -7,1 pt/h, plancher -3,7 pt/h -> surplus s'epuise
|
||||||
|
# voiture arretee : SOC -2,6 pt/h, plancher -3,7 pt/h -> surplus REAPPARAIT
|
||||||
|
#
|
||||||
|
# Sans verrou, la charge repartirait des qu'elle s'arrete : cinquieme
|
||||||
|
# oscillateur du projet, par construction. Une seule passe de surplus par
|
||||||
|
# session de nuit.
|
||||||
|
victron_evcs_night_battery_done:
|
||||||
|
name: "EVCS — surplus batterie de la nuit épuisé"
|
||||||
|
icon: mdi:battery-off-outline
|
||||||
@@ -142,6 +142,9 @@
|
|||||||
"evcs_night_session_start_soc": states("input_text.victron_evcs_night_session_start_soc"),
|
"evcs_night_session_start_soc": states("input_text.victron_evcs_night_session_start_soc"),
|
||||||
"evcs_night_session_start_at": states("input_text.victron_evcs_night_session_start_at"),
|
"evcs_night_session_start_at": states("input_text.victron_evcs_night_session_start_at"),
|
||||||
|
|
||||||
|
"balance_required_soc_prudent": states("input_number.evcs_balance_required_soc_prudent"),
|
||||||
|
"night_battery_charge_enabled": states("input_boolean.victron_evcs_night_battery_charge"),
|
||||||
|
"night_battery_done_prev": states("input_boolean.victron_evcs_night_battery_done"),
|
||||||
"balance_required_soc": states("input_number.evcs_balance_required_soc"),
|
"balance_required_soc": states("input_number.evcs_balance_required_soc"),
|
||||||
"balance_energy_to_cover_kwh": states("input_number.evcs_balance_energy_to_cover_kwh"),
|
"balance_energy_to_cover_kwh": states("input_number.evcs_balance_energy_to_cover_kwh"),
|
||||||
"balance_status": states("input_text.evcs_balance_status"),
|
"balance_status": states("input_text.evcs_balance_status"),
|
||||||
|
|||||||
@@ -470,6 +470,13 @@ const params = {
|
|||||||
// BILAN ENERGETIQUE (03/09/2026). Meme format d'horodatage que l'advisor
|
// BILAN ENERGETIQUE (03/09/2026). Meme format d'horodatage que l'advisor
|
||||||
// ("DD/MM HH:mm"), d'ou la reutilisation du parseur.
|
// ("DD/MM HH:mm"), d'ou la reutilisation du parseur.
|
||||||
balanceRequiredSocPct: num(input.balance_required_soc, NaN),
|
balanceRequiredSocPct: num(input.balance_required_soc, NaN),
|
||||||
|
// P12 — charge nuit sur batterie. Le plancher est le SOC requis PRUDENT (p80)
|
||||||
|
// et non le p50 : la marge est mesuree, pas inventee. On descend la voiture
|
||||||
|
// jusqu'a ce que la batterie n'ait plus que ce qu'il lui faut pour tenir
|
||||||
|
// jusqu'au croisement PV.
|
||||||
|
balanceRequiredSocPrudentPct: num(input.balance_required_soc_prudent, NaN),
|
||||||
|
nightBatteryChargeEnabled: low(input.night_battery_charge_enabled || 'off') === 'on',
|
||||||
|
nightBatteryDonePrev: low(input.night_battery_done_prev || 'off') === 'on',
|
||||||
balanceEnergyToCoverKwh: num(input.balance_energy_to_cover_kwh, NaN),
|
balanceEnergyToCoverKwh: num(input.balance_energy_to_cover_kwh, NaN),
|
||||||
balanceStatusOk: cleanText(input.balance_status).toLowerCase() === 'ok',
|
balanceStatusOk: cleanText(input.balance_status).toLowerCase() === 'ok',
|
||||||
balanceLastRunMs: parseRunStampToMs(cleanText(input.balance_last_run)),
|
balanceLastRunMs: parseRunStampToMs(cleanText(input.balance_last_run)),
|
||||||
|
|||||||
@@ -561,10 +561,61 @@ const nightTakeoverLatched =
|
|||||||
parsed.soc < NIGHT_TAKEOVER_RELEASE_SOC_PCT &&
|
parsed.soc < NIGHT_TAKEOVER_RELEASE_SOC_PCT &&
|
||||||
!vehicleChargeCompleted;
|
!vehicleChargeCompleted;
|
||||||
|
|
||||||
|
// =====================================================
|
||||||
|
// P12 — CHARGE NUIT SUR LA BATTERIE (15/09/2026)
|
||||||
|
// =====================================================
|
||||||
|
// Idee du proprietaire : plutot qu'acheter du reseau la nuit pour charger la
|
||||||
|
// voiture, lui donner le solaire DEJA STOCKE, doucement, et laisser ainsi de la
|
||||||
|
// place dans la batterie pour la production du lendemain. Payer du reseau la
|
||||||
|
// nuit pour ecreter le solaire le lendemain, c'est perdre deux fois.
|
||||||
|
//
|
||||||
|
// Le mode `battery_assist_night` existe depuis toujours pour exactement ca, et
|
||||||
|
// il est MORT depuis toujours : il exige `batteryCurrentA >= plancher de
|
||||||
|
// decharge` (0 A), impossible la nuit puisque la maison tire sur la batterie
|
||||||
|
// (§11 du HANDOFF, ~ -14 A). On ne cree donc pas un chemin, on rend viable
|
||||||
|
// celui qui existe — en remplacant un test de COURANT impossible par un test
|
||||||
|
// d'ENERGIE : rester au-dessus de ce qu'il faut pour tenir jusqu'au croisement.
|
||||||
|
//
|
||||||
|
// Le plancher n'est PAS une constante nouvelle : c'est `required_soc_prudent`,
|
||||||
|
// que le bilan publie deja, en profil p80. La marge est mesuree, pas inventee.
|
||||||
|
const nightBatterySurplusFloorPct = Math.max(
|
||||||
|
batteryHardFloorPct,
|
||||||
|
Number.isFinite(params.balanceRequiredSocPrudentPct)
|
||||||
|
? params.balanceRequiredSocPrudentPct
|
||||||
|
: Infinity,
|
||||||
|
);
|
||||||
|
|
||||||
|
// ⚠️ LE VERROU, ET IL N'EST PAS DECORATIF. Le plancher DESCEND pendant la nuit
|
||||||
|
// (il reste moins de nuit a couvrir) et le SOC aussi. Mesure du 15/09 :
|
||||||
|
//
|
||||||
|
// voiture en charge : SOC -7,1 pt/h, plancher -3,7 pt/h -> le surplus s'epuise
|
||||||
|
// voiture arretee : SOC -2,6 pt/h, plancher -3,7 pt/h -> le surplus REVIENT
|
||||||
|
//
|
||||||
|
// Sans verrou, la charge repartirait des qu'elle s'arrete : cinquieme
|
||||||
|
// oscillateur du projet, par construction. UNE SEULE PASSE de surplus par
|
||||||
|
// session de nuit, comme la recovery batterie depuis le 27/08.
|
||||||
|
const nightBatterySurplusExhausted =
|
||||||
|
params.nightBatteryDonePrev ||
|
||||||
|
(nightSessionActive && parsed.soc <= nightBatterySurplusFloorPct);
|
||||||
|
|
||||||
|
const nightBatterySurplusAvailable =
|
||||||
|
nightSessionActive &&
|
||||||
|
params.nightBatteryChargeEnabled &&
|
||||||
|
balanceMorningTargetApplied &&
|
||||||
|
Number.isFinite(params.balanceRequiredSocPrudentPct) &&
|
||||||
|
!vehicleChargeCompleted &&
|
||||||
|
!nightBatterySurplusExhausted &&
|
||||||
|
parsed.soc > nightBatterySurplusFloorPct;
|
||||||
|
|
||||||
|
// La batterie d'abord, le reseau quand le surplus est epuise. C'est la soupape
|
||||||
|
// decrite par le proprietaire — « quitte a fermer EDF entre 6h et 7h24 pour
|
||||||
|
// completer » — et elle devient automatique : l'epuisement du surplus rend
|
||||||
|
// `nightGridHcPreferred` vrai, donc P7 prend le relais.
|
||||||
const nightGridHcPreferred =
|
const nightGridHcPreferred =
|
||||||
nightSessionActive &&
|
nightSessionActive &&
|
||||||
params.allowGridHcNight &&
|
params.allowGridHcNight &&
|
||||||
!vehicleChargeCompleted;
|
!vehicleChargeCompleted &&
|
||||||
|
!nightBatterySurplusAvailable;
|
||||||
|
|
||||||
const batteryAssistAllowed =
|
const batteryAssistAllowed =
|
||||||
nightSessionActive &&
|
nightSessionActive &&
|
||||||
@@ -1041,6 +1092,9 @@ return [{
|
|||||||
batteryMorningTargetPct,
|
batteryMorningTargetPct,
|
||||||
batteryMorningTargetBasePct,
|
batteryMorningTargetBasePct,
|
||||||
balanceMorningTargetApplied,
|
balanceMorningTargetApplied,
|
||||||
|
nightBatterySurplusFloorPct,
|
||||||
|
nightBatterySurplusAvailable,
|
||||||
|
nightBatterySurplusExhausted,
|
||||||
nightGridSessionCommitted,
|
nightGridSessionCommitted,
|
||||||
nightGridSessionUncovered,
|
nightGridSessionUncovered,
|
||||||
balanceTargetAgeMin:
|
balanceTargetAgeMin:
|
||||||
|
|||||||
Reference in New Issue
Block a user