From fded0ba89d5cfd2c13162f5142ce9fcaf99e0ea3 Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Sun, 30 Aug 2026 10:14:19 +0200 Subject: [PATCH] chore(release): 1.15.2+etm32 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit counts livré, et GetChargingInfos ne ment plus sur son paramètre. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_015F7G5VeaPVSMeVNjiGj36p --- debian-qt5/changelog | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/debian-qt5/changelog b/debian-qt5/changelog index eab1d1a..3cdd7e9 100644 --- a/debian-qt5/changelog +++ b/debian-qt5/changelog @@ -1,3 +1,39 @@ +powersync-energy-plugin-nymea (1.15.2+etm32) trixie; urgency=medium + + * R3 — `counts` : chaque watt publié tombe dans exactement un compteur, et le mapping est + PUBLIÉ. Chaque niveau porte { destination → watts }, avec Σ counts == targetW toujours. + Clés opaques (budget.allocatedW, draw.committedW), jamais recyclées pour un sens nouveau — + recycler ferait ranger des watts dans le mauvais compteur sans qu'aucune erreur ne le + signale, même règle que les numéros de règle retirés. + * Publié TOUJOURS : même à une seule destination, même à zéro. Un `counts` vide satisferait + l'identité en perdant la destination, sur le cas le plus fréquent. Zéro AVEC sa destination + dit « cette grandeur existe et vaut 0 » ; l'absence dirait « elle n'existe pas ». + * funding et counts ne se dérivent PAS l'un de l'autre : funding dit l'ORIGINE des watts, + counts le REGISTRE où ils sont comptés. Sur un EV_GRID_START l'un vaut « grid » quand + l'autre porte deux destinations. + * L'IDENTITÉ DE RÉCONCILIATION NE PASSE PLUS PAR funding : elle somme des compteurs, plus des + origines. EV_GRID_START y entre sans exception — 900 W à l'allocation, 480 W au soutirage. + * LA GARANTIE EST UNE MACHINE, PAS SEPT SITES DE CONSTRUCTION. testCountsSumToTarget relit la + CHARGE UTILE — toutes les charges, trois régimes dont l'import où tout vaut 0 — et vérifie + l'identité, la non-vacuité de counts et l'appartenance des clés au catalogue. Un huitième + site qui oublierait counts échoue ici, pas en relecture de code. + * Et la contre-épreuve a trouvé un trou DANS LE TEST : amputer le partage d'EV_GRID_START le + laissait passer, la borne auto-provisionnée en queue ne voyant jamais de budget. Corrigé — + rang 1, régime EV_GRID_START en premier (une fois la borne en charge, son recrédit porte le + budget au-dessus du plancher et le régime ne peut plus se produire), plus une assertion qui + EXIGE que le régime ait été exercé. + * GetChargingInfos FILTRE enfin sur evChargerId. Le paramètre était déclaré au schéma, + documenté « for all or a single EV charger », et Q_UNUSED : accepté, sans effet, sans + erreur. Des trois issues c'était la pire — un paramètre absent se voit, un paramètre refusé + se voit, un paramètre ignoré ne se voit pas. Identifiant inconnu → liste VIDE, jamais une + erreur : toute borne configurée ayant une entrée, la liste vide est non ambiguë. + * Balayage du namespace : sur 20 méthodes, 9 déclarent des paramètres et GetChargingInfos + était la SEULE à en ignorer un. La famille était petite. + * Suite complète : simulation 34/34, charging 17/17, loadmodel 20/20, spotmarket 7/7. amd64 + 0 erreur / 0 avertissement, doxygen 0 avertissement. + + -- Patrick Schurig Sun, 30 Aug 2026 14:20:00 +0200 + powersync-energy-plugin-nymea (1.15.2+etm31) trixie; urgency=medium * `draw.committedW` — LE REGISTRE DES WATTS ACHETÉS, préalable à R3. Publié dans la MÊME TRAME