Les deux règles du moteur sont prises. Il leur manque trois choses pour être affichables : 1. `ECO_FLOOR_MISSED` sous `unmeasurable` — la cause porte la nuance et `missingWh` absent est juste, mais le COÛT manque. Sous le taux constant le moteur aura acheté exactement la cible et il le sait exactement : il l'a commandé. `draw.committedW` est une puissance par cycle, pas un cumul. `purchasedWh` est légitime là où `deliveredWh` ne l'est pas — l'un est une comptabilité, l'autre une mesure absente. Sans lui, la règle « ce que ça coûte par jour » ne peut être qu'une estimation de l'app. 2. Le signal de déclaration doit vivre dans `GetLoadConfig` en lecture seule, pas dans la télémétrie : `measurement` n'existe que pour les charges de `loads[]`, et une charge qu'on déclare est justement celle qui n'y est pas. Avec sa raison — aucun compteur / compteur sans énergie / borne sans `sessionEnergy` — parce que le geste de l'installateur en dépend. `meterThingId` ne suffit pas : un compteur peut publier la puissance sans l'énergie. 3. Après une bascule `unmeasurable → measured`, `deliveredWh` compte depuis la nouvelle base pendant que `targetWh` reste la cible entière : la paire cesse d'être une fraction, et une barre afficherait « 0,5 sur 4,0 » après une bascule où 3 kWh ont pu être achetés. Soit `targetWh` est rebasée, soit un champ dit depuis quand on mesure. Aucune barre avant que ce soit tranché. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw
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
Languages
Dart
91.5%
C++
4.3%
CMake
3.3%
Swift
0.4%
HTML
0.3%
Other
0.2%