Mise en garde avant que le remplissage de `sessionWh` depuis le compteur soit
écrit, et elle vient d'un relevé déjà pris.
Le « recul franc » de `getEcoProgress()` recapture la base pour une nouvelle
session. Mais un compteur qui disparaît peut publier 0 au lieu de se taire —
mesuré sur la V2C le 2026-08-30, `currentPower` 4 396 → 0 et les booléens à
`false` à la perte du lien. Les deux cas donnent la même observation et appellent
des gestes opposés.
Et le coût est asymétrique : base reprise à 0 pendant l'absence, retour du
compteur avec son cumul réel (10 kWh sur l'ECS), et `deliveredWh` saute à 10 000
en un cycle — l'obligation se déclare TENUE sans rien avoir livré. Sous
`measured`, R6 ne s'y oppose pas : elle n'interdit `ECO_FLOOR_MET` que sous
`unmeasurable`. Le chemin mesuré est le seul par lequel un faux « tenue » peut
sortir, et c'est celui qu'on ouvre.
La garde doit donc porter sur la joignabilité du compteur, pas sur la direction
de la valeur — même règle que la clôture de tronçon, et même geste que l'app a
fait le 2026-08-30 en jetant les états d'un Thing injoignable à l'entrée.
Portée honnête : le zéro forgé a été mesuré sur `currentPower` et les booléens,
pas sur un compteur d'énergie — `sessionEnergy` de la V2C est resté à sa dernière
valeur. La politique dépend du plugin, d'où l'intérêt de ne pas parier dessus.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw