Patrick Schurig f1547f674a fix(énergie): grouper par période CIVILE, soutiré en bleu, second graphe d'énergie
TROIS DEMANDES DE PATRICK.

1. Le soutiré passe du rouge au BLEU. Avec l'orange partagé sur les deux barres,
   le rouge rendait l'image trop chaude — et le bleu est déjà la couleur de la
   maison partout ailleurs. Il ne reste d'orange que le bloc partagé, celui qui
   doit se voir.

2. Second graphe en vue barres : « Où est passée la consommation » — une barre
   empilée par période, une couleur par charge déclarée, plus le reste du foyer
   qui ferme la barre à la consommation totale.

   L'énergie vient du compteur cumulé de chaque appareil (`totalConsumption`),
   jamais d'une intégration de la puissance — intégrer supposerait la puissance
   constante entre deux échantillons. Vérifié à la sonde avant d'écrire : ECS
   80,8 kWh et PAC 43,1 kWh sur la fenêtre, avec des deltas journaliers réels.

   Une charge dont le compteur n'a pas bougé donne 0 kWh, qui est une MESURE.
   Une charge dont le cumul manque à une borne n'a PAS de part. Les deux se
   ressemblent à l'écran et ne disent pas la même chose. Et un compteur qui
   recule est une remise à zéro, pas une consommation négative : la part est
   refusée plutôt que rendue absurde.

🔴 3. LE « 6/9 » EN DOUBLE N'ÉTAIT PAS UN DÉFAUT DE L'APP. C'est la trace de
   notre propre bascule de fuseau du 2026-09-06 : la frontière de journée de la
   box a glissé d'une heure, et l'historique porte deux échantillons pour le
   06/09 — 00:00 et 01:00. Le graphe affichait fidèlement une « journée » d'une
   heure à côté de journées entières.

   La couture est PERMANENTE : elle est dans les données passées, pas dans une
   requête. Tout écran qui compare des périodes doit grouper par période civile,
   jamais par indices consécutifs. Aucune énergie n'est perdue — la tranche
   d'une heure est absorbée dans sa journée.

Et une étiquette d'axe illisible : fl_chart en pose une à `min` en plus de
celles de l'intervalle, et les deux se superposaient — « 20:4500 ». Deux heures
imprimées l'une sur l'autre ne se lisent ni l'une ni l'autre.

358 tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw
2026-09-09 08:52:54 +02:00

etm_powersync_app

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Description
No description provided
Readme 7.8 MiB
Languages
Dart 91.5%
C++ 4.3%
CMake 3.3%
Swift 0.4%
HTML 0.3%
Other 0.2%