Bilan : reserve d orage, en mode ombre
Une coupure reseau n arrete pas l installation : le solaire et la batterie continuent, seul le filet de secours disparait. La reserve a tenir est donc la couverture prudente p80 que le bilan calcule deja — aucune constante nouvelle. En deficit c est la fenetre traversee, en surplus la prochaine, car a 15 h la reponse « rien a couvrir » est exacte et inutile. Le seuil d activation est la vigilance orange, echelle officielle de Meteo-France et non un nombre choisi ici. Le snapshot lit l alerte sans connaitre la commune, donc le code marche des l installation de l integration et publie « indisponible » en attendant. Tests 38 -> 42. Le fixture du test de perimetre ombre ne contenait pas storm : les nouvelles ecritures n etaient pas couvertes. Corrige, assertion explicite, preuve par mutation. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
@@ -30,6 +30,13 @@ const BALANCE_OK = {
|
||||
},
|
||||
vehicle: { surplusAvailableKwh: 20.17 },
|
||||
confidence: { deficitTrustworthy: true },
|
||||
// La réserve d'orage fait partie de la sortie normale de BALANCE : elle doit
|
||||
// figurer ici, sinon la garantie de périmètre ne couvre pas ses écritures.
|
||||
storm: {
|
||||
level: 'orange', known: true, active: true, phenomena: ['Orages'],
|
||||
windowStartHour: null, reserveKwh: 2.42, reserveSocPct: 38.1,
|
||||
socMarginPct: -17.1, covered: false, shortfallKwh: 2.57,
|
||||
},
|
||||
};
|
||||
|
||||
// Le même bilan, mais sans croisement trouvé sur l'horizon : le SOC requis
|
||||
@@ -54,6 +61,9 @@ export const shadowScenarios = [
|
||||
outOfScope: '',
|
||||
wroteRequiredSoc: true,
|
||||
wroteGridNeeded: true,
|
||||
// Les 5 écritures de la réserve d'orage sont émises et restent dans le
|
||||
// périmètre ombre.
|
||||
wroteStorm: 5,
|
||||
hasLogbook: true,
|
||||
status: 'ok',
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user