Fenetre d etablissement : ne plus decider sur les mesures du transitoire
A la fermeture du contacteur, PV, import et courant batterie ne decrivent aucun regime permanent pendant ~150 s (mesure du 31/08). La boucle de 30 s y prenait cinq decisions, et la moyenne PV 10 min en gardait la trace dix minutes de plus -- le systeme lisait "plus de soleil", en concluait qu il avait besoin du reseau, et confirmait sa propre premisse. Aucun seuil nouveau : le systeme publiait deja l horodatage de la transition et personne ne le lisait. Pendant la fenetre, on ne demarre pas et on ne laisse pas une charge s arreter sur ces mesures ; les step-down restent libres. Deux asymetries voulues : la fenetre ne s ouvre qu a l ARRIVEE du reseau (a sa disparition les onduleurs reprennent tout, les gardes doivent agir plus vite), et elle suspend le confort, jamais le risque. Golden 42 -> 48, chaque cas apparie a son contrefactuel hors fenetre. Mutation : gridSettling force a false -> 2 echecs cibles, restauration -> 48/48. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KKzkkVTG6KXnGXFFC7X9XJ
This commit is contained in:
@@ -310,6 +310,12 @@ reason.push(`Batt=${round1(parsed.batteryCurrentA)}A`);
|
||||
reason.push(`PV=${Math.round(parsed.pvPowerW)}W`);
|
||||
reason.push(`PV10=${Math.round(parsed.pvPowerAvg10mW)}W`);
|
||||
reason.push(`Grid=${parsed.gridAvailable ? 'on' : 'off'} (${Math.round(parsed.gridPowerW)}W)`);
|
||||
// Trace de la fenetre d'etablissement : sans elle, une lecture du logbook
|
||||
// pendant le transitoire donne l'impression que le systeme decide n'importe
|
||||
// quoi. Il decide, au contraire, de ne PAS decider sur ces mesures.
|
||||
if (derived.gridSettling) {
|
||||
reason.push(`ETABLISSEMENT reseau ${Math.round(parsed.gridTransitionAgeSec)}s/${params.gridSettleSeconds}s (mesures PV/batterie non fiables)`);
|
||||
}
|
||||
reason.push(`Cap=${derived.physicalCapA}A`);
|
||||
reason.push(`Ref=${round1(derived.currentReferenceA)}A`);
|
||||
reason.push(`Target=${round1(desiredCurrentA)}A`);
|
||||
|
||||
Reference in New Issue
Block a user