diff --git a/CLAUDE.md b/CLAUDE.md index b49fc70..eaefafa 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -269,11 +269,20 @@ plan, pas de financement. > 🔴 **Et il n'y a d'identité que de ce côté-là.** Une charge financée au réseau ne vit > **nulle part** : `budget.evReservedW` n'est pas un registre d'allocation mais un **terme de -> correction** du budget, qui mêle la correction « commandé non encore mesuré » à la part -> réseau d'`EV_GRID_START` — une borne servie au réseau qui tire déjà ce qu'on lui a commandé -> y contribue **0** alors que son `targetW` vaut 7 000 W. Constaté par le moteur le -> 2026-08-30 en câblant R3. Les watts achetés n'auront de registre qu'avec -> `draw.committedW`, préalable à R3. **Ne réconcilier aucun total sur `evReservedW`.** +> correction** du budget — « **commandé, pas encore mesuré** », la latence entre l'ordre et +> sa lecture au compteur. Sur `+etm30` il mêle encore à cela la part réseau d'`EV_GRID_START`, +> et une borne au réseau qui tire déjà ce qu'on lui a commandé y contribue **0** alors que son +> `targetW` vaut 7 000 W. **Ne réconcilier aucun total dessus, jamais** — la nature du champ +> l'interdit, pas son état de livraison. +> +> Le libellé d'écran est **« Commandé, pas encore mesuré »** (2026-08-30). « Réservé au +> véhicule » affirmait deux faussetés : que c'est réservé, et que ça regarde le véhicule +> plutôt que la latence de sa mesure. +> +> Les watts achetés n'auront de registre qu'avec **`draw.committedW`**, préalable à R3. +> Annoncé livré en `+etm31` — **non vérifié à la sonde** : le 2026-08-30 la box porte +> `powersync-energy-plugin-nymea 1.15.2+etm30`, et aucune clé `draw` n'apparaît dans la +> télémétrie. Le niveau publié est `"comfort"` et ce **n'est pas un rebaptisage** : c'est bien la passe qui, au §10, servira le confort depuis le surplus. Un niveau à `targetW: 0` est une passe diff --git a/docs/mockups/deux_passes_eco_confort_mockup.html b/docs/mockups/deux_passes_eco_confort_mockup.html index 4b9e80d..a2169b5 100644 --- a/docs/mockups/deux_passes_eco_confort_mockup.html +++ b/docs/mockups/deux_passes_eco_confort_mockup.html @@ -422,10 +422,12 @@ setpointW, currentA), qui existe déjà aujourd'hui.
  • Et il ne se rĂ©partit pas non plus. L'Ă©cart appartient Ă  la charge, pas Ă  un niveau : l'adaptateur arrondit une consigne unique, il ne sait pas de quel besoin elle venait.
  • -
  • * « RĂ©servĂ© VE » n'est pas une destination — c'est un terme de correction du budget - (constatĂ© par le moteur le 2026-08-30). Il est affichĂ© parce que la box le publie, jamais sommĂ©, et - son libellĂ© actuel affirme une rĂ©servation qui n'a pas lieu : il attend une dĂ©finition du moteur pour - ĂŞtre réécrit. Les watts achetĂ©s, eux, n'ont de registre qu'avec draw.committedW.
  • +
  • * « CommandĂ©, pas encore mesurĂ© » — et ce n'est pas une destination. Le champ + budget.evReservedW est un terme de correction : la latence entre l'ordre et sa + lecture au compteur. Il est affichĂ© parce que la box le publie, jamais sommĂ©. Son ancien + libellĂ©, « RĂ©servĂ© au vĂ©hicule », affirmait deux faussetĂ©s — que c'est rĂ©servĂ©, et que ça regarde le + vĂ©hicule plutĂ´t que la latence de sa mesure ; réécrit le 2026-08-30 sur la dĂ©finition livrĂ©e par le + moteur. Les watts achetĂ©s, eux, n'ont de registre qu'avec draw.committedW.
  • Le bandeau â—† n'apparaĂ®t que si au moins une charge porte une obligation Ă©co. Sans obligation, il n'y a qu'une passe utile et la phrase serait du bruit (LM-1007).
  • diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb index 602fb90..dbe84cb 100644 --- a/lib/l10n/app_fr.arb +++ b/lib/l10n/app_fr.arb @@ -127,7 +127,10 @@ "telemetryBudgetTitle": "Budget de surplus du cycle", "telemetryBudgetAbsent": "Aucun budget publiĂ© pour ce cycle : la planification est suspendue.", "budgetSurplus": "Surplus entrant", - "budgetEvReserved": "RĂ©servĂ© au vĂ©hicule", + "budgetEvReserved": "CommandĂ©, pas encore mesurĂ©", + "@budgetEvReserved": { + "description": "budget.evReservedW. Le libellĂ© prĂ©cĂ©dent, « RĂ©servĂ© au vĂ©hicule », affirmait deux choses fausses : que c'est rĂ©servĂ©, et que ça concerne le vĂ©hicule plutĂ´t que la LATENCE de sa mesure. DĂ©finition livrĂ©e par le moteur le 2026-08-30, après que la part rĂ©seau d'EV_GRID_START en a Ă©tĂ© retirĂ©e — un champ Ă  deux natures ne se documente pas. Ce n'est PAS un registre d'allocation : ne rien rĂ©concilier dessus. La clĂ© garde le nom du champ de la box, pas celui de l'ancienne affirmation." + }, "budgetRecredited": "RecrĂ©ditĂ©", "budgetAllocated": "AllouĂ©", "budgetRemaining": "Reliquat", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index bfd45e5..fe2aa5d 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -409,10 +409,10 @@ abstract class L10n { /// **'Surplus entrant'** String get budgetSurplus; - /// No description provided for @budgetEvReserved. + /// budget.evReservedW. Le libellĂ© prĂ©cĂ©dent, « RĂ©servĂ© au vĂ©hicule », affirmait deux choses fausses : que c'est rĂ©servĂ©, et que ça concerne le vĂ©hicule plutĂ´t que la LATENCE de sa mesure. DĂ©finition livrĂ©e par le moteur le 2026-08-30, après que la part rĂ©seau d'EV_GRID_START en a Ă©tĂ© retirĂ©e — un champ Ă  deux natures ne se documente pas. Ce n'est PAS un registre d'allocation : ne rien rĂ©concilier dessus. La clĂ© garde le nom du champ de la box, pas celui de l'ancienne affirmation. /// /// In fr, this message translates to: - /// **'RĂ©servĂ© au vĂ©hicule'** + /// **'CommandĂ©, pas encore mesurĂ©'** String get budgetEvReserved; /// No description provided for @budgetRecredited. @@ -469,7 +469,7 @@ abstract class L10n { /// **'Borne : Ă©tat non publiĂ© ce cycle'** String get telemetryEvStateUnknown; - /// funding == « grid » : l'allocation vit dans budget.evReservedW, pas dans budget.allocatedW. Sans cette mention, l'utilisateur voit une charge servie alors que le surplus est nul et croit Ă  un dĂ©faut. + /// funding == « grid » : l'allocation est hors de budget.allocatedW, et sans registre oĂą la retrouver (evReservedW est une correction du budget, pas une destination — constatĂ© 2026-08-30). Sans cette mention, l'utilisateur voit une charge servie alors que le surplus est nul et croit Ă  un dĂ©faut. /// /// In fr, this message translates to: /// **'FinancĂ©e au rĂ©seau (Ă©chĂ©ance ou tarif dynamique) — hors budget de surplus'** diff --git a/lib/l10n/app_localizations_fr.dart b/lib/l10n/app_localizations_fr.dart index 36baf16..e31e113 100644 --- a/lib/l10n/app_localizations_fr.dart +++ b/lib/l10n/app_localizations_fr.dart @@ -212,7 +212,7 @@ class L10nFr extends L10n { String get budgetSurplus => 'Surplus entrant'; @override - String get budgetEvReserved => 'RĂ©servĂ© au vĂ©hicule'; + String get budgetEvReserved => 'CommandĂ©, pas encore mesurĂ©'; @override String get budgetRecredited => 'RecrĂ©ditĂ©';