docs(terrain): §11 a été validé contre des valeurs tapées, jamais mesurées

ECS-Meter et PAC-Meter sont des smartMeterConsumer de generic-energy appairés à la
main : leur currentPower est SAISI, pas mesuré. 1 500 W et 800 W constants jusqu'au
2026-09-05, puis 0 depuis le passage de la box aux vrais compteurs Eastron, faute
de quelqu'un pour l'écrire.

Donc tout le §11 — compteur dédié par charge, sessionWh depuis le compteur,
measurement.source "meter" — a été éprouvé contre des valeurs tapées.

CE QUI EST PROUVÉ : la plomberie. meterThingId résolu, état lu, valeur remontée
dans measurement.powerW, sessionWh alimenté, source = meter. La chaîne existe et
transporte.

CE QUI NE L'EST PAS : la mesure. Qu'un compteur réel rattaché à une charge réelle
produise une valeur qui SUIT la commande — donc que l'écart commandé↔mesuré
signifie quelque chose.

La distinction n'est pas académique : c'est celle qui rend les traces de divergence
inexploitables sur ces deux charges. Un compteur constant produit un écart qui ne
parle que de sa propre constance.

Et ça explique ce que voit l'app : une consommation affichée sur des compteurs qui
ne mesurent rien. Elle est fidèle, la box aussi — la chaîne est juste sans source.

Troisième nomination du sixième manque du mock, par un troisième chemin : les
traces de divergence, puis la pose d'obligation, maintenant le passage au réel.
This commit is contained in:
Patrick Schurig 2026-09-06 12:47:50 +02:00
parent 322cf27e0f
commit 4259faee5b

View File

@ -422,3 +422,49 @@ ssh etm@$BOX 'gpioget -c gpiochip0 16 19' # attendu : 0 0 (repos LOW BCM16/BCM
- [ ] Mapping BCM↔relais consigné (`gpioinfo gpiochip0`, nymead arrêté) avant tout test.
- [ ] L1 (failsafe bornes/relais) configuré si applicable ; L0 reste le filet ultime.
- [ ] Un opérateur à la main sur le disjoncteur pendant T1–T6 (montées de puissance).
---
## §12 — CE QUE LE BANC N'A PAS PROUVÉ, et qu'on citera pourtant comme preuve
> Relevé le 2026-09-06, au moment où `.75` est passée à de vrais compteurs Eastron.
> **À lire avant de citer une validation §11 comme une preuve de bout en bout.**
### Le constat
`ECS-Meter` et `PAC-Meter` sont des Things `smartMeterConsumer` du plugin **generic-energy**,
appairés à la main. Leur `currentPower` n'est pas mesuré : il est **saisi**, par action RPC ou par
un script de banc. Jusqu'au 2026-09-05 il valait 1 500 W et 800 W, constants ; depuis le passage au
réel il vaut **0**, faute de quelqu'un pour l'écrire.
**Conséquence** : tout le §11 — compteur dédié par charge, `sessionWh` alimenté depuis le
compteur, `measurement.source: "meter"` — a été validé contre des **valeurs tapées, jamais
mesurées**.
### Ce qui est prouvé, et ce qui ne l'est pas
| | |
|---|---|
| **Prouvé** | la PLOMBERIE. Un `meterThingId` est résolu, l'état est lu, la valeur remonte dans `measurement.powerW`, `sessionWh` s'alimente, `source` vaut `meter`. La chaîne existe et transporte. |
| **NON prouvé** | la MESURE. Qu'un compteur réel, rattaché à une charge réelle, produise une valeur qui **suit la commande** — donc que l'écart commandé↔mesuré signifie quelque chose. |
**La distinction n'est pas académique** : c'est exactement celle qui rend les traces de divergence
inexploitables sur ces deux charges (`DESIGN_COMMANDE_PERDUE.md` §6). Un compteur constant — à
1 500 W hier, à 0 aujourd'hui — produit un écart qui ne parle que de sa propre constance.
### Ce que ça explique côté écran
Une consommation affichée sur des compteurs qui ne mesurent rien. L'app est fidèle : elle publie ce
que la box lui dit, et la box lit fidèlement un état que personne ne met à jour. **Aucun des deux
n'a tort ; la chaîne est juste sans source.**
### Ce qu'il faudrait pour lever la réserve
Un compteur RÉEL sur au moins une charge pilotée — un SDM120Consumer sur l'ECS ferait l'affaire, le
plugin `eastron` porte déjà la classe. Tant que ce n'est pas fait :
- ne pas citer les validations §11 comme des preuves de bout en bout ;
- ne compter aucune divergence sur `chauffe-eau` ni `pac-terrain` ;
- se souvenir que c'est le **sixième manque du mock** (`INVENTAIRE_MOCK.md` §7), nommé une
troisième fois par un troisième chemin : d'abord par les traces, puis par la pose d'obligation,
maintenant par le passage au réel.