[Majeur] Un échec du démarrage du stream fait échouer tout le setup (pas de ConfigEntryNotReady) #88

Open
opened 2026-08-26 05:32:41 +00:00 by mat · 0 comments
Owner

Problème

__init__.py:70-73 : stream_manager.async_start() authentifie en executor (stream.py:103-105) ; une ComwattAuthError ou erreur réseau à ce moment propage → async_setup_entry échoue avec une erreur générique. Pas de ConfigEntryNotReady → pas de retry automatique, rechargement manuel requis… alors que le coordinator en poll fonctionne déjà à ce stade.

Recommandation

  1. try/except autour du start → _LOGGER.warning + dégradation poll-only (le stream a déjà son propre backoff/reconnect par site).
  2. Alternativement lever ConfigEntryNotReady pour bénéficier du retry exponentiel HA.
  3. Test : auth failure au démarrage du stream → setup quand même LOADED, capteurs de puissance OK, warning dans les logs.

Constaté lors de la review de code pré-v1.0 (v0.8.1).

## Problème `__init__.py:70-73` : `stream_manager.async_start()` authentifie en executor (`stream.py:103-105`) ; une `ComwattAuthError` ou erreur réseau à ce moment propage → `async_setup_entry` échoue avec une erreur générique. Pas de `ConfigEntryNotReady` → **pas de retry automatique**, rechargement manuel requis… alors que le coordinator en poll **fonctionne déjà** à ce stade. ## Recommandation 1. try/except autour du start → `_LOGGER.warning` + dégradation poll-only (le stream a déjà son propre backoff/reconnect par site). 2. Alternativement lever `ConfigEntryNotReady` pour bénéficier du retry exponentiel HA. 3. Test : auth failure au démarrage du stream → setup quand même LOADED, capteurs de puissance OK, warning dans les logs. --- Constaté lors de la review de code pré-v1.0 (v0.8.1).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mat/homeassistant-comwatt#88
No description provided.