c75cc32470fusion : fix/recredit-oscillation (écart commande/mesure jugé au début du cycle, borne qui retient ce qu'elle tient)
Patrick Schurig
2026-10-25 20:07:08 +01:00
0a88a0f97fcommentaires : la marge de progression renvoie au document de conception
fix/recredit-oscillation
Patrick Schurig
2026-10-25 19:58:17 +01:00
f9f2e1e5c5decisions : référence régénérée (verdict de l'écart commande/mesure)
Patrick Schurig
2026-10-25 19:52:02 +01:00
c9e4a251catest : le rejeu de borne part d'une date fixe
Patrick Schurig
2026-10-25 19:40:11 +01:00
e856c48084test : un vrai refus reste vu, sur la borne et sur les autres charges
Patrick Schurig
2026-10-25 19:31:05 +01:00
c4e517a8d9borne : retenir ce que la borne tient, et geler l'arrêt verrouillé (P2)
Patrick Schurig
2026-10-25 19:31:00 +01:00
0dc2a1aebamoteur : l'écart commande/mesure est jugé au début du cycle (P1)
Patrick Schurig
2026-10-25 19:30:45 +01:00
41ce86a634test : une marche de consigne suivie fait suspendre le recrédit (reproduction)
Patrick Schurig
2026-10-25 16:46:18 +01:00
9640ac73f2debian : entrée de changelog 1.15.2+etm75
release/etm75
Patrick Schurig
2026-10-25 11:47:45 +01:00
e449019390Merge feature/hc-batterie dans release/etm75
Patrick Schurig
2026-10-25 11:47:34 +01:00
b5ef257a36docs : mentions de la démo neutralisées (commentaires et design seulement)
feature/hc-batterie
Patrick Schurig
2026-10-25 11:42:34 +01:00
5c3cffbad3Délestage visible : le test de la borne manuelle n'a plus d'horloge murale
Patrick Schurig
2026-10-25 11:28:13 +01:00
facad90c2eDélestage visible : shedding.open publié en liste de variantes
Patrick Schurig
2026-10-25 11:28:13 +01:00
e775f66e58decisions : référence étendue au lot délestage visible
Patrick Schurig
2026-10-25 11:08:10 +01:00
c85c822d05docs : délestage visible — motif de la borne, journal court, notification (§8)
Patrick Schurig
2026-10-25 11:05:53 +01:00
1599acfba9Délestage visible : tests de simulation
Patrick Schurig
2026-10-25 11:05:53 +01:00
da6558fa8eDélestage visible : la protection publie ce qu'elle fait (OVERLOAD_THROTTLED, GetSheddingLog)
Patrick Schurig
2026-10-25 11:05:53 +01:00
0aa357d5b6Délestage visible : journal court des délestages (SheddingLog)
Patrick Schurig
2026-10-25 11:05:53 +01:00
76bf482b21decisions : référence étendue au lot e2, suite (somme éco + confort dans le plafond)
Patrick Schurig
2026-10-25 09:47:40 +01:00
5c2a8df6d6docs : heures creuses et batterie — décision D9, la somme éco + confort tient dans le plafond
Patrick Schurig
2026-10-25 09:41:52 +01:00
e28e6375fdHeures creuses : la somme éco + confort de la borne tient dans son plafond (écart 4)
Patrick Schurig
2026-10-25 09:41:48 +01:00
b1c0adec00decisions : référence étendue au lot e2, suite (consigne posée près de la limite de phase)
Patrick Schurig
2026-10-25 07:27:13 +01:00
1302e9a04edocs : heures creuses et batterie — décision D8, la consigne se pose près de la limite de phase
Patrick Schurig
2026-10-25 07:15:36 +01:00
679e64b5b3Heures creuses : le plafond de la borne lui rend ce qu'elle tire, moins 1 A (lot e2, suite)
Patrick Schurig
2026-10-25 07:15:30 +01:00
d62365fe3ddecisions : référence étendue au lot e2 (pleine puissance en heures creuses)
Patrick Schurig
2026-10-24 22:32:16 +02:00
225fbc5a8ddocs : heures creuses et batterie — décision D7, pleine puissance en heures creuses (lot e2)
Patrick Schurig
2026-10-24 22:22:15 +02:00
1291f72d1fHeures creuses : la borne charge à la pleine puissance permise (lot e2)
Patrick Schurig
2026-10-24 22:22:12 +02:00
b144c09178docs : heures creuses et batterie — les questions du lot e1 deviennent des décisions datées
Patrick Schurig
2026-10-24 11:25:19 +02:00
1813fe80cfdecisions : référence étendue à la fonction des écritures refusées (lot e1, suite)
Patrick Schurig
2026-10-24 11:25:05 +02:00
b007aae720Batterie : une consigne refusée est réessayée en s'espaçant, la levée jamais (lot e1, suite)
Patrick Schurig
2026-10-24 11:19:15 +02:00
2cde57ccf5decisions : référence étendue aux six fonctions du lot e1
Patrick Schurig
2026-10-24 09:21:28 +02:00
3cbcdeeca3Test : le bloc storage se lit aussi par GetLoadTelemetry (lot e1)
Patrick Schurig
2026-10-24 08:56:24 +02:00
4ffa8391cfdocs : heures creuses et batterie — design, sûreté L2, inventaire du mock (lot e1)
Patrick Schurig
2026-10-24 08:38:29 +02:00
d9372c14baHeures creuses : la borne attend les HC, la batterie ne se décharge pas dans la voiture (lot e1)
Patrick Schurig
2026-10-24 08:34:21 +02:00
920cf854daTarif : les heures creuses sont la ou les zones au prix le plus bas (lot e1)
Patrick Schurig
2026-10-24 08:26:01 +02:00
c5c32035d1debian: 1.15.2+etm74 — protocole optimiseur 1.3 (forme d'error.data, token avant la majeure)
release/etm74
Patrick Schurig
2026-10-23 15:02:23 +02:00
9b974ff974Fusion de feature/protocole-1.3 dans release/etm74 (protocole optimiseur 1.3 : forme d'error.data, token avant la majeure)
Patrick Schurig
2026-10-23 15:02:23 +02:00
651181f84eConformité : forme d'error.data et ordre token puis majeure (protocole 1.3)
feature/protocole-1.3
Patrick Schurig
2026-10-23 11:15:10 +02:00
d961b73ed7Validateur du contrat : juge error.data selon la version de l'optimiseur (protocole 1.3)
Patrick Schurig
2026-10-23 11:13:57 +02:00
8c7c33be39Optimiseur de référence : aligné sur le protocole 1.3
Patrick Schurig
2026-10-23 11:13:17 +02:00
09043fb7c7Protocole optimiseur 1.3 : forme normée d'error.data, le token avant la majeure
Patrick Schurig
2026-10-23 11:11:55 +02:00
d296e5f323debian: 1.15.2+etm73 — motif de refus SetLoadConfig, bornes id et échéance, journal sans saisie client (Q7 suite)
release/etm73
Patrick Schurig
2026-10-23 06:16:17 +02:00
1b5915d016Fusion de fix/q7-suite dans release/etm73 (Q7 : motif SetLoadConfig, bornes id et dailyDeadline, journal sans saisie client)
Patrick Schurig
2026-10-23 06:16:09 +02:00
02425d94fbOPTIMIZER_PROTOCOL.md, annexe D : requestBytes à la place de request (m-3)
fix/q7-suite
Patrick Schurig
2026-10-22 23:25:52 +02:00
76b348bf8bLoadConfigStore : un libellé hérité n'est cité que sur 64 caractères dans les refus d'ensemble (m-1)
Patrick Schurig
2026-10-22 23:22:58 +02:00
58380dd7dbLoadConfigStore::load() : les valeurs héritées sont citées échappées au journal
Patrick Schurig
2026-10-22 23:22:41 +02:00
2ce74892d3SetLoadConfig : le journal du refus ne recopie plus la saisie du client (relecture q7-suite, I-1)
Patrick Schurig
2026-10-22 23:22:32 +02:00
b793e07787test(decisions) : référence étendue aux deux nouvelles fonctions de simulation
Patrick Schurig
2026-10-22 20:47:16 +02:00
f10bed77b5socketscheduler.h : request-too-long dans la liste des codes d'echecRequete()
Patrick Schurig
2026-10-22 20:26:26 +02:00
14b86de3c9trace : une requête non envoyée n'est tracée que par sa taille (Q7)
Patrick Schurig
2026-10-22 20:26:26 +02:00
8988af0a16test(socketscheduler) : ce qu'une configuration héritée hors règle envoie dans GetPlan
Patrick Schurig
2026-10-22 20:26:17 +02:00
a728a3c8daarbitre : borne ajoutée d'office même au nom trop long, libellé coupé à 256 caractères (Q7)
Patrick Schurig
2026-10-22 20:23:37 +02:00
f7aa370acbtest(simulation) : le refus de SetLoadConfig est publié par RPC, cause par cause
Patrick Schurig
2026-10-22 20:23:28 +02:00
53a10b3062SetLoadConfig : motif de refus publié (LOAD_CONFIG_REFUSED), id et échéance bornés à l'écriture (Q7)
Patrick Schurig
2026-10-22 20:20:07 +02:00
fae7101182debian: 1.15.2+etm72 — protocole optimiseur 1.2, émission bornée (Q7), instants avec décalage
Patrick Schurig
2026-10-22 19:31:08 +02:00
3a4398f0b1Fusion fix/instants-decalage : tout instant émis porte son décalage
Patrick Schurig
2026-10-22 19:30:58 +02:00
052d728137Fusion fix/q7-request-too-long : le moteur n'émet jamais de ligne de plus de 1 Mio, libellé de charge borné à 256 caractères
Patrick Schurig
2026-10-22 19:30:58 +02:00
c831fb5c42Fusion feature/protocole-1.2 : protocole optimiseur 1.2, règles Q2 à Q9
Patrick Schurig
2026-10-22 19:30:58 +02:00
f29d83e2f9test(conformance) : la session jugée sous un fuseau non UTC
fix/instants-decalage
Patrick Schurig
2026-10-21 22:10:15 +02:00
9d8b60fdd4protocole optimiseur : tout instant émis porte son décalage
Patrick Schurig
2026-10-21 22:10:15 +02:00
6b1dd95e2eSetLoadConfig : libellé de charge borné à 256 caractères, à l'écriture seulement (Q7)
fix/q7-request-too-long
Patrick Schurig
2026-10-21 20:07:32 +02:00
cd91baf98foptimiseur : le moteur n'émet jamais de ligne de plus de 1 Mio (Q7, protocole 1.2)
Patrick Schurig
2026-10-21 20:07:11 +02:00
8f24709874protocole optimiseur 1.2 : les règles Q2 à Q9, et le moteur annonce 1.2
feature/protocole-1.2
Patrick Schurig
2026-10-21 14:01:46 +02:00
7bb2b4a194test(conformance) : sonde des règles 1.2 que le moteur ne provoque pas
Patrick Schurig
2026-10-21 14:01:35 +02:00
4cbbb81802optimiseur de référence : protocole 1.2 — codes d'erreur normés, lots, lignes trop longues
Patrick Schurig
2026-10-21 14:01:25 +02:00
952f64d24btest(optimizerclient) : le moteur face aux règles 1.2 — fermeture, lots, longueur de ligne
Patrick Schurig
2026-10-21 14:01:16 +02:00
e56485d014outil(protocole) : bloc généré « errors », les erreurs que renvoie l'optimiseur
Patrick Schurig
2026-10-21 14:00:57 +02:00
73b956d1fcdebian: 1.15.2+etm71 — éco sous le premier palier, droits NymeaEnergy.* séparés
release/etm71
Patrick Schurig
2026-10-20 07:41:24 +02:00
0346775bb9Fusion feature/droits-lecture-ecriture : droits de NymeaEnergy.* séparés
Patrick Schurig
2026-10-20 07:40:55 +02:00
341f4ddbaeFusion fix/eco-sous-palier : ECO_FLOOR_BELOW_STAGE, sous le premier palier rien n'est acheté
Patrick Schurig
2026-10-20 07:40:55 +02:00
3ddf88efactest(decisions): référence régénérée après ECO_FLOOR_BELOW_STAGE
Patrick Schurig
2026-10-19 08:57:52 +02:00
35808f17bdtest(decisions): comparateur --sous-palier, seul ECO_FLOOR_GRID → ECO_FLOOR_BELOW_STAGE est admis
Patrick Schurig
2026-10-19 08:43:30 +02:00
30527b9373docs(protocole): ECO_FLOOR_BELOW_STAGE n'est pas émissible par un optimiseur, et pourquoi
Patrick Schurig
2026-10-19 08:43:30 +02:00
cd7cd1a37afix(eco): ECO_FLOOR_BELOW_STAGE — sous le premier palier, le niveau éco dit « rien n'est acheté »
Patrick Schurig
2026-10-19 08:43:24 +02:00
6c68d17edctest(charging): table des droits NymeaEnergy.* figée, et droits mordant sur transport authentifié
Patrick Schurig
2026-10-19 08:26:24 +02:00
8a055eee9cfeat(rpc): droits de NymeaEnergy.* séparés — lire, commander, configurer, administrer
Patrick Schurig
2026-10-19 08:26:24 +02:00
61db6cfd66test(conformance): mode attendu plan | abstain, un optimiseur qui s'abstient est jugé conforme
feature/forecast-protocol-1.1
Patrick Schurig
2026-10-18 10:46:53 +02:00
308444f39dtest: traces réelles du moteur jugées contre le contrat (refoptimizer)
Patrick Schurig
2026-10-17 21:48:30 +02:00
fc41c4ff40test: suite etm-powersync-optimizer-conformance pour un optimiseur quelconque
Patrick Schurig
2026-10-17 21:46:53 +02:00
2f191f4becdocs(protocole): messages générés depuis le contrat, prose réalignée sur le code
Patrick Schurig
2026-10-17 21:34:17 +02:00
ead662e044feat(outils): etm-powersync-gen-protocol-doc, prose générée depuis le contrat
Patrick Schurig
2026-10-17 21:34:17 +02:00
07cb44d35ftest: les requêtes réelles du moteur jugées contre le contrat
Patrick Schurig
2026-10-17 21:30:44 +02:00
d95a65cb71test: suite etm-powersync-protocolschema (contrat == docs == code)
Patrick Schurig
2026-10-17 21:30:44 +02:00
053263bc38feat(rpc): NymeaEnergy.GetOptimizerProtocol sert le contrat embarqué
Patrick Schurig
2026-10-17 21:30:44 +02:00
b45d0496c6feat(moteur): listes fermées du protocole exposées par le code
Patrick Schurig
2026-10-17 21:30:44 +02:00
fb581218c8feat(outils): etm-powersync-schema-check, validateur du contrat OpenRPC
Patrick Schurig
2026-10-17 21:15:51 +02:00
fc8bc1acd3feat(ref-optimizer): --capture de la session et mode wrong-type
Patrick Schurig
2026-10-17 21:15:51 +02:00
9322bc8a2fdocs(protocole): contrat OpenRPC 1.3 du protocole optimiseur 1.1
Patrick Schurig
2026-10-17 21:15:51 +02:00
11bed27572release: 1.15.2+etm70 — correctifs a, b, c ; socket optimiseur 1.1, traces, outils de test (brief 4)
Patrick Schurig
2026-10-17 14:56:55 +02:00
31269b531fdocs(optimiseur): paramètre de OptimizerClient::tokenLength documenté (correctifs brief 4, point 4)
Patrick Schurig
2026-10-17 14:55:44 +02:00
5768c36953fix(optimiseur): token d'au moins 16 caractères (correctifs brief 4, point 4)
Patrick Schurig
2026-10-17 14:44:19 +02:00
e3b916e249fix(optimiseur): fallbackCode dit pourquoi on replie (correctifs brief 4, point 3)
Patrick Schurig
2026-10-17 14:39:12 +02:00
ce323a6e1ffix(optimiseur): une tentative de reconnexion n'est pas une nouvelle perte (correctifs brief 4, point 2)
Patrick Schurig
2026-10-17 14:34:38 +02:00
8c0645d371feat(tools): l'optimiseur de référence s'annonce powersync-optimizer (correctifs brief 4, point 1)
Patrick Schurig
2026-10-17 14:32:51 +02:00
fb017f87a7test(intégration): L2 éprouvé sous un plan d'optimiseur qui commande tout à fond (brief 4 T7)
Patrick Schurig
2026-10-17 13:45:44 +02:00
f8333f42f6docs(optimiseur): annexe E — chemin, périmètre et codes de l'optimiseur de référence (brief 4 T7)
Patrick Schurig
2026-10-17 13:28:34 +02:00
644741b0eftest(intégration): suite etm-powersync-refoptimizer, moteur réel + optimiseur de référence réel (brief 4 T7, §3)
Patrick Schurig
2026-10-17 13:16:43 +02:00
f42dc709e3fix(tools): trace-replay compare une action state sur son état seul (brief 4 T7)
Patrick Schurig
2026-10-17 13:16:43 +02:00