From 0cc3e8200c8016e6a9a80f9eaf847a178faf17ec Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 11 May 2023 07:55:36 +0100 Subject: [PATCH] Fix lingering timer in iaqualink (#92856) --- homeassistant/components/iaqualink/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/iaqualink/__init__.py b/homeassistant/components/iaqualink/__init__.py index 225953035a2..e0b381d2362 100644 --- a/homeassistant/components/iaqualink/__init__.py +++ b/homeassistant/components/iaqualink/__init__.py @@ -3,6 +3,7 @@ from __future__ import annotations import asyncio from collections.abc import Awaitable, Callable, Coroutine +from datetime import datetime from functools import wraps import logging from typing import Any, Concatenate, ParamSpec, TypeVar @@ -139,7 +140,7 @@ async def async_setup_entry( # noqa: C901 await hass.config_entries.async_forward_entry_setups(entry, platforms) - async def _async_systems_update(now): + async def _async_systems_update(_: datetime) -> None: """Refresh internal state for all systems.""" for system in systems: prev = system.online @@ -161,7 +162,9 @@ async def async_setup_entry( # noqa: C901 async_dispatcher_send(hass, DOMAIN) - async_track_time_interval(hass, _async_systems_update, UPDATE_INTERVAL) + entry.async_on_unload( + async_track_time_interval(hass, _async_systems_update, UPDATE_INTERVAL) + ) return True