Le message d echec ne tenait pas dans son helper, et HA n etait pas en panne
Deux rectifications au diagnostic d hier soir, faites en deployant. HA n etait PAS injoignable. J avais lu « le noeud d ecriture rend 0 item » comme un echec ; c est la sortie normale d un input_text.set_value reussi. Le service d historisation, qui interroge HA depuis l autre NAS, a enregistre 300 a 414 mesures par heure sans interruption de 22 h a 06 h, et le controleur EVCS n a eu aucune erreur. Seul l acces Internet du workflow etait touche. Le .17 n a ni redemarre (49 jours d uptime) ni perdu son reseau physique. Et le mecanisme d alerte existant n a jamais fonctionne : zero message d echec publie en quatre jours. Le helper evcs_balance_forecast_updated etait declare max: 32 alors que « échec : réponse illisible ou sans résultat » fait 43 caracteres — Home Assistant rejetait la valeur, et le slice(0, 250) du code ne pouvait pas le savoir. Reproduit puis corrige : a 32 refuse, a 128 accepte. Un helper input_text susceptible de recevoir un message d erreur doit etre dimensionne pour le message le plus long, pas pour la valeur nominale : ici 11 caracteres contre 43. Deploiement verifie en production : forecast_day0 = 2026-09-08, statut ok. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
This commit is contained in:
45
HANDOFF.md
45
HANDOFF.md
@@ -5675,7 +5675,50 @@ et chaque scenario ayant la sienne : decalage non corrige · cas decale non
|
||||
reconnu · retour a la garde d'age (3 scenarios) · courbe perimee utilisee quand
|
||||
meme.
|
||||
|
||||
### A FAIRE AVANT QUE LE CORRECTIF AGISSE
|
||||
### Deploye le 08/09 a 09:25 — et deux rectifications sur le diagnostic
|
||||
|
||||
Helper cree, `input_text.reload`, les deux workflows pousses (48/48 avant
|
||||
chaque PUT). Verifie en production : `evcs_balance_forecast_day0` = `2026-09-08`,
|
||||
statut du bilan `ok`.
|
||||
|
||||
⚠️ **RECTIFICATION 1 — Home Assistant n'etait PAS injoignable.** J'avais
|
||||
interprete « le noeud d'ecriture rend 0 item » comme un echec. C'est faux :
|
||||
`[[]]` est la sortie NORMALE d'un `input_text.set_value` reussi. Preuves que HA
|
||||
tournait : le service d'historisation, qui interroge HA depuis l'autre NAS, a
|
||||
enregistre **300 a 414 mesures par heure sans interruption** de 22 h a 06 h, et
|
||||
le controleur EVCS n'a eu aucune erreur. La panne ne concernait que l'acces
|
||||
**Internet** du workflow (`socket hang up` vers Forecast.Solar).
|
||||
|
||||
Le .17 n'a par ailleurs ni redemarre (**49 jours** d'uptime) ni perdu son
|
||||
reseau physique (rien dans `dmesg` depuis le 2 septembre). La cause de
|
||||
l'indisponibilite Internet reste **non etablie** ; deux autres workflows a appel
|
||||
sortant ont eu des erreurs dans la meme fenetre, une seule occurrence en quatre
|
||||
jours.
|
||||
|
||||
### ⚠️ RECTIFICATION 2 — le mecanisme d'alerte existant n'a JAMAIS fonctionne
|
||||
|
||||
En cherchant pourquoi 4 h 45 de panne n'avaient laisse aucune trace,
|
||||
constat : **zero message d'echec dans
|
||||
`input_text.evcs_balance_forecast_updated` en quatre jours**, alors que
|
||||
`BUILD_HA_CALLS_FORECAST` en publie un a chaque echec depuis toujours.
|
||||
|
||||
Cause : le helper etait declare **`max: 32`**, et
|
||||
« échec : réponse illisible ou sans résultat » fait **43 caracteres**. Home
|
||||
Assistant rejetait la valeur. Le `slice(0, 250)` du code ne pouvait pas le
|
||||
savoir. Reproduit puis corrige en direct : a 32 le message est refuse, a 128 il
|
||||
passe (verifie par ecriture puis restauration de la valeur legitime).
|
||||
|
||||
`max` porte a **128** (sauvegarde `SAVE/evcs_energy_balance.yaml.bak2.*`).
|
||||
⚠️ **Regle a retenir** : un helper `input_text` qui peut recevoir un message
|
||||
d'erreur doit etre dimensionne pour le message le plus long, pas pour la valeur
|
||||
nominale. Ici la valeur nominale fait 11 caracteres et le message 43.
|
||||
|
||||
### Ce qui reste ouvert
|
||||
La cause de l'indisponibilite Internet de la nuit du 07 au 08/09. Une seule
|
||||
occurrence ; a instruire si elle se reproduit — le rapport de nuit la signalera
|
||||
desormais.
|
||||
|
||||
### Historique : ce qu'il fallait faire pour deployer
|
||||
1. Creer le helper `input_text.evcs_balance_forecast_day0` dans
|
||||
`/mnt/ARCH3/docker/HA/packages/evcs_energy_balance.yaml`, a cote de
|
||||
`evcs_balance_forecast_today`, puis `input_text.reload` — aucun redemarrage.
|
||||
|
||||
Reference in New Issue
Block a user