v4.5.5 - Non-Blocking Setup (Beurer Pattern)
Non-Blocking Setup
HA-Neustart wird nicht mehr durch unerreichbare KKT-Geräte blockiert. Die Geräteverbindung läuft jetzt als Background-Task parallel zum HA-Startup.
Vorher
async_setup_entry()
→ device.async_connect() # bis 36s blockiert
→ coordinator.first_refresh() # bis 60s blockiert
→ Entities laden
Worst Case: ~96s pro unerreichbarem Gerät
Nachher
async_setup_entry()
→ Coordinator erstellen
→ Background-Task schedulen # 0s - sofort weiter
→ Entities laden # sofort verfügbar
Background-Task (parallel zum HA-Startup):
→ device.async_connect()
→ coordinator.async_refresh()
Technische Änderungen
__init__.py: Blockierender Connect + First-Refresh ersetzt durchentry.async_create_background_task()coordinator.py:_initial_connect_doneFlag — gibt leere Daten zurück bis Background-Connect fertighybrid_coordinator.py: Gleicher Pattern — keinUpdateFailedmehr bei fehlgeschlagener Kommunikation- Auth-Fehler werden im Background-Task über
entry.async_start_reauth()+ Repair Issues gehandhabt - Entities bleiben während der Verbindungsphase "available" (kein Unavailable-Flash)
Pattern
Basiert auf dem bewährten Beurer-Integration-Pattern: Setup blockiert nicht, Verbindung im Hintergrund, adaptive Polling-Intervalle.