chore(release): 1.15.2+etm29
ECS-111 défini et corrigé — le premier défaut réel exhumé par l'index des règles. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015F7G5VeaPVSMeVNjiGj36p
This commit is contained in:
parent
2a7bb1cce9
commit
a96daf0734
@ -1,3 +1,47 @@
|
||||
powersync-energy-plugin-nymea (1.15.2+etm29) trixie; urgency=medium
|
||||
|
||||
* ECS-111 DÉFINI ET CORRIGÉ — un relais déclaré qui manque au registre nymea rend la charge
|
||||
INDISPONIBLE. Le comportement était « non défini » depuis l'écriture de la spec :
|
||||
findConfiguredThing rendait nullptr, writeRelay loguait et continuait, telemetry() SAUTAIT le
|
||||
relais. Deux issues, toutes deux fausses — ou bien plus aucun relais actif ne mesurait et
|
||||
l'on retombait sur le nominal du PALIER ENTIER, part du relais fantôme comprise ; ou bien des
|
||||
survivants mesuraient et l'on publiait une somme SOUS-ÉVALUÉE.
|
||||
* Ce n'était pas un défaut d'affichage. telemetry().currentPowerW alimente le recrédit
|
||||
anti-clignotement, donc le BUDGET : l'arbitre se trompait sur le surplus disponible pendant
|
||||
qu'available restait vrai. Un mensonge qui décide, pas un mensonge qui s'affiche.
|
||||
* La règle retenue est celle de la famille : available faux, faultCode THING_MISSING, et le
|
||||
traitement d'ECS-410 — sortie de l'ARBITRAGE, maintien dans la COMPTABILITÉ, figée à la
|
||||
puissance crue engagée. La puissance est donc RETIRÉE du budget des charges suivantes au lieu
|
||||
de leur être recréditée. Aucune somme partielle n'est jamais publiée.
|
||||
* Écartée : « compter 0 W et servir le reste ». Un relais absent du registre est un Thing
|
||||
supprimé ou un plugin qui ne le voit plus — on ne sait pas dans quel état est le contact, et
|
||||
servir le reste reviendrait à commander une charge dont on ne connaît plus la configuration
|
||||
matérielle.
|
||||
* Jugé sur TOUS les relais déclarés, jamais sur ceux du palier courant : au palier 0 aucun n'est
|
||||
fermé, et juger là-dessus ferait basculer la disponibilité au rythme du thermostat. Même règle
|
||||
que deviceMeasurement(), qui traitait DÉJÀ le cas correctement en rendant source: "none" —
|
||||
aligner l'ancien sur le neuf, pas inventer une politique.
|
||||
* THING_MISSING prime sur WRITE_FAILED dans runtimeView() : un relais absent EXPLIQUE les
|
||||
écritures qui échouent, et annoncer WRITE_FAILED enverrait l'opérateur au bus quand la cause
|
||||
est dans la configuration. Corollaire écrit : ClearLoadFault lève le défaut d'ÉCRITURE mais ne
|
||||
fait pas exister un Thing — les deux causes se lisent séparément.
|
||||
* testEcsPartialFailure a dû être ajusté, et c'est instructif : il se servait d'un relais JAMAIS
|
||||
CONFIGURÉ comme raccourci pour forcer un échec d'écriture. Le raccourci a désormais un sens
|
||||
propre. Le test distingue maintenant les deux — le défaut collant se lève, le câblage
|
||||
manquant non.
|
||||
* Éprouvé par testVanishedRelayFreezesTheLoad, vérifié échouant sans le correctif, dont la
|
||||
troisième assertion est celle qui compte : ce que le fantôme laissait aux charges SUIVANTES.
|
||||
* TROUVÉ PAR LA LECTURE D'UNE RÈGLE, ni par un test ni par le banc. ECS-111 dormait dans une
|
||||
table de statut supprimée depuis, et est ressortie dans les quatorze règles « spécifiées
|
||||
seules en territoire livré » que tools/gen-rules.py a listées. Premier défaut réel exhumé par
|
||||
le chantier de documentation.
|
||||
* Passe aussi : trois citations de règles ajoutées (LM-400, LM-301-b, LM-600), quatre règles
|
||||
passées en cadrage, et la classe « cadrage » elle-même — 70 « spécifiée seule » au départ,
|
||||
33 aujourd'hui. Suite complète : simulation 33/33, charging 16/16, loadmodel 20/20,
|
||||
spotmarket 7/7. amd64 0 erreur / 0 avertissement, doxygen 0 avertissement.
|
||||
|
||||
-- Patrick Schurig <etm.schurig@gmail.com> Sat, 29 Aug 2026 15:05:00 +0200
|
||||
|
||||
powersync-energy-plugin-nymea (1.15.2+etm28) trixie; urgency=medium
|
||||
|
||||
* LE RATTRAPAGE DE CONFIGURATION EST CYCLIQUE (LM-1209-e). provisionEvChargerConfig() vivait
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user