Patrick Schurig 935cec269f test(config): les deux notes sont MONTÉES, pas seulement calculées
Vérification demandée après le relevé V2C du banc : « ta note de rangs ex æquo doit
s'afficher — vérifie qu'elle le fait ». Elle s'affiche. Mais rien ne le prouvait, et
c'est exactement le défaut qui a coûté isNotGrouped : la contiguïté était calculée
depuis le premier jour, testée en fonction, exposée par le provider — et affichée nulle
part. Un test de fonction ne peut pas voir ça.

Quatre tests de widgets sur la configuration réelle du 2026-08-28
(loadconfig_hems75_v2c.json), montés dans le harnais existant :

  · la note de rangs ex æquo est à l'écran ET nomme les charges (chauffe-eau, V2C
    Trydan) — « des rangs sont à égalité » sans dire lesquelles laisse chercher dans
    cinq cartes ;
  · la note d'ordre entrelacé est à l'écran ET annonce ce que l'enregistrement fera
    (REGROUPERA) — l'annoncer après serait un constat, pas un avertissement ;
  · contrôle négatif : sur un ordre groupé et classé, aucune des deux n'apparaît. Sans
    lui, deux notes toujours affichées deviennent du décor ;
  · THING_MISSING se lit « l'appareil n'existe plus dans nymea » + « réinstallez-le, ou
    retirez cette charge », et n'offre RIEN à lever — ni le bouton, ni l'aide qui
    l'accompagne.

⚠️ La télémétrie du quatrième test est COMPOSÉE, pas capturée : le banc publiait
WRITE_FAILED sur cette charge au dernier relevé (l'adaptateur épuise son échelle
d'écriture avant que THING_MISSING ne sorte). Le test éprouve le rendu du code sur le
loadId réel de la Terra AC supprimée, pas la présence du code sur la box.

Et deux traces de la campagne V2C, qui ne se câblent pas :

· tools/rpc/evcharger_watch.dart entre au dépôt, documenté. C'est la sonde qui a
  produit les deux constats bloquants — une borne hors arbitrage n'apparaît pas dans
  telemetry_watch, et c'est pendant ces transitions qu'il faut la regarder.
· ev_charging_card.dart affirmait que « les deux bornes du banc publient sessionEnergy ».
  Faux depuis l'arrivée de la V2C : elle publie chargeEnergy, remis à zéro à chaque
  interruption de charge. La note renvoie désormais à LoadMechanism et redit C1 de
  LM-1009 — « pas mesurable », jamais zéro.

TODO : entrée d'attente pour sessionEnergy et le renommage currentL1/L2/L3.

146 tests passent, flutter analyze sans remarque nouvelle.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SQbZKrWqsMFP1Lh2jjjd9f
2026-08-28 12:18:00 +02:00
..