diff --git a/docs/mockups/ecran_energie_refonte.html b/docs/mockups/ecran_energie_refonte.html new file mode 100644 index 0000000..0ecbbbc --- /dev/null +++ b/docs/mockups/ecran_energie_refonte.html @@ -0,0 +1,387 @@ +Écran Énergie — refonte + + + +
+ +
+
ETM PowerSync · maquette à valider · 8 septembre 2026
+

Écran Énergie — ce que la box permet, et ce qu'elle ne permet pas

+

Quatre demandes, quatre séries traçables, et + deux qui n'ont aucune source. Tout ce qui suit est mesuré sur + .75 ce matin — pas déduit d'un contrat.

+
+ +

01 — le relevéCe que la box publie, par consommateur

+

Energy.GetThingPowerLogs existe et répond. Sonde de +00:00 à 09:00, pas de 15 min, six Things demandés — cinq répondent.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Série demandéeSourceInterfaces du ThingRelevé ce matinVerdict
MaisonGrid + PV, dérivéesmartmeter284 → 3 095 Wtraçable
PACPAC-Metersmartmeterconsumer0 W toute la journéetraçable
ECSECS-Metersmartmeterconsumer0 W toute la journéetraçable
VE 2Simulated wallboxevcharger · smartmeterconsumer0 W toute la journéetraçable
VE 1V2C Trydanevcharger · power — pas smartmeterabsente de la réponsepas d'historique
Batterie (charge / décharge, SOC)—aucun Thing battery · energystorage · batterymonitor—aucune source
Prévision météo—aucun Thing météo sur la box—hors nymea
+
+ +
+ La V2C n'a pas d'historique de puissance, et ce n'est pas un oubli. + Sa classe trydan ne déclare pas l'interface smartmeter, + donc elle n'entre pas dans GetThingPowerLogs — la borne simulée, elle, + la déclare et répond. On peut afficher sa puissance instantanée + (currentPower, et measurement dans la télémétrie), + mais pas sa courbe. Deux bornes côte à côte dont une seule a un passé : l'écran + doit le dire, pas tracer une ligne à zéro. +
+ +
+ Il n'y a pas de batterie sur cette installation. Aucun Thing ne porte les + interfaces que l'app cherche. Donc ni SOC, ni charge, ni décharge — et le + Batterie 0 % affiché aujourd'hui sur le tableau de bord est un + zéro forgé : EnergyData.batterySOC vaut 0 par défaut et + personne ne l'écrase. À corriger dans le même lot. +
+ +

02 — le premier grapheTrois courbes invisibles, trois causes différentes

+

Aucune n'est un problème de dessin. Les trois sont dans les données ou dans leur +lecture, et deux partagent la même racine.

+ +
+
+

Production — sous l'axe

+

La box publie production négatif : −103 W ce matin. + Le transport garde les signes bruts (§7.1 du contrat, à raison), donc la courbe est tracée + à −0,1 kW pendant que l'échelle monte à 3,1 — invisible, collée à l'axe.

+
+
+

Autoconsommation — clouée à zéro

+

selfConsumptionPower calcule production − export + puis > 0 ? … : 0. Avec une production négative le résultat est + toujours zéro. Même racine que la précédente.

+
+
+

SOC — rien à tracer

+

batterySOCSource cherche un Thing + battery/energystorage/batterymonitor et n'en trouve aucun : il rend + null, la courbe n'est pas construite. Comportement correct — + ce qui manque, c'est de le dire.

+
+
+ +
+ Le signe se corrige au RENDU, jamais au transport. Le magnitude est juste : + l'identité acquisition = consommation − |production| tient sur + 97 échantillons sur 97. Mais poser un .abs() dans le transport + effacerait la seule trace qu'on ait du défaut, et masquerait un vrai zéro le jour où la box + changera de convention. La dérivation prend la magnitude ; le champ reste brut. +
+ +

03 — la propositionL'écran

+

Trois blocs. Les cartes disent la journée, le premier graphe dit les +flux, le second dit qui consomme. Chaque nombre porte de quoi il est la fraction.

+ +
+ + +
+
1 — cartes journalières + flux
+
+
Énergie08 sept.
+ +
Aujourd'hui depuis 00:00
+
+
0,08 kWh
Production
+
79 Wh — journée couverte
+
6,47 kWh
Consommation
+
0,02 kWh
Vers réseau
+
6,42 kWh
Depuis réseau
+
70 %
+
Autoconsommation
sur 79 Wh produits
+
1 %
+
Autonomie
sur 6,47 kWh consommés
+
+ +
Flux de la journée kW
+
+ + + + + + + 43 + 210 + 00h09h24h + + + + + + + + + +
+ Production + Consommation + Autoconsommation + SOC batterie +
+
+
SOC — non affichable
+
Aucune batterie déclarée sur cette installation. La courbe n'est pas + masquée : elle n'existe pas.
+
+
+
+
+ + +
+
2 — répartition par consommateur
+
+
Qui consomme kW empilés
+
+ + + + + + + 43 + 210 + 00h09h24h + + + + + + + + PAC · ECS · VE 2 — 0 W mesuré + +
+ Maison + PAC + ECS + VE 2 + VE 1 · Batterie +
+
+
VE 1 (V2C) — pas d'historique
+
La borne ne déclare pas d'interface de comptage : sa puissance + instantanée est lisible, sa courbe n'existe pas. Une ligne à zéro dirait + « elle n'a rien tiré », ce qui est une autre affirmation.
+
+
+
Batterie — aucune source
+
Ni charge ni décharge : rien à empiler.
+
+
+ +
Prévision solaire Open-Meteo
+
+
+ Hors nymea. Aucun Thing météo sur la box : la prévision + viendrait d'un appel HTTP direct de l'app à Open-Meteo, avec les coordonnées de + l'installation. C'est une source externe, donc une décision à part — + et une fonctionnalité de palier Auto. +
+
+
+
+ +
+ +

04 — à trancherCe que je ne décide pas seul

+ +
    +
  1. + Les couleurs des consommateurs n'existent pas dans le thème. +

    app_theme.dart fixe les couleurs de flux (solaire, maison, + réseau, batterie) mais rien pour PAC / ECS / VE. Je propose ambre pour la PAC, sarcelle pour + l'ECS, indigo pour les bornes — trois teintes qui ne rentrent en collision avec aucune + couleur de flux existante. À valider, elles deviendront des tokens.

    +
  2. +
  3. + Une série sans passé : ligne absente ou ligne à zéro ? +

    Je propose absente, et nommée sous le graphe. Une ligne plate à zéro affirme + « cette charge n'a rien tiré », ce que personne n'a mesuré. C'est la règle déjà appliquée + aux cartes de charge, portée au graphe.

    +
  4. +
  5. + Le taux avec son dénominateur — partout, ou seulement quand il est petit ? +

    Je propose partout. Un seuil demanderait une constante inventée, et celle que + j'avais proposée samedi (0,05 kWh) aurait laissé passer les 79 Wh de ce matin. « 70 % sur + 79 Wh produits » se lit juste toute l'année ; « 70 % » ne se lit juste que les bons jours.

    +
  6. +
  7. + La météo, maintenant ou plus tard ? +

    Elle sort du périmètre nymea : appel externe, coordonnées de l'installation à saisir, + gestion du hors-ligne. C'est un lot en soi. Je propose de finir les deux graphes d'abord + et de garder la place à l'écran.

    +
  8. +
+ + + +