Chantier : trois plans valides, et correction d'un chiffre surestime

Configuration appliquee (3 plans, inverter_size 11000, cle Professional) : la
prevision du jour passe de 30,2 a 43,5 kWh, aucune erreur au journal. Pieges
d'API notes : convention d'azimut inverse (0 = sud), et plans multiples en
triplets successifs dans le chemin, pas en listes separees par virgules (422).

Test : forme ciel clair contre enveloppe mesuree — matin 21,4 % contre 39,3 %
(c'etait 15,1 % avant), ecart absolu moyen de 4,5 a 2,53 points. Amelioration
nette mais ecart residuel.

Confrontation plan par plan contre le MPPT correspondant, sur les 4 heures a
censure <= 4 % : le modele ciel clair de Forecast.Solar presente exactement le
meme biais que mon modele geometrique local. Deux modeles independants
s'accordent et divergent de l'enveloppe — c'est donc l'enveloppe qui a tort.
Mecanisme : un maximum horaire pris sur des jours differents surpondere le
matin, dont la variabilite jour a jour est plus forte qu'a midi.

Correction assumee : le "39,3 % du matin mesures" cite toute la journee comme
preuve du defaut de configuration etait lui-meme gonfle. Le defaut etait reel,
son ampleur surestimee.

Consequence : l'enveloppe doit ceder la place a la courbe horaire de l'API dans
RESOURCE_ESTIMATE, qui apporte forme et magnitude sur 6 jours.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
Tallagrand Thierry
2026-08-25 02:19:38 +02:00
parent ea587f7637
commit 1ce1237965

View File

@@ -267,6 +267,49 @@ Cette courbe remplacera **à la fois** la forme (enveloppe) et la magnitude
compliquer. Les plans à déclarer : sud-est 135°/40°/4030 W (suiveur fusionné,
930 W), sud 180°/35°/9300 W, ouest 270°/45°/2790 W.
## Validation des trois plans (25/08) — et correction d'un chiffre que j'ai trop cité
Configuration appliquée : trois plans (sud-est+suiveur 135°/40°/4030 W,
sud 180°/35°/9300 W, ouest 270°/45°/2790 W), `inverter_size` 8000 → 11000,
clé d'API Professional en place. La prévision du jour passe de **30,2 à
43,5 kWh**. Aucune erreur au journal.
⚠️ **L'API doit être appelée avec sa propre convention d'azimut** : 0 = sud,
−90 = est, +90 = ouest, soit `azimut_API = azimut_HA − 180`. Et les plans
multiples s'écrivent en triplets successifs dans le chemin
(`/dec1/az1/kwp1/dec2/az2/kwp2/...`), pas en listes séparées par des virgules —
celles-ci renvoient une erreur 422.
**Résultat du test.** Forme ciel clair contre enveloppe mesurée :
matin 07-11 h **21,4 %** contre 39,3 % mesurés (c'était 15,1 % avant
correction) ; après-midi 14-18 h 50,6 % contre 35,2 %. L'écart absolu moyen
tombe de ~4,5 à **2,53 points**. Amélioration nette, mais l'écart ne se referme
pas.
**Et c'est ma référence qui est en cause.** Confrontation plan par plan, chacun
contre son propre MPPT, sur les 4 heures à censure ≤ 4 % : le modèle ciel clair
de Forecast.Solar sous-estime 8 h et surestime 11 h — **exactement le même biais,
et de même ampleur, que mon modèle géométrique local**. Deux modèles
indépendants s'accordent entre eux et divergent de l'enveloppe : le plus
probable est que l'enveloppe ait tort.
Mécanisme : l'enveloppe est un maximum horaire pris sur des jours différents. Le
rapport max/moyenne est plus grand le matin que le midi (une matinée claire et
une matinée de brume diffèrent bien plus que deux midis), donc l'enveloppe
**surpondère structurellement le matin**.
**Correction assumée** : le « 39,3 % du matin mesurés » que j'ai cité toute la
journée comme preuve du défaut de configuration était lui-même gonflé. Le défaut
était réel — un seul plan plein sud, 15 kWp, plafonné à 8 kW — mais j'en ai
surestimé l'ampleur en le mesurant contre une référence biaisée.
**Conséquence pour le code** : l'enveloppe doit disparaître de
`RESOURCE_ESTIMATE` au profit de la courbe horaire de l'API
(`estimate/watthours/period`), disponible sur 6 jours. Elle apporte à la fois la
forme et la magnitude, ce qui **simplifie** le nœud et supprime la référence
défectueuse. L'enveloppe reste utile pour une seule chose : le plafond physique
de vraisemblance.
## Backlog
- [ ] **Doublon `unique_id: victron_vebus_dc_power`** — déclaré deux fois, avec