Patrick Schurig aa22a52187 docs(maquette): « Configurer · Batterie » — septième écran, et un brief pour le moteur
La batterie devient une charge du waterfall, donc son bouton Configurer ouvre un écran de
mécanisme comme les cinq autres. Ajouté à la planche existante plutôt qu'à part : c'est
précisément la comparaison côte à côte qui avait révélé « six écrans, trois contrats » avant
qu'une ligne ne soit écrite.

RIEN DE CET ÉCRAN N'EXISTE. Ni BatteryAdapter, ni entrée LoadConfig pour le stockage, ni
prévision PV. Les seuls leviers réels de .75 sont les cinq actions de la classe SunSpec
Storage, et l'état réel affiché se limite à ce que le Thing publie — tout le reste porte un
badge « à créer », y compris là où ça alourdit la maquette.

Le rang par défaut est la batterie EN PREMIER, et ce n'est pas un choix de conception : c'est
la reproduction du comportement actuel. Une mise à jour ne change jamais l'arbitrage sans
geste ; la nouveauté est qu'il devient réglable.

Quatre blocs dans Configurer, dont deux qui ont demandé à être reformulés avant d'être
dessinés :

- Les blocages ne sont PAS une question de rang mais de SOURCE. « Ne pas vider la batterie
  dans la voiture la nuit » ne s'exprime pas par un ordre de priorité — la nuit il n'y a pas
  de surplus à répartir. La formulation juste est « quelles charges ont le droit d'être
  servies par la batterie », réglée charge par charge. Le contrat porte déjà
  Source { Solar, GridSource } ; il manque le troisième terme et le droit de le refuser.

- La réserve adaptative est montrée AVEC sa réserve : Victron a conçu Battery Life pour du
  plomb, et sur du LFP le problème traité — la sulfatation — n'existe quasiment pas. Si le
  mécanisme est repris, ce sera pour un motif à nommer, pas par mimétisme.

- La charge différée montre le POINT DE NON-RETOUR, pas la prévision. C'est lui qui garantit
  qu'une prévision fausse ne coûte rien.

- La charge réseau pose le mécanisme seul. Ni prix, ni Tempo, ni marché de gros : le jour où
  une source tarifaire existera, elle remplacera le doigt de l'utilisateur sans que le bloc
  ne change.

Le boost vers le véhicule est HORS Configurer, sur la carte du tableau de bord : c'est le
seul cas où la batterie est une source et non une charge, et c'est un geste immédiat, pas une
intention durable. Trois fins possibles, toutes obligatoires — une action qui ne sait pas
s'arrêter n'a pas sa place sur un écran client.

Et le motif que la planche fait ressortir : charge différée, charge réseau et échéance
véhicule (LM-1009) ont la MÊME forme — une cible, une échéance, un point de non-retour. Trois
colonnes côte à côte le montrent ; le moteur peut l'implémenter une fois.

Trois questions écrites pour le moteur, pas résolues ici : bloquer demande un interdit ACTIF
et non une allocation à zéro, puisque la batterie agit d'elle-même · cet interdit doit
EXPIRER, sinon un HEMS qui tombe laisse la batterie inerte · et controlHealthy == false doit
sortir la batterie de l'arbitrage, comme available == false pour une charge en défaut.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016vrTVifar2GN5rtUh89Wkq
2026-08-27 20:54:57 +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 4.6 MiB
Languages
Dart 91.5%
C++ 4.3%
CMake 3.3%
Swift 0.4%
HTML 0.3%
Other 0.2%