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:
Tallagrand Thierry
2026-09-15 04:55:31 +02:00
parent 9fb73415b4
commit 66daac2933
5 changed files with 115 additions and 51 deletions

View File

@@ -470,6 +470,13 @@ const params = {
// BILAN ENERGETIQUE (03/09/2026). Meme format d'horodatage que l'advisor
// ("DD/MM HH:mm"), d'ou la reutilisation du parseur.
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),
balanceStatusOk: cleanText(input.balance_status).toLowerCase() === 'ok',
balanceLastRunMs: parseRunStampToMs(cleanText(input.balance_last_run)),