[Bloquant v1.0] Énergie device 100 % dépendante du WebSocket : aucun watchdog de vivacité ni repli polling #80
Labels
No labels
v1.0 · bloquant
v1.0 · majeur
v1.0 · mineur
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mat/homeassistant-comwatt#80
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problème
L'énergie par device n'avance que via
integrate_live_energy(samples du stream). La réconciliation horaire serveur ne fait que corrigerlive_by_hour; or_server_bucket_to_wh(coordinator.py:166) retourneNonequandlive_wh < 10→ tout bucket d'une heure sans samples stream est sauté.Le stream peut mourir silencieusement :
stream.py:158-163:ComwattAuthError→breakdéfinitif, aucun redémarrage. Le commentaire « poll will trigger reauth » est trompeur : le poll re-authe le client du coordinator, pas celui du stream (client séparé,stream.py:113).heart-beat: 10000,10000côté lib : le serveur peut envoyer des heartbeats sans données → une connexion zombie paraît saine pour toujours,recv()ne time out jamais.stream.py:139-146: sites ajoutés au compte après démarrage → jamais de stream avant un reload (snapshotcoordinator.sitesfigé).Risque
Pour une intégration de monitoring énergétique, l'échec le plus grave (compteurs d'énergie figés) est précisément celui qui n'affiche aucune erreur : le poll continue d'alimenter la puissance, l'intégration semble saine.
Recommandation
Measurementdepuis N min (ex. 10 min), fermer/recréer la connexion.live_by_hourd'une heure révolue est vide/≈0 mais que le serveur publie un bucket, l'accumuler au lieu de le sauter systématiquement.ConfigEntryAuthFailedpour déclencher le flow reauth.Constaté lors de la review de code pré-v1.0 (v0.8.1).