add bug fix documentation for AppDaemon 4.5.10 bandwidth issue
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# Bug AppDaemon 4.5.10 : trafic HASS constant (~400-450 KB/s)
|
||||
|
||||
## Symptôme
|
||||
Après ~10 minutes de fonctionnement (temps depuis le démarrage d'AppDaemon,
|
||||
pas de Home Assistant), le trafic réseau du container grimpe à ~400-450 KB/s
|
||||
et reste stable indéfiniment, même sans aucune app chargée.
|
||||
|
||||
## Cause
|
||||
Bug upstream corrigé par [AppDaemon/appdaemon#2429](https://github.com/AppDaemon/appdaemon/pull/2429),
|
||||
inclus depuis la version **4.5.12**. Dans `plugin_management.py`,
|
||||
`update_plugin_state()` appelle `refresh_update_time(plugin)` (l'objet plugin)
|
||||
au lieu de `refresh_update_time(plugin.name)` (la string). Le timestamp utilisé
|
||||
par `time_since_plugin_update(plugin.name)` n'est donc jamais remis à jour :
|
||||
une fois le `refresh_delay` par défaut (10 min) dépassé, AppDaemon redemande
|
||||
l'état complet de Home Assistant (`get_states`) à **chaque tick de la boucle
|
||||
utilitaire (1x/seconde)**, indéfiniment.
|
||||
|
||||
## Statut
|
||||
- Corrigé depuis AppDaemon 4.5.12 (12 oct. 2025). Si l'image utilisée est en
|
||||
4.5.12+, ce fix n'est plus nécessaire.
|
||||
- Toujours utile si on reste bloqué sur une version < 4.5.12.
|
||||
|
||||
## Comment réappliquer le patch (si toujours sur AppDaemon < 4.5.12)
|
||||
|
||||
Fichier concerné : `/usr/local/lib/python3.12/site-packages/appdaemon/plugin_management.py`
|
||||
|
||||
Chercher (dans la méthode `update_plugin_state`) :
|
||||
|
||||
```python
|
||||
finally:
|
||||
await self.refresh_update_time(plugin)
|
||||
```
|
||||
|
||||
Remplacer par :
|
||||
|
||||
```python
|
||||
finally:
|
||||
await self.refresh_update_time(plugin.name)
|
||||
```
|
||||
|
||||
Une seule ligne à changer. Une commande one-liner pour l'appliquer dans le
|
||||
container :
|
||||
|
||||
```sh
|
||||
sed -i 's/await self.refresh_update_time(plugin)$/await self.refresh_update_time(plugin.name)/' \
|
||||
/usr/local/lib/python3.12/site-packages/appdaemon/plugin_management.py
|
||||
```
|
||||
|
||||
⚠️ Ce patch vit dans l'image du container (site-packages), pas dans `/conf`.
|
||||
Il est donc perdu à chaque recréation du container et doit être réappliqué
|
||||
manuellement tant que l'image reste en 4.5.10/4.5.11.
|
||||
|
||||
## Comment vérifier que le patch est actif
|
||||
|
||||
```sh
|
||||
grep -n "refresh_update_time(plugin" /usr/local/lib/python3.12/site-packages/appdaemon/plugin_management.py
|
||||
```
|
||||
|
||||
Doit afficher `refresh_update_time(plugin.name)` (pas `refresh_update_time(plugin)` seul).
|
||||
Reference in New Issue
Block a user