Commit Graph

198 Commits

Author SHA1 Message Date
Tallagrand Thierry
baf62bb3d5 Grafana La nuit : voiture sur la batterie, budget contre donne ; historisation du budget et du compteur de la borne 2026-09-30 18:33:32 +02:00
Tallagrand Thierry
01c12345f3 HANDOFF : commande vocale validee, premiere nuit du budget voiture a suivre (JEEP a 18 %) 2026-09-30 18:25:23 +02:00
Tallagrand Thierry
e2c788d951 HANDOFF : commande vocale du mode de nuit, incident d'ecriture SPARK du 30/09 15:09 2026-09-30 15:10:10 +02:00
Tallagrand Thierry
ae380da696 Budget voiture de la nuit : annonce dans la prevision, cartes Bilan energetique (Production) et EVCS Master 2026-09-30 15:01:31 +02:00
Tallagrand Thierry
e0d855f33f Budget voiture de la nuit : ce que la batterie peut donner sans EDF, arret au compteur, choix sans EDF / complete 2026-09-30 13:26:45 +02:00
Tallagrand Thierry
fb98a8cbb8 HANDOFF §81 : fiche de l'agent allegee, concierge qui ne sort plus jamais vide 2026-09-30 11:08:51 +02:00
Tallagrand Thierry
caeed73933 JEEP : depart a 15:30 le mardi et le samedi seulement 2026-09-30 01:33:35 +02:00
Tallagrand Thierry
213942d521 JEEP : pas de depart a 15:30 le mercredi (calendrier mar ven sam) 2026-09-30 01:31:46 +02:00
Tallagrand Thierry
98c7e6b1d0 Bilan : plus de faux statut degrade le soir (heure lue dans la courbe horaire)
Chaque soir ~1 h, une heure de deficit encore ensoleillee etait classee
« minoree » d'apres le taux de censure de l'enveloppe, alors que sa production
venait de la courbe horaire VRM / Forecast.Solar. Le bilan passait `degrade`
et le controleur l'ignorait (plancher du soir a 85 % fixe). Les heures lues
dans la courbe sont desormais `courbe`. Verifie : 18:20 ok, chiffres
identiques a 18:15 degrade. Bilan 72/72.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-29 18:26:29 +02:00
Tallagrand Thierry
0975e62bda Prevision de nuit : bilan degrade relaye sous reserve, plus muet
18:03 le 29/09 : « prevision indisponible » avec 16 points de marge, parce
que le bilan etait `degrade` (forme minoree sur une heure de deficit, chaque
soir ~1 h). Statut `sous_reserve` avec la reserve dans le texte ;
`indisponible` seulement sans bilan, perime ou statut inconnu, avec la raison.
Diagnostics 90/90.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-29 18:10:00 +02:00
Tallagrand Thierry
c2f9e83a39 Prevision de nuit : mode jour (plus de fausse reponse sur la nuit ecoulee)
Le jour, sans rien a couvrir avant le retour du solaire, le texte parlait de
la nuit ecoulee (« 0 kWh jusqu au retour du solaire vers 10 h, la batterie
suffit »). Etat `jour` : la prevision se fait le soir, avec un repere
provisoire (prochaine traversee prudente) et l'achat si EDF s'engage.
Diagnostics 87/87.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-29 10:53:39 +02:00
Tallagrand Thierry
24ccecbc02 Prevision de nuit : annoncer l'achat EDF reel (maison en HC + manque batterie)
Nuit du 28-29/09 : « environ 0,14 kWh a prendre sur EDF » annonces, 4,6 importes.
0,14 etait le manque de la batterie ; une session engagee fait passer toute la
maison sur le reseau jusqu'a 07:24. Le bilan publie la maison non couverte sur
la fenetre HC de nuit (input_number.evcs_balance_night_hc_house_kwh) et
sensor.evcs_prevision_nuit annonce import_prevu_kwh = maison + manque ;
reseau_necessaire_kwh supprime. Bilan 72/72, diagnostics 85/85.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-29 10:46:13 +02:00
Tallagrand Thierry
ebcba4637b HANDOFF §81 : bilan de la journee du 28/09 (etat a 00:05, verifications du matin)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-29 00:06:07 +02:00
Tallagrand Thierry
e18158bfd1 Bilan : la nuit prevue suit la soiree reelle (regression sur 24 nuits), nuage Grafana corrige
Le service publie le facteur nuit prevue / nuit moyenne (sensor.evcs_nuit_maison_prevue_kwh),
le bilan l'applique a son profil de 21:30 a 09:00. Diagnostics 81/81, bilan 68/68.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 23:36:08 +02:00
Tallagrand Thierry
fc5b219abf Grafana La nuit : nuits superposees (nuage soiree/nuit + regression, tableau, profil horaire)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 23:14:16 +02:00
Tallagrand Thierry
5721031e17 Prevision de nuit : « c'est juste » quand seul le profil habituel passe (incident 28/09 21:16)
Trois verdicts au lieu de deux ; « la batterie suffit » exige le requis PRUDENT.
Attribut soc_requis_maintenant_pct (l'ancien nom se lisait comme un SOC du matin).
Tests 73/73, mutation qui mord.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 21:28:03 +02:00
Tallagrand Thierry
5c43249899 Vehicule branche : depart ponctuel (VW et ZERO repartent l'apres-midi sans jours fixes), ZERO 15 kWh / 3,5 kW
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 14:25:46 +02:00
Tallagrand Thierry
f9cf9daa8c Niveau du vehicule : une saisie identique compte (date de saisie + ecoute de l'appel de service)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 14:09:10 +02:00
Tallagrand Thierry
be1b12969e Vehicule branche a midi : JEEP, VW et moto ZERO (calendrier, capacite et puissance par vehicule)
ZERO ajoutee au selecteur avec son heure de depart (P9). Le bilan lit la
capacite et la puissance de charge mesurees du vehicule selectionne ; 0 =
inconnue (regle muette / pas de borne). Bilan 64/64, golden 123/123.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 14:05:04 +02:00
Tallagrand Thierry
3b9b67268c JEEP branchee a midi : reseau en HC seulement si le solaire ne suffit pas avant son depart
Regle du proprietaire (28/09). Le bilan compare le besoin saisi (niveau x capacite
mesuree - deja delivre) au solaire disponible avant le depart de 15:30 (mar/mer/
ven/sam) sans descendre la batterie sous le plancher « tenir jusqu'a la prochaine
HC ». Le controleur relaie le verdict sous les gardes du bilan ; session de midi
engagee -> voiture sur le reseau avec la batterie. Bilan 61/61, golden 121/121.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 13:55:40 +02:00
Tallagrand Thierry
9b1c9d30cf HANDOFF §81 : regle HC muette au premier deploiement, corrigee et verifiee en reel
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 02:25:43 +02:00
Tallagrand Thierry
ba7ca04a29 HANDOFF §81 : VRM remplace Forecast.Solar, tenir jusqu'a la prochaine HC, prevision de nuit
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-28 02:07:26 +02:00
Tallagrand Thierry
10d9b43728 HANDOFF §80 : consommation du jour pour le rapport solaire, prevision en attente (VRM)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-26 22:27:47 +02:00
Tallagrand Thierry
f5f23c2464 HANDOFF §80 : connecteurs claude.ai vs MCP projet, Samsung appaire a OpenClaw (vocal Android bloque par la version)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-26 16:31:22 +02:00
Tallagrand Thierry
d9ff491219 HANDOFF §80 : plugins synchronises de claude.ai desactives (design, engineering, productivity)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-26 14:33:00 +02:00
Tallagrand Thierry
4407d2fc53 HANDOFF §80 : acces HA retabli, Gmail de l'agent vocal (reference, commande corrigee, mail-texte)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-26 14:10:53 +02:00
Tallagrand Thierry
5fdef887ac HANDOFF §80 : faux incident reseau 07:24, evcs_import_jour_kwh et evcs_reseau
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011xd7aRDEChdShwsECohnDN
2026-09-26 12:40:22 +02:00
Tallagrand Thierry
0f2cf8566f HANDOFF §79 : fiche de l'agent apres le pack 1, marge mesuree en caracteres
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-26 01:41:50 +02:00
Tallagrand Thierry
dd83727900 Repere des modules = pack x 10 + rang (11 = pack 1 module 1, 21 = pack 2 module 1)
Colonne cellule.pack deduite du nom du fichier de releve ; Grafana et
sensor.evcs_cellules l'affichent. Historique renseigne depuis le 24/09.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-26 01:05:54 +02:00
Tallagrand Thierry
7942577967 Pack 1 (US5000) sous surveillance cellule : repli bat, essais code-barres, boot tolerant
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-26 00:57:42 +02:00
Tallagrand Thierry
cd89ecd9e7 HANDOFF §79 : cable PL2303 ecarte, garde du releve cellules
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 16:53:41 +02:00
Tallagrand Thierry
ac70dcf1e1 Grafana : production du jour par chargeur ; suiveur V1 ajoute a l'export InfluxDB
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 15:50:21 +02:00
Tallagrand Thierry
fc2429efc5 HANDOFF §79 : journaux OpenClaw, retention 30 jours
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 14:47:17 +02:00
Tallagrand Thierry
c75d2ffcb8 sensor.evcs_bilan_nuit : le bilan de nuit de l'agent vient du code du rapport du matin
Incident 25/09 11:49 : l'agent sans source avait invente 0,56 kWh / zero
reseau / 35 % pour une nuit a 7,9 kWh dont 2,2 reseau. donneesNuit() extrait
de rapport-nuit.mjs (texte identique sur 5 nuits), publie pour l'agent.
Tests 37/37.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 12:31:35 +02:00
Tallagrand Thierry
beed8028ca Capteur de charge : origine explicite par libelle (incident 25/09, batterie publiee en solaire)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 12:05:04 +02:00
Tallagrand Thierry
13d9640130 HANDOFF §79 : bilan de la migration de l'agent vocal vers les capteurs-verdict
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 01:42:57 +02:00
Tallagrand Thierry
30193a1d27 Capteurs production du jour et relais de charge pour l'agent vocal (G1/G9, G6/G7)
sensor.evcs_production_jour_kwh (somme des 3 yield_today, remises a zero
decalees gerees) et sensor.evcs_charge_solaire (relais de la decision du
controleur, pas un second arbitre). Tests 26/26 + mutations.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 01:18:35 +02:00
Tallagrand Thierry
83c790d9b3 Retrait des helpers evcs_cell_* remplaces par sensor.evcs_cellules
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 01:07:55 +02:00
Tallagrand Thierry
b9142aac54 Diagnostics PV et cellule calcules cote service pour l'agent vocal (G5/G13b)
La fiche OpenClaw basculait G5 de 7/7 a 1/7 sur un ajout sans rapport :
les deux jugements sortent du modele. sensor.evcs_pv_diagnostic (import
teste avant bridage) et sensor.evcs_cellules (perime => aucune valeur
visible), publies meme quand le cycle echoue. Tests 15/15 + mutations.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011uJ47NxgfpGnuuMr3f2n7Z
2026-09-25 00:55:17 +02:00
Tallagrand Thierry
d64b634a66 Détail cellule exposé en 3 helpers HA pour l'agent vocal OpenClaw
Les trames BMS cellule de HA sont mortes depuis le 15/09 ; le relevé série est la
source vivante. Le service publie evcs_cell_spread_max_mv, evcs_cell_weakest_module
et evcs_cell_releve_age_min à chaque cycle (publierCellulesHelpers). L'âge donne à
l'agent la discipline anti-valeur-figée (comme le gel GX). Vérifié en réel :
21 mV, âge 1 min, K220803C30160323. Package evcs_cellules.yaml (hors dépôt, HA).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-25 00:07:28 +02:00
Tallagrand Thierry
d68d8ee34c HANDOFF : archive §1-§72 dans HANDOFF_ARCHIVE_2026.md (split lossless)
Le HANDOFF chargé à chaque session pesait 7566 lignes. Split vérifié par md5 :
§1→§72 (09/07→17/09) déplacés SANS PERTE dans HANDOFF_ARCHIVE_2026.md (non chargé
par CLAUDE.md, grep/lecture à la demande). HANDOFF.md ne garde vivantes que les
sessions récentes §73→§77 + un index des sections archivées. Aucune info perdue,
aucun changement d'@-import nécessaire (l'archive n'est pas référencée).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-24 23:46:53 +02:00
Tallagrand Thierry
0a322b5c28 HANDOFF §77 : banc de test PV pour l'agent vocal OpenClaw
9 gammes (snapshots reels figes + attendus), 9/9 sur 3 passages. Coordination
avec SPARK : moi la verite-terrain (PostgreSQL/InfluxDB/historique HA), SPARK le
harnais et la fiche OpenClaw. G5 a echoue 0/3 au premier tour et a fait corriger
la fiche (import reseau force en controle nº1 avant de conclure bridage) ->
verrouille la distinction bridage normal / substitution. Source de verite de la
production PV dans MANUEL §0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-24 23:36:42 +02:00
Tallagrand Thierry
41381fcdb9 Rapport de nuit envoye a 07:30 (total complet) + HANDOFF §76
Envoi decale 06:47 -> 07:30 : apres la fermeture de la fenetre HC (07:24)
l'import de la nuit est termine, donc le total est complet. A 06:47 le rapport
ratait l'import 06:47->07:24 meme apres le fix d'extrapolation (ec5f43e).
Proposition du proprietaire. HANDOFF §76 consigne le bug (extrapolation de la
derniere puissance sur la fenetre future), le fix et ce decalage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-24 15:46:37 +02:00
Tallagrand Thierry
a08820d827 HANDOFF §75 : migration du releve des cellules vers le Synology .17
Le releve serie tournait sur le portable et est mort 4 jours au reboot du 20/09.
Migre sur le .17 (conteneur node + tache de boot root/sh chargeant les pilotes).
Survie prouvee de bout en bout sur reboot + saut majeur DSM 7.3.2 -> 7.4.1, qui a
revele et fait corriger deux pieges (NFS noexec, sudo passwordless efface par
l'update). @reboot du portable retire.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-24 14:51:02 +02:00
Tallagrand Thierry
4aaabb7e0f Consigner la nuit LVHUB, les correctifs swap rapide et la re-mesure du parc assaini (HANDOFF §74 + MANUEL §0)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-20 13:53:12 +02:00
Tallagrand Thierry
50e3fcc2df Conception de la charge HC manuelle, arretee et non ecrite
Le proprietaire ferme la question de force_grid_now — « pour moi c est pour
recharger la voiture » — et en tire le chantier : dissocier la recharge de la
batterie solaire de la fonction EVCS.

Trois pistes mesurees sur banc. La piste d un chemin separe est morte et de la
maniere la plus nette : elle ne se fait pas ecraser par accident, elle
s auto-detruit, puisqu il faudrait que le controleur la connaisse pour qu elle
tienne. La piste du forcage de la cible du bilan est retenue, mais l ENDROIT du
forcage decide de tout : force en aval, le contacteur se ferme, la session
s engage et la consigne reste a 700 W — le defaut du 01/09 a l identique, et le
seul des trois resultats indiagnosticable depuis le tableau de bord parce qu il
A L AIR de marcher.

Point d insertion identifie a une ligne pres dans coverage() : tout en derive,
donc la cible et le manque bougent ensemble par construction au lieu de
dependre d une discipline.

Trois effets consignes, dont deux qui demandent une decision : le plancher monte
aussi la cible prudente, donc la voiture cesse de descendre la batterie pendant
une charge manuelle — structurel, aucune echeance n y change rien ; et le bilan
ignore totalement les fenetres creuses, donc une cible manuelle fuit dans la
journee et bloque la charge du soir. Echeance retenue plutot que bornes : le
bilan repond a « de combien la batterie a besoin », pas a « quand est-ce bon
marche ».

Fait au passage : le courant du module entre dans le releve par cellule, ce qui
rend enfin lisible « le detail de chaque cellule PENDANT la charge ».

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-18 03:01:35 +02:00
Tallagrand Thierry
8c2735c181 Expiration du reseau force, et trois corrections a ma propre analyse
Le mecanisme demande par le proprietaire — « ca va pas corriger le probleme si
nous ne sommes pas devant » — est deploye et a fonctionne seul a 14:24 :
strategie rendue a auto_solar_plus, consigne ramenee de 5641 a 700 W au cycle
suivant, contacteur ouvert par l hysteresis 33 s plus tard. La demande retombe
avant que le reseau parte, sans coordination.

Ce qui manquait a force_grid_now n etait pas une interdiction mais une
echeance : la condition porte sur l instant d ENGAGEMENT, pour qu un forcage
pose un soir de cuisson afin de proteger le parc ne soit pas annule a la minute
suivante.

Et la section consigne ce que la session voisine m a fait corriger sur la
surconsigne « voiture fantome ». Trois de mes chiffres etaient faux, tous
defavorables a la correction que je defendais : l episode de midi n etait pas
un defaut (heures creuses, demande, aucune eviction — sept chargeurs en
mppt_active) ; l occurrence de six minutes du 06/09 n existe pas (source_mode
valait Solaire de bout en bout, j avais verifie les ingredients sans demander
au controleur sa decision) ; et l import de 5,87 kWh se repartit en 2,52 pour
la voiture encore branchee, 2,43 pour la batterie et 0,92 pour la maison.

La mesure sur treize jours est conservee parce qu elle sera redemandee : 88
decisions « Reseau HC autorise », toutes avec vehicule, toutes entre 1 h et
6 h, zero a midi, et session_engagee faux 85 fois sur 88 — donc
nightGridSessionCommitted ne couvre pas les nuits ordinaires.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-17 18:06:52 +02:00
Tallagrand Thierry
1541ccf7b4 La prevision entre dans « La journee » et sur le telephone
Suite du correctif de l onglet Home Assistant. « La journee » avait le meme
angle mort : cadre sur le jour civil, il s arretait a l heure en cours.

Fenetre portee a la journee ENTIERE (dashboard() gagne un parametre `jusqu`),
serie « Encore attendu » en gris translucide a la suite des barres mesurees,
et colonne « Reste attendu » dans le bandeau du haut, a cote de « Solaire
produit ».

Sur le telephone, aucun panneau ajoute — un panneau de plus y est un ecran de
plus a faire defiler. « Soleil restant » rejoint le bandeau Maintenant, a cote
de Excedent ; « Soleil demain » rejoint La nuit qui vient, puisque c est lui
qui decide jusqu ou la batterie peut descendre.

Trois pieges, tous dans la meme direction. La mesure ne doit pas suivre la
fenetre dans le futur : ENERGIE_SQL construisait son axe entre les deux macros
puis reportait la derniere valeur connue, ce qui aurait rempli les heures a
venir avec la puissance de l instant et gonfle l energie du jour — sa borne
haute est desormais least($__timeTo(), now()). FULL OUTER JOIN et non LEFT :
une periode a venir n a aucune ligne de mesure. Et borne haute stricte, sans
quoi une barre « 18/09 00 h » apparaissait dans La journee.

L heure EN COURS n a volontairement pas de barre de prevision : elle est deja
mesuree pour ses minutes ecoulees.

73/73 requetes valides — mais ce controle prouve l execution, pas la grandeur.
Les deux requetes de La journee ont donc ete rejouees a la main avec la vraie
fenetre : 24 lignes, mesures jusqu a 02 h, prevision de 03 h a 23 h, somme des
barres 36,95 kWh contre 37,0 annonces par le bandeau. C est ce recoupement qui
a fait apparaitre le troisieme piege.

Corrige au passage la note du 08/09 sur l acces a l API Grafana : les
apostrophes du .env sont SIMPLES et non doubles, verifie a l octet.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-17 02:37:43 +02:00
Tallagrand Thierry
a6baad54dc Le chien de garde arretait la charge qu il devait proteger
Nuit du 16 au 17/09 : neuf arrets de la charge nuit de la VW, de 30 s a 3 min,
sans que le controleur EVCS ait bouge — sa table de decision ne porte que deux
lignes sur toute la periode. Le journal de bord de Home Assistant montre le
switch de charge passant a off SANS contexte de service, donc commande depuis
le GX, puis le controleur qui reessaie au cycle suivant.

Correlation un pour un avec les actions du chien de garde, trois secondes
avant chacune, et aucune coupure sans action. Son message porte la signature :
« CONTROLEUR MUET — derniere execution il y a NaNs ».

Cause : n8n inscrit une execution AVANT de la demarrer, avec status "new" et
startedAt null. Date.parse(null) vaut NaN, et le test !(ageSec <= 600) — forme
choisie pour echouer du cote sur — declare alors mort le controleur qui vient
precisement de demarrer un cycle. Le signal de vie retourne contre lui-meme.

La fenetre dure moins d une seconde : 3 sondages sur 968 y tombent, 0,3 %. Ce
qui a change le 16/09 n est pas le code mais la PHASE du chien de garde, qui
derive d environ vingt secondes par jour et est venue se poser exactement sur
les instants de declenchement du controleur (:00 et :30) — 34 evenements ce
jour-la contre 1 a 2 les jours precedents. Le defaut dormait depuis le 01/09.

Correction a la session precedente : la nuit du 15 au 16, presentee comme
irreprochable, portait deja trois coupures dont une de trois minutes. Ce que
j avais verifie — consigne a 6 A inchangee pendant 153 min — restait exact et
ne prouvait rien : la consigne ne bouge pas quand la borne s arrete, seule la
puissance tombe.

Second defaut, latent et plus grave : CFG.idleSetpointW valait 50 W quand le
controleur est passe a 700 W le 06/09, donc dangerousSetpoint etait vrai en
permanence et chaque fausse alerte ecrasait aussi la consigne reseau a 50 W.
Sans consequence cette nuit — EDF etait ouvert — mais pendant une nuit ou le
reseau porte la maison, c est le defaut du 04/09 reintroduit.

Trois correctifs : un horodatage manquant n est plus une panne (on prend le
plus recent startedAt exploitable, repli cote sur si aucun) ; valeur de repos
portee a 700 W avec le commentaire qui dit ou vit l autre exemplaire ; et une
panne doit DURER — deux lectures consecutives avant d agir, meme doctrine que
la tolerance batterie et le relachement du contacteur.

Verification par REJEU et non par absence de symptome : le redemarrage a remis
la phase a :07, donc une nuit calme ne prouverait rien. Un serveur local
rejouant la charge JSON exacte capturee a 02:07:01 donne, code d avant,
« MUET — il y a NaNs » et les deux ecritures ; code corrige, « controleur
vivant (execution il y a 36s) » et aucune ecriture. Le filet mord toujours sur
une panne soutenue : 1/2 puis alerte et StartStop = 0 au second cycle.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-17 02:14:52 +02:00
Tallagrand Thierry
c589da8f9a §69 — nuit P12, battement de coeur, guichet d'ordres, et la telemetrie BMS qui ment
Nuit : zero bascule du contacteur, 0,00 kWh de reseau contre 14,04 la nuit
precedente, charge terminee d'elle-meme a 6,90 kWh, reserve 7,7 kWh. Le plancher
P12 n'a jamais ete touche — il est DYNAMIQUE et descend plus vite que le SOC, ce
que j'avais mal anticipe en l'annoncant fixe a 47,1 %.

Trouvaille principale : 26 entites BMS sur 32 figees depuis 31 h, alarmes
comprises, sans que rien ne le signale. Le rechargement de l'integration
rafraichit les horodatages mais pas les valeurs. Preuve par la console serie :
41 mV de divergence a 12:30. Le battement de coeur ne couvre PAS ce cas — une
entite qui republie la meme valeur reste indetectable.

Correction d'une affirmation de la journee : mon « arithmetiquement impossible »
comparait une tension de bus a des tensions de cellule sans verifier le point de
mesure. Raisonnement faux, conclusion juste, demontree autrement.

Les deux packs debitent (99,3 A et 80,7 A pour 180 A au Cerbo) ; pack 1
irreprochable a 3 mV d'ecart entre cellules. A instruire : le pack 2, plus petit
et plus vieux, prend 2,5 fois plus de courant par ampere-heure.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwpFpy2aQ2rJok6tNQSbVj
2026-09-16 12:31:41 +02:00