chore(release): 1.15.2+etm28
Le rattrapage cyclique du provisionnement, et la correction de ce que le brief promettait à l'app sur la suppression d'une entrée. 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
2c46f8e798
commit
a2ff20889c
@ -1,3 +1,41 @@
|
||||
powersync-energy-plugin-nymea (1.15.2+etm28) trixie; urgency=medium
|
||||
|
||||
* LE RATTRAPAGE DE CONFIGURATION EST CYCLIQUE (LM-1209-e). provisionEvChargerConfig() vivait
|
||||
dans la branche « l'adaptateur vient d'être créé » de syncAdapters(). Or l'adaptateur est
|
||||
construit depuis le THING : il survit à la suppression de l'entrée de configuration. Une
|
||||
entrée supprimée depuis l'app n'était donc JAMAIS recréée — mesuré sur .75 le 2026-08-29,
|
||||
entrée retirée, Thing vivant, rien en 140 s.
|
||||
* Ce que cela produisait est le trou de 3g-2 rouvert par le côté client : la borne restait
|
||||
ARBITRÉE mais ABSENTE de GetLoadConfig, à un rang de queue non réglable (evPriority() →
|
||||
1000). Elle consommait du budget sans que personne puisse la classer, et rien ne le disait.
|
||||
Seul un redémarrage de nymead réparait.
|
||||
* La condition devient un ÉTAT et non un ÉVÉNEMENT : « cette borne n'a pas d'entrée » au lieu
|
||||
de « l'adaptateur vient de naître ». Un rattrapage dont la condition est un événement ne
|
||||
rattrape rien, puisqu'il ne se rejoue pas. Même distinction qu'entre ECS-411 — relire l'état
|
||||
réel des relais — et l'hypothèse de départ qu'il a remplacée.
|
||||
* Une entrée recréée revient en rankOrigin "auto", et c'est juste : personne ne l'a classée,
|
||||
son rang est de nouveau un défaut. Le rang posé par l'installateur est PERDU avec l'entrée.
|
||||
Supprimer une entrée n'est donc pas un moyen de retirer une borne de l'arbitrage — elle
|
||||
revient, déclassée, en queue et avec son badge. enabled: false reste la voie, et conserve le
|
||||
rang. La documentation promettait l'inverse à l'app : corrigée.
|
||||
* Le REFUS de provisionnement n'est annoncé QU'UNE FOIS par borne. Le rattrapage étant
|
||||
cyclique, répéter l'avertissement en produirait un par minute et pour toujours — règle déjà
|
||||
posée pour les charges sans décision dans buildTelemetry(). Le drapeau tombe au premier
|
||||
succès : un défaut qui se résout se redit s'il revient.
|
||||
* LM-1209-d — le rang est un ordre TOTAL, les domaines ne le partitionnent pas. L'insertion en
|
||||
queue entrelace les domaines ; exiger la contiguïté serait contradictoire avec la raison même
|
||||
de LM-1209, puisque insérer une charge d'un autre domaine décalerait les suivantes. Grouper à
|
||||
l'affichage oui, à l'écriture non. Aucun code : c'est une règle de contrat.
|
||||
* INTERFACE.md porte désormais en tête l'avertissement de sonde : un refus arrive en
|
||||
status: "success", le verdict étant dans params.energyError.
|
||||
* Éprouvé par testDeletedEvChargerConfigComesBack — suppression, rattrapage au cycle suivant,
|
||||
retour en queue et en "auto", et le cas négatif : le rattrapage ne se rejoue pas quand
|
||||
l'entrée existe, sans quoi il réécrirait la config à chaque cycle et réarmerait les verrous.
|
||||
Vérifié échouant avec l'ancien comportement. Suite complète : simulation 32/32, charging
|
||||
16/16, loadmodel 20/20, spotmarket 7/7. amd64 0 erreur / 0 avertissement.
|
||||
|
||||
-- Patrick Schurig <etm.schurig@gmail.com> Sat, 29 Aug 2026 11:20:00 +0200
|
||||
|
||||
powersync-energy-plugin-nymea (1.15.2+etm27) trixie; urgency=medium
|
||||
|
||||
* L'AUTO-PROVISIONNEMENT REMPLIT UN TROU, IL NE DÉCIDE PAS (LM-1209). Une borne détectée
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user