From a6f1d3cd0af3eb6f0fa36bd2c10328dd912e3c5a Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Wed, 2 Sep 2026 22:21:45 -0700 Subject: [PATCH] refactor(homeassistant): shared _close for ws/session teardown --- plugins/platforms/homeassistant/adapter.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/platforms/homeassistant/adapter.py b/plugins/platforms/homeassistant/adapter.py index a19b704887..4d2df6cfb8 100644 --- a/plugins/platforms/homeassistant/adapter.py +++ b/plugins/platforms/homeassistant/adapter.py @@ -157,12 +157,15 @@ class HomeAssistantAdapter(BasePlatformAdapter): return False return True + @staticmethod + async def _close(obj) -> None: + if obj and not obj.closed: + await obj.close() + async def _cleanup_ws(self) -> None: - if self._ws and not self._ws.closed: - await self._ws.close() + await self._close(self._ws) self._ws = None - if self._session and not self._session.closed: - await self._session.close() + await self._close(self._session) self._session = None async def disconnect(self) -> None: @@ -175,8 +178,7 @@ class HomeAssistantAdapter(BasePlatformAdapter): pass self._listen_task = None await self._cleanup_ws() - if self._rest_session and not self._rest_session.closed: - await self._rest_session.close() + await self._close(self._rest_session) self._rest_session = None logger.info("[%s] Disconnected", self.name)