Use async_on_unload in Netatmo (#58461)

This commit is contained in:
Tobias Sauerwein 2021-10-26 13:43:54 +02:00 committed by GitHub
parent e9ba5f3b4b
commit ac4496b985
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 11 additions and 22 deletions

View file

@ -70,11 +70,11 @@ class NetatmoDataClass:
class NetatmoDataHandler:
"""Manages the Netatmo data handling."""
def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None:
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None:
"""Initialize self."""
self.hass = hass
self._auth = hass.data[DOMAIN][entry.entry_id][AUTH]
self.listeners: list[CALLBACK_TYPE] = []
self.config_entry = config_entry
self._auth = hass.data[DOMAIN][config_entry.entry_id][AUTH]
self.data_classes: dict = {}
self.data: dict = {}
self._queue: deque = deque()
@ -87,7 +87,7 @@ class NetatmoDataHandler:
self.hass, self.async_update, timedelta(seconds=SCAN_INTERVAL)
)
self.listeners.append(
self.config_entry.async_on_unload(
async_dispatcher_connect(
self.hass,
f"signal-{DOMAIN}-webhook-None",
@ -121,11 +121,6 @@ class NetatmoDataHandler:
self.data_classes[data_class_entry].next_scan = time()
self._queue.rotate(-(self._queue.index(self.data_classes[data_class_entry])))
async def async_cleanup(self) -> None:
"""Clean up the Netatmo data handler."""
for listener in self.listeners:
listener()
async def handle_event(self, event: dict) -> None:
"""Handle webhook events."""
if event["data"][WEBHOOK_PUSH_TYPE] == WEBHOOK_ACTIVATION: