docs(recap): la soirée du 2026-08-25 — lot C, vérifié sur appareil, et ce qui reste
Ce qui a été livré (6 commits), ce qui a été vérifié SUR L'APPAREIL contre .75, l'erreur de la soirée — les écrans construits sans ouvrir docs/mockups/, tout à refaire — et les cinq points repris demain matin, dont le glissement et le sélecteur de mécanisme que j'avais rendu non cliquable à tort. Renvoie au BRIEF_agent_plugin.md du dépôt plugin pour les sept constats côté moteur. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HajXLUczEyZd22JeewRfff
This commit is contained in:
parent
3d2aab2b42
commit
798bf2bdb5
84
RECAP.md
84
RECAP.md
@ -1,7 +1,89 @@
|
||||
# RECAP — etm-powersync-app · reprise de session
|
||||
|
||||
> **Session 2026-08-25.** Branche **`feature/beta-add-config`**. Rien n'est poussé.
|
||||
> **Session 2026-08-25.** Branche **`feature/beta-add-config`**, **poussée**.
|
||||
> La section « État au 2026-06-30 » plus bas reste valable pour tout ce qu'elle décrit.
|
||||
> La **soirée du 25** (lot C) est en tête ci-dessous ; le reste de la journée suit.
|
||||
|
||||
---
|
||||
|
||||
## Soirée 2026-08-25 — LOT C : les écrans de configuration par charge
|
||||
|
||||
### Ce qui a été livré
|
||||
|
||||
| Commit | Contenu |
|
||||
|---|---|
|
||||
| `2a8ad95` | **Lot C** — fusion des deux écrans, écrans de mécanisme, grisage par introspection |
|
||||
| `f0aa0fd` | Harnais `integration_test` — l'IU sur le téléphone, contre `.75` |
|
||||
| `98e2874` | Diagnostic de montage d'écran (MIUI bloquait l'installation) |
|
||||
| `15a5263` | **L'IU tourne sur l'appareil** : chaîne complète vérifiée contre `.75` |
|
||||
| `38475e0` | Compteurs réseau honnêtes + le sélecteur clair/sombre s'applique partout |
|
||||
| `3d2aab2` | **Les écrans suivent enfin la maquette** — sélecteurs, table d'états, budget, borne |
|
||||
|
||||
- **L'écran « Ordre de service » a disparu** ; son chemin de données (`LoadConfigProvider`) a
|
||||
migré dans « Rôles & appareils », jamais l'inverse. L'entrée de menu est retirée.
|
||||
Les charges viennent de `GetLoadConfig`, plus de `LoadDescriptor` reconstruits depuis des
|
||||
`EmsRole` — LM-201 interdit de toute façon de déclarer `dhw` **et** `heatPump` pour une PAC
|
||||
sans ballon séparé.
|
||||
- **Trois écrans de mécanisme** (routeur de relais / modulable / SG-Ready) avec sélecteurs de
|
||||
Things **par nom** filtrés sur l'interface nymea, table d'états SG-Ready éditable
|
||||
(SG1/SG2 choisis une fois, en haut), temporisations, « Compteur dédié » grisé avec sa
|
||||
raison, « Inclure dans l'arbitrage », et **validation avant envoi**.
|
||||
- **Grisage dérivé de `JSONRPC.Introspect`**, jamais codé en dur : trois états et non deux —
|
||||
écrivable, `r:` (mesure, pas fonction manquante), absent — plus « inconnu » quand le schéma
|
||||
n'a pas pu être lu.
|
||||
- **`setChargingInfo()` était INOPÉRANT** : namespace `EnergyPlugin.*` inexistant, champs
|
||||
`mode`/`targetSoc`/`endTime`/`minCurrent` au lieu de
|
||||
`chargingMode`/`targetPercentage`/`endDateTime`. Vérifié par appel réel :
|
||||
`Missing required key: chargingMode`. Corrigé, et le refus remonte désormais au lieu d'être
|
||||
avalé pendant que l'état local mentait.
|
||||
- **Tableau de bord** : « Depuis réseau » lisait l'**opposé** du compteur d'export au lieu de
|
||||
`totalAcquisition` — 0,0 kWh en permanence. Et les deux tuiles disaient « aujourd'hui » sur
|
||||
des compteurs cumulés. Corrigé, avec un plafond de plausibilité contre les valeurs
|
||||
corrompues que la box publie (cf. brief plugin §1).
|
||||
- **Thème** : 126 sites basculés vers les variantes contextuelles ; 9 restent en constante
|
||||
(tables statiques sans `BuildContext`).
|
||||
|
||||
### Vérifié SUR L'APPAREIL, contre `.75`
|
||||
|
||||
```
|
||||
[appareil] schéma lu — nymea 1.15.2+… · NymeaEnergy 0.8 · AirConditioning 1.1
|
||||
[appareil] écran de configuration monté
|
||||
[appareil] charges lues : [chauffe-eau, pac-terrain]
|
||||
[appareil] écriture → LoadSaveState.confirmed
|
||||
[appareil] libellé restauré : chauffe-eau
|
||||
```
|
||||
|
||||
`adb shell input` est refusé par MIUI ; la voie qui marche est `integration_test`, qui
|
||||
s'exécute **dans le processus de l'app**. Détail et pièges : `docs/RELEVE_LOTC.md` §2.
|
||||
|
||||
### L'erreur de la soirée, et sa leçon
|
||||
|
||||
**Les écrans ont d'abord été construits sans ouvrir `docs/mockups/`.** Les maquettes — dont
|
||||
celle des mécanismes, mise à jour le soir même — étaient dans le dépôt et décrivaient
|
||||
précisément tout ce qui manquait ensuite. Tout a été à refaire (`3d2aab2`).
|
||||
**`docs/mockups/*.html` fait autorité sur la forme des écrans**, au même titre que
|
||||
`INTERFACE_etmvariableload.md` sur le contrat.
|
||||
|
||||
### Ouvert — repris le 2026-08-26 au matin
|
||||
|
||||
1. **Le glissement (drag & drop)** ne semble rien produire. À départager : le geste est-il
|
||||
avalé par le `ListView` parent, ou n'y a-t-il simplement rien à déplacer ? Sur `.75` il n'y
|
||||
a **qu'une charge par domaine** — le test décisif est de mettre les deux dans le même
|
||||
domaine.
|
||||
2. **Le sélecteur de mécanisme est non cliquable**, et c'était mon choix — à tort : la maquette
|
||||
le donne comme un champ enregistré (`enregistré · adapter`). À rendre actif, avec la
|
||||
bascule de charge utile et l'avertissement de reconstruction.
|
||||
3. Le chip de domaine s'affiche **sans libellé** sur la carte de charge.
|
||||
4. Les **9 sites de couleur** hors thème (tables statiques, peintres).
|
||||
5. **Zones de climatisation** : `ac_screen.dart` n'appelle aucune méthode `AirConditioning`,
|
||||
ses 4 pièces sont des constantes de maquette, et `.75` déclare zéro zone. Le câblage est un
|
||||
lot en soi — la box, elle, expose **8 méthodes toutes en écriture**.
|
||||
|
||||
### Pour l'agent plugin
|
||||
|
||||
Sept constats côté moteur : `BRIEF_agent_plugin.md` dans le dépôt **plugin**. Le plus visible
|
||||
est le §1 — les compteurs cumulés d'`Energy.GetPowerBalance` sont corrompus (9,1 × 10³³ kWh),
|
||||
alors que le Thing compteur est sain.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user