diff --git a/docs/DESIGN_FUSEAU.md b/docs/DESIGN_FUSEAU.md index 317584e..d048dcc 100644 --- a/docs/DESIGN_FUSEAU.md +++ b/docs/DESIGN_FUSEAU.md @@ -75,10 +75,22 @@ ce qu'on s'interdit ailleurs (`measurement.source`, `rankOrigin`, `progress.regi Elles ne prennent pas leur fuseau au même endroit, et les confondre est le piège. -| | nature | fuseau qui fait foi | -|---|---|---| -| `dailyDeadline`, « avant 7 h » | **habitude du client** | celui de l'installation | -| heures creuses, Tempo, EPEX | **calendrier réglementé** | celui où le tarif est DÉFINI | +| | nature | fuseau qui fait foi | qui le vérifie | +|---|---|---|---| +| `dailyDeadline`, « avant 7 h » | **habitude du client** | celui de l'installation | l'app, à la saisie | +| heures creuses, Tempo, EPEX | **calendrier réglementé** | celui où le tarif est DÉFINI | `LM-1005-b`, au lot tarifaire | +| taux journaliers (« minuit local ») | **période de reporting** | celui de l'installation | **personne** | + +La troisième s'est trouvée en cherchant autre chose : `GetEnergyRatios` dérive ses Δ **depuis +minuit local** (`docs/INTERFACE_energyratios.md` §2). Elle suit l'installation, ce qui est le bon +comportement — mais elle repose sur la même prémisse non vérifiée que la première : que le fuseau +de la box SOIT celui de l'installation. Sur `.75`, le bilan journalier de l'app se remet à zéro à +01:00 heure française, et rien nulle part ne le dit. + +**Ce que la troisième nature ajoute au raisonnement** : elle montre que la prémisse « la box est +bien réglée » ne porte pas seulement une saisie, elle porte des **grandeurs publiées**. Une +échéance mal fuseau-horée se corrige d'un réglage ; un bilan journalier découpé au mauvais +endroit a déjà été lu, affiché, et peut-être facturé. Une plage d'heures creuses française est définie en `Europe/Paris` par le fournisseur, pas « à l'heure locale de la box ». Une box française mal réglée ne décale pas seulement diff --git a/specs/spec_loadmodel.md b/specs/spec_loadmodel.md index 1af45b3..2bd5109 100644 --- a/specs/spec_loadmodel.md +++ b/specs/spec_loadmodel.md @@ -590,6 +590,13 @@ tarif est défini.** > |---|---|---| > | `dailyDeadline`, « avant 7 h » | **habitude du client** | celui de l'installation | > | heures creuses, Tempo, EPEX | **calendrier réglementé** | celui où le tarif est **défini** | +> | taux journaliers (« minuit local ») | **période de reporting** | celui de l'installation | +> +> La troisième a été trouvée en cherchant autre chose (2026-09-04) : `GetEnergyRatios` calcule +> ses Δ **depuis minuit local**. Elle suit l'installation, ce qui est CORRECT — mais seulement si +> le fuseau de la box est celui de l'installation. Sur `.75`, en `Europe/London`, le bilan +> journalier de l'app se remet à zéro à **01:00 heure française**. Le comportement du moteur est +> juste ; c'est la prémisse qui est fausse, et rien ne la vérifie. > > Une plage d'heures creuses française est définie en `Europe/Paris` par le fournisseur, pas > « à l'heure locale de la box ». Les confondre ne décale pas un affichage : **ça achète au