[Bloquant v1.0] Le pruning supprime 15 des 16 entités de site à chaque démarrage #77
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#77
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
_async_prune_stale(custom_components/comwatt/__init__.py:108-109) ne référence qu'un seul unique_id par site :Or
SITE_METRICS(sensor.py:76-94) crée 16 entités par site (4 rates, 6 power, 6 total_energy). Le prune (__init__.py:119-124) supprime toute entité dont l'unique_id n'est pas dans le set, et il s'exécute avantasync_forward_entry_setups.Risque
À chaque redémarrage HA ou reload de l'intégration, les 15 autres entités de site (
consumption,production, les 6*_total_energy…) sont retirées du registre d'entités puis recréées : perte des renommages d'entity_id et des options par entité, risque d'orphelin des statistiques long terme si le slug régénéré diffère, churn du registre à chaque boot.Le test existant (
tests/test_init.py:138-189) ne le détecte pas car il ne pré-semence qu'une entité périmée et ne fait qu'un seul setup — le bug ne se manifeste qu'au 2ᵉ setup.Recommandation
SITE_METRICS/SITE_POWER_KEYSdansconst.py(élimine aussi la duplicationSITE_POWER_KEYSen__init__.py:24-35).Constaté lors de la review de code pré-v1.0 (v0.8.1).