From d6a2eb20ee08113cb80bbeb0524aeb384183525e Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Sun, 30 Aug 2026 22:37:27 +0200 Subject: [PATCH] =?UTF-8?q?docs(relev=C3=A9=20app):=20trois=20constats=20?= =?UTF-8?q?=C3=A0=20traiter=20apr=C3=A8s=20le=20=C2=A710,=20et=20sessionEn?= =?UTF-8?q?ergy=20tranch=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rangés pour ne pas se perdre — aucun ne passe devant le §10, et aucun ne se déduit du code : les trois viennent de la machine. 1. Une commande perdue pendant une indisponibilité n%s est jamais réappliquée. Coupure Modbus, la box restaure « false 6 A », la borne reste à 7 A : 4,4 kW tirés, draw.committedW à 0, budget de 2 349 W qui les ignore. Une seconde de coupure suffit. Sur 18 kVA invisible, sur 6 kVA c%s est le disjoncteur. Même famille qu%sECS-111 et ECS-415, sous une troisième forme : après la télémétrie et après la valeur de retour, voici l%sexécution. 2. chargingState figé à Idle pendant une charge réelle — pas de la péremption, personne ne maintient le champ. Un champ sans mainteneur doit être ABSENT, pas figé, sinon un écran dit « à l%sarrêt » pendant une charge. 3. ChargingModeNormal n%est pas un boost : il restaure des valeurs mémorisées qui peuvent être false/6 A. Le nom et l%seffet ne coïncident pas. Et un point ouvert qui se clôt : la V2C publie sessionEnergy. PIÈGE consigné dans le design §10 étape C — l%saccumulateur porte un OFFSET constant (7,2044 au dix-millième sur deux échantillons), donc deliveredWh doit être une différence depuis une base capturée. Une lecture directe ferait croire toute obligation éco tenue de 7,2 kWh au premier cycle. --- docs/DESIGN_10.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/DESIGN_10.md b/docs/DESIGN_10.md index b9efb5d..c740e2f 100644 --- a/docs/DESIGN_10.md +++ b/docs/DESIGN_10.md @@ -444,6 +444,17 @@ Cette étape les branche **en lecture seule** : `sessionWh` alimenté, `progress quand le régime est `unmeasurable` — jamais à zéro, sans quoi une dégradation se lirait comme un avancement nul, ce que `LM-1009 C1` interdit nommément. +> **⚠️ `sessionEnergy` porte un OFFSET — mesuré le 2026-08-31.** Sur la V2C, l'écart entre +> `sessionEnergy` et `chargeEnergy` est constant au dix-millième (7,2044), parce que +> l'accumulateur du plugin porte les incréments d'avant la dernière remise à zéro. **La valeur +> absolue n'est donc pas l'énergie de la session courante.** `deliveredWh` doit être une +> **différence depuis une base capturée**, jamais une lecture directe — sans quoi toute +> obligation éco se croirait tenue de 7,2 kWh dès le premier cycle. Un nombre crédible et faux, +> que rien ne signalerait. Détail et mesures : `RELEVE_APP_20260831.md`. +> +> Corollaire : **la V2C n'est plus un cas `unmeasurable`.** `LM-1009 C1` reste vraie pour les +> bornes sans l'état, mais le porteur d'exemple change — R6 devra citer une autre classe. + > **C'est ici que R5 devient vraie, et R6 devient TESTABLE avant d'être nécessaire.** Le régime > se publie sans qu'aucune décision ne s'y appuie : l'app peut afficher « non mesurable » sur la > V2C dès cette étape, et la garde de R6 — `ECO_FLOOR_MET` interdit sous `unmeasurable` — aura