La protection regardait la maison, pas ce qu on demande au parc
Deux fermetures ce dimanche midi. Mesurees a l instant de la decision, contacteur encore ouvert donc production non censuree : maison 4025 et 4981 W, mais parc reellement sollicite 1132 et 772 W pour un plafond de 5100. La decharge batterie mesuree aux memes instants — 1345 et 1223 W — colle a maison moins PV, pas a la maison brute. Le solaire couvrait la cuisson ; la regle a ferme le contacteur pour rien, 0,50 kWh importes en plein soleil. Elle n avait bien fonctionne hier soir que parce qu il n y avait plus de PV. Les deux seuils portent desormais sur max(0, maison - PV). Contacteur ouvert cette grandeur EST la decharge batterie ; ferme, un bridage du MPPT la fait surestimer, donc l erreur pousse a rester ferme et jamais a relacher tot. Golden 20 -> 24, dont les deux releves de midi et le contrefactuel du nuage. Le test de mutation a montre que la premiere serie ne couvrait que le seuil de fermeture : il a fallu ecrire le cas du soleil revenu pour qu elle morde. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
76
HANDOFF.md
76
HANDOFF.md
@@ -4520,6 +4520,82 @@ qu'apres 12:26.
|
||||
4. si la tension batterie se remet a disparaitre, `plafond_decharge_w` doit
|
||||
rester a ~5100 et non tomber a 0.
|
||||
|
||||
### MEME JOUR, DEFAUT PLUS PROFOND : la regle comptait la maison BRUTE
|
||||
Dimanche 06/09, deux fermetures du contacteur : **12:07 -> 12:22** (four +
|
||||
plaque) et **13:34 -> 13:42** (cuisson + JEEP branchee a 13:31). Journee
|
||||
nuageuse, parc reduit de moitie. Mesure a la resolution native **a l'instant ou
|
||||
chaque decision a ete prise, contacteur encore ouvert** — donc sur une
|
||||
production non censuree :
|
||||
|
||||
| fermeture | maison | PV | **parc reellement sollicite** | decharge batterie mesuree |
|
||||
|---|---:|---:|---:|---:|
|
||||
| 12:07, cuisson seule | 4 025 W | ~2 890 W | **1 132 W** | 1 345 W |
|
||||
| 13:34, cuisson + JEEP | 4 981 W | ~4 210 W | **772 W** | 1 223 W |
|
||||
|
||||
La decharge batterie colle a `maison - PV`, pas a la maison brute : le controle
|
||||
croise est net. Le plafond du parc est de 5 100 W — **il etait a 22 % et 15 % de
|
||||
sa limite, et la regle a ferme le contacteur pour rien.** Meme en integrant les
|
||||
periodes fermees (ou le PV peut etre bride, donc chiffres pessimistes), la
|
||||
demande maximale sur le parc n'a atteint que 3 046 et 2 437 W. Cout : 0,50 kWh
|
||||
importes en plein soleil, pour rien.
|
||||
|
||||
Cause : la regle du 05/09 compare la MAISON BRUTE au plafond de decharge du
|
||||
parc. Elle n'avait bien fonctionne la veille au soir que parce qu'il n'y avait
|
||||
plus de PV — la maison brute valait alors la demande sur le parc, et le pic de
|
||||
-97,4 A etait reel. Des qu'il y a du soleil, elle ferme sur une charge que le
|
||||
solaire couvre deja.
|
||||
|
||||
Correctif (deploye 06/09 13:49,
|
||||
`tools/patch-20260906b-demande-sur-le-parc.mjs`) : les deux seuils portent sur
|
||||
**`max(0, maison - PV)`**. `acOverSafeLimit` n'est PAS touche — il compare la
|
||||
charge au debit des onduleurs, qui portent la maison entiere quelle qu'en soit
|
||||
la source.
|
||||
|
||||
⚠️ **Pourquoi ce n'est pas un oscillateur**, alors que la grandeur n'est pas
|
||||
invariante a la decision (fermer peut brider le MPPT, §28) : contacteur OUVERT,
|
||||
`maison - PV` EST la decharge batterie, grandeur physique exacte ; contacteur
|
||||
FERME, un bridage du MPPT fait BAISSER PV donc MONTER `maison - PV` — l'erreur
|
||||
pousse a rester ferme, jamais a relacher tot ; et le relachement exige de toute
|
||||
facon le dwell (6 a 20 min), tres au-dela du transitoire d'etablissement mesure
|
||||
a ~150 s. Erreur unilaterale et bornee, dans la direction qui menage le parc.
|
||||
|
||||
Golden 20 -> 24 : les deux releves de ce midi (aucune fermeture attendue), le
|
||||
contrefactuel du nuage (meme cuisson a 4 500 W avec PV 200 W -> on ferme), et
|
||||
`h-midi-soleil-revenu-relache` (contacteur ferme, cuisson a 3 000 W mais PV
|
||||
2 000 -> le parc n'est plus sollicite qu'a 1 000 W, on rend). Les scenarios de
|
||||
protection existants portent desormais `pv_power_w: '0'` explicitement : ils
|
||||
decrivent le soir, ou le parc est seul.
|
||||
|
||||
⚠️ Piege evite grace au test de mutation : la premiere serie de scenarios ne
|
||||
couvrait que le seuil de FERMETURE. Remettre le relachement sur la maison brute
|
||||
ne faisait echouer aucun test — il a fallu ecrire `h-midi-soleil-revenu-relache`
|
||||
pour que la mutation morde.
|
||||
|
||||
### Ce que la JEEP n'a PAS cause, et la question qu'elle pose quand meme
|
||||
Le propriétaire attribuait la fermeture de midi a la conjonction cuisson +
|
||||
voiture. Les faits : **la voiture n'etait pas branchee** pendant l'episode de
|
||||
12:07 (EVCS a 0 W de bout en bout) ; elle n'a joue que dans celui de 13:34, qui
|
||||
n'aurait pas du fermer non plus. Les deux fermetures viennent de la regle, pas
|
||||
de la charge.
|
||||
|
||||
Reste que la question de fond est juste, et elle n'est pas traitee : `houseAcPowerW`
|
||||
inclut l'EVCS, donc **la voiture est comptee comme une charge menagere
|
||||
incompressible** alors qu'elle est la seule charge entierement compressible du
|
||||
foyer — le controleur EVCS peut la ramener a 6 A ou l'arreter en un cycle. Le
|
||||
jour ou la demande sur le parc depassera vraiment le plafond avec la voiture
|
||||
dedans, la reponse economique est de brider la voiture d'abord et de ne fermer
|
||||
le contacteur que pour le reste. Aucun des deux workflows ne sait faire cela
|
||||
aujourd'hui : le controleur EVCS ignore le plafond de decharge du BMS, et
|
||||
l'hysteresis ne sait pas commander la borne. A instruire.
|
||||
|
||||
### Anomalie annexe : une session de charge comptee deux fois
|
||||
`Session de charge terminee : JEEP, 4.20 kWh` a ete emis **deux fois** — a
|
||||
02:52:31 (fin de la charge HC reelle) et a 13:42:32 (debranchement apres onze
|
||||
minutes de charge diurne), avec la MEME valeur au centieme. Le compteur de
|
||||
session de `tools/historise-evcs.mjs` semble rejouer la session de la nuit au
|
||||
lieu d'en ouvrir une nouvelle. A corriger, sans quoi la table `session_charge`
|
||||
double-compte.
|
||||
|
||||
### Reste ouvert
|
||||
- Detecteur de gel dans le service d'historisation : une grandeur qui ne bouge
|
||||
pas alors qu'une autre du meme bilan bouge = alerte. Non fait.
|
||||
|
||||
Reference in New Issue
Block a user