6 Commits

Author SHA1 Message Date
Patrick Schurig
5c2a8df6d6 docs : heures creuses et batterie — décision D9, la somme éco + confort tient dans le plafond
§8 : D9 (2026-10-25, suite) — l'écart 4 est corrigé pour la pleine
puissance d'heures creuses ; la dérogation sans heure creuse et les phases
étiquetées restent à leur lot ; le compteur en retard est accepté.
§8.1 : l'écart 4 renvoie à §8.3 ; ce qui reste de la dérogation y est dit.
§8.3 : la règle, les mesures avant/après, les preuves — dont la garde de
bascule de §8.2, désormais éprouvée.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 09:41:52 +01:00
Patrick Schurig
1302e9a04e docs : heures creuses et batterie — décision D8, la consigne se pose près de la limite de phase
- §8 : D8 (2026-10-25) — en heures creuses, le plafond de la borne lui
  rend son courant mesuré, moins 1 A par phase ; la tenue au plancher en
  surcharge (L4 décide) est confirmée.
- §8.1 : écarts ouverts 3 (double écrêtage hors heures creuses, lot à
  part) et 4 (partage achat/surplus à l'aube, avec la dérogation) ;
  l'oscillation renvoie à §8.2.
- §8.2 : la règle, la marge, la sécurité en dépassement, les hypothèses,
  les mesures avant/après et les preuves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 07:15:36 +01:00
Patrick Schurig
225fbc5a8d docs : heures creuses et batterie — décision D7, pleine puissance en heures creuses (lot e2)
§8 gagne D7 (2026-10-24) et §8.1 : la règle (minimum = plafond de cycle),
le choix des phases, la sécurité (LM-1500-h en heures creuses seulement, L4
garde le dernier mot), la fin de session au seuil mesuré, le motif
EV_OFF_PEAK_FULL_POWER. Deux points restent à trancher : le double
écrêtage hors heures creuses, et l'oscillation de la consigne près de la
limite de phase (le plafond ne rend pas à la borne ce qu'elle tire).
Lot futur, non implémenté : ne réserver que ce dont la maison a besoin
jusqu'au soleil, d'après la prévision. §2 renvoie à D7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 22:22:15 +02:00
Patrick Schurig
b144c09178 docs : heures creuses et batterie — les questions du lot e1 deviennent des décisions datées
Décisions de Patrick du 2026-10-24, §8 de DESIGN_HC_BATTERIE.md : toute la
décharge bloquée, maison comprise ; EV_GRID_START refusé hors heures
creuses (seul le mode boost charge tout de suite) ; blocage aussi par une
borne en mode Normal ; seuil de 230 W accepté ; étalement de l'échéance
renvoyé à un lot à part ; action « limite de décharge » et nouveau nom
d'enableDischarging décidés dans le dépôt du plugin. Aucune ne change le
code ; le garde reste compatible avec les deux actions actuelles.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:25:19 +02:00
Patrick Schurig
b007aae720 Batterie : une consigne refusée est réessayée en s'espaçant, la levée jamais (lot e1, suite)
Un onduleur qui refuse la consigne (GEN24 sans « Allow Control », exception
0x04) la voyait reposée à chaque cycle, avec un qCWarning à chaque fois,
toute la nuit, et `held` la publiait comme tenue.

- Une pose refusée (taux ou limite) ouvre une série de refus : la pose
  suivante attend 1, 2, 5, 10 puis 15 min au plus (marge de 5 s pour la
  gigue du cycle). La série se clôt à la première séquence acceptée
  jusqu'au bout (retour au tiers du minuteur) ou à la levée.
- La levée n'est jamais espacée : elle part au cycle même où la décision
  tombe, série en cours ou non.
- Journal : un seul qCWarning par série, les refus suivants en qCDebug, un
  qCInfo à l'acceptation qui clôt la série.
- Télémétrie : pendant une série, `held` est faux (et `dischargeBlocked`
  avec lui), et la batterie publie o:refusedWrites, o:refusedSince,
  o:nextAttemptAt. `held` faux plutôt qu'un drapeau à côté : un client qui
  ignore le champ nouveau ne doit pas afficher une protection absente.

Mock : propriété dynamique `refuserEcritures` sur la batterie pilotable.
Test testRefusedWritesAreSpacedAndNeverDelayTheRelease ; les six
contre-épreuves (espacement, avertissement, held, levée, deux fins de
série) le font rougir.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:19:15 +02:00
Patrick Schurig
4ffa8391cf docs : heures creuses et batterie — design, sûreté L2, inventaire du mock (lot e1)
DESIGN_HC_BATTERIE.md : la règle des heures creuses, les modes de borne
concernés et le changement de comportement, la lecture du modèle SunSpec 124
(StorCtl_Mod = bit qui ACTIVE la limite, OutWRte en %, séquence NO_DISCHARGE
du plugin) qui fixe l'ordre des écritures, le minuteur de retour comme sûreté
(et l'hypothèse non levée du plugin sur le 124), l'invariant 8 et les règles de
réserve, ce qui est publié, les preuves, et ce que le lot ne fait pas.

SAFETY.md : le repli L2 lève la limite de décharge explicitement.
INVENTAIRE_MOCK.md : la classe controllableStorage, et ce qu'elle n'émule pas.
DESIGN_PREVISION_PV.md §32.4 : la décision e1 est prise, pointeur.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 08:38:29 +02:00