docs: resserrer la conclusion du volet 1 + piège du rootmeter (ECS-504)
Deux corrections de fond. 1. « Les 500 W consommés de plus que comptés sont démontrés » allait un cran trop loin. Dans le cycle à verrou expiré, le routeur applique RÉELLEMENT 3000 W : il n'y a aucun écart consommé/compté dans ce cycle-là. Ce qui est démontré directement, c'est la moitié comptable — au même budget, honorer ou ignorer le verrou change le résidu de 500 W et fait basculer la charge de rang 3. L'autre moitié est observée dans le PREMIER cycle. Le résultat tient par composition de deux moitiés observées dans deux cycles différents du même binaire : solide, mais pas une observation directe. Un +etm2 réel reste le seul moyen de voir les deux dans le même cycle. 2. Rétractation erronée corrigée. J'avais écrit que la question du compteur ECS ne se posait pas, LoadConfig n'ayant aucun champ de rattachement. Le danger n'a jamais été là : si le compteur de la charge est désigné comme ROOTMETER dans nymea, sa puissance entre dans le bilan de surplus que l'arbitre lit par internalRootMeter(), et le budget est faussé pour toutes les charges. Aucune configuration n'est nécessaire — une désignation dans l'interface suffit. Inscrit sous ECS-504 comme piège de mise en service, applicable au câblage du compteur Modbus prévu. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
cf49b35baf
commit
fa7ee442d3
@ -165,9 +165,23 @@ Traces brutes :
|
||||
→ `−198`. Côté verrou expiré : `3201 − 3000 = +201`, sonde éteinte donc aucun
|
||||
recrédit → `+201`, au-dessus de son palier de 100 W.
|
||||
|
||||
**La prédiction du §2 est confirmée sur le fond** : sans ECS-306, 500 W sont
|
||||
consommés de plus que comptés, et la charge suivante s'allume sur un résidu qui
|
||||
n'existe pas.
|
||||
### Ce qui est démontré, et ce qui ne l'est pas
|
||||
|
||||
**Démontré, directement** : au même budget, honorer le verrou ou l'ignorer change
|
||||
le résidu de 500 W et **fait basculer la charge de rang 3**. C'est la moitié
|
||||
*comptable* de l'affaire, et elle est observée sans ambiguïté.
|
||||
|
||||
**NON démontré directement** : l'écart entre consommé et compté. Dans le cycle à
|
||||
verrou expiré, le routeur applique **réellement** 3000 W — il n'y a donc aucun
|
||||
écart dans ce cycle-là. L'autre moitié — le routeur qui écrête à 3500 W pendant
|
||||
que le scheduler ne compte que 3000 — est observée dans le **premier** cycle, pas
|
||||
dans le second.
|
||||
|
||||
Le résultat tient donc par **composition de deux moitiés observées, chacune dans
|
||||
un cycle différent du même binaire**. C'est solide, mais ce n'est pas une
|
||||
observation directe du défaut complet. **Un `+etm2` réellement installé reste le
|
||||
seul moyen de voir les deux moitiés dans le même cycle** — c'est ce qui reste à
|
||||
faire, et c'est pourquoi l'expérience naturelle ne le remplace pas.
|
||||
|
||||
**La prédiction secondaire est confirmée aussi** : la PAC de rang 2 est restée en
|
||||
état 4 sur les deux cycles. Sans la charge sonde, ce relevé aurait conclu « aucun
|
||||
|
||||
@ -499,6 +499,15 @@ ensemble) d'un étage en défaut (un seul chute).
|
||||
surplus (`AGENTS.md` règle 8, pas de boucle de feedback). Elle sert au diagnostic
|
||||
et au recrédit anti-clignotement déjà en place.
|
||||
|
||||
> **Piège de mise en service, indépendant de toute configuration.** Le compteur
|
||||
> d'une charge NE DOIT JAMAIS être désigné comme **rootmeter** dans nymea. Aucun
|
||||
> champ de `LoadConfig` n'est en cause : il suffit d'une désignation dans
|
||||
> l'interface. L'arbitre lit le rootmeter par `internalRootMeter()`
|
||||
> (`energyarbitrator.cpp:229`) et en tire `meter.importW`/`exportW` — la
|
||||
> consommation de la charge entrerait donc **dans le bilan de surplus lui-même**,
|
||||
> et le budget serait faussé pour toutes les charges. Le compteur d'une charge est
|
||||
> un instrument de diagnostic ; le rootmeter mesure le point de livraison.
|
||||
|
||||
---
|
||||
|
||||
## §8 — Thermique
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user