From 0bf500399202ba8ee53452d713ba67a96d98e3dc Mon Sep 17 00:00:00 2001 From: Patrick Schurig ETM-Schurig Date: Tue, 24 Feb 2026 15:00:06 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20ajout=20TODO.md=20=E2=80=94=20suivi=20d?= =?UTF-8?q?es=20t=C3=A2ches=20et=20int=C3=A9grations=20=C3=A0=20venir?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..524b16b --- /dev/null +++ b/TODO.md @@ -0,0 +1,40 @@ +# TODO — ETM PowerSync App + +## En cours / priorité haute + +- [ ] **TariffProvider — connexion RPC réelle** + - `load()` appelle encore un `Future.delayed` fictif + - Brancher sur nymea JSON-RPC pour récupérer les prix live (ENTSO-E, Tibber, etc.) + +- [ ] **EnergySetupProvider — persistance** + - Les assignations de rôles (EV, PAC, batterie…) ne survivent pas au redémarrage + - Sérialiser en SharedPreferences ou JSON local + +- [ ] **SchedulerProvider — exécution réelle** + - `forceRecalc()` ne fait rien pour l'instant + - Brancher sur l'API nymea Energy Scheduler (si disponible) + +## Screens à implémenter + +- [ ] **DeveloperScreen** — logs, introspection JSON-RPC, test ping nymea +- [ ] **AboutScreen** — version app, version nymea, licences +- [ ] **SystemSettingsScreen** — adresse serveur nymea, port, transport (TCP/WS) + +## Amélioration UX + +- [ ] **Timeline** — remplacer la simulation bell-curve par les vraies créneaux du scheduler nymea +- [ ] **RoleConfigFlow Step 3** — test de connexion sur RPC réel au lieu du délai simulé +- [ ] **InstallerModeProvider** — persister le hash PIN dans SharedPreferences (actuellement en mémoire) +- [ ] **AppSettingsProvider** — persister les préférences (thème, densité, écrans actifs) dans SharedPreferences + +## Intégration nymea live + +- [ ] Mapping `EmsRole → nymea thingClass` pour les installations réelles +- [ ] Vérifier les interfaces nymea sur serveur réel (comparer avec `docs/nymea_integrations.md`) +- [ ] `Energy.GetSchedule` / `Energy.SetSchedule` si l'API le supporte + +## Technique / dette + +- [ ] Ajouter des tests unitaires pour `TariffProvider` et `EnergySetupProvider` +- [ ] Gérer le cas où `NymeaService.thingClasses` est vide en mode live (classes non chargées) +- [ ] Revoir `_Step1ThingList` : passer en `context.watch` pour réactivité si les things changent