From e47e62cbbf45e717f82e2240be48288114a0f6fd Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 24 Apr 2024 16:58:46 +0200 Subject: [PATCH] Reduce duplicate code in enphase_envoy (#116107) Also converts a coro to a callback function since nothing was being awaited --- homeassistant/components/enphase_envoy/__init__.py | 4 ++-- homeassistant/components/enphase_envoy/coordinator.py | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/enphase_envoy/__init__.py b/homeassistant/components/enphase_envoy/__init__.py index 2cdba43453e..322f909437a 100644 --- a/homeassistant/components/enphase_envoy/__init__.py +++ b/homeassistant/components/enphase_envoy/__init__.py @@ -46,8 +46,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Unload a config entry.""" - coordinator = hass.data[DOMAIN][entry.entry_id] - await coordinator.async_cleanup() + coordinator: EnphaseUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] + coordinator.async_cancel_token_refresh() unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS) if unload_ok: hass.data[DOMAIN].pop(entry.entry_id) diff --git a/homeassistant/components/enphase_envoy/coordinator.py b/homeassistant/components/enphase_envoy/coordinator.py index c0852fca807..04f93098ad9 100644 --- a/homeassistant/components/enphase_envoy/coordinator.py +++ b/homeassistant/components/enphase_envoy/coordinator.py @@ -83,9 +83,7 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): def _async_mark_setup_complete(self) -> None: """Mark setup as complete and setup token refresh if needed.""" self._setup_complete = True - if self._cancel_token_refresh: - self._cancel_token_refresh() - self._cancel_token_refresh = None + self.async_cancel_token_refresh() if not isinstance(self.envoy.auth, EnvoyTokenAuth): return self._cancel_token_refresh = async_track_time_interval( @@ -160,8 +158,9 @@ class EnphaseUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]): raise RuntimeError("Unreachable code in _async_update_data") # pragma: no cover - async def async_cleanup(self) -> None: - """Cleanup coordinator.""" + @callback + def async_cancel_token_refresh(self) -> None: + """Cancel token refresh.""" if self._cancel_token_refresh: self._cancel_token_refresh() self._cancel_token_refresh = None