diff --git a/supervisor/homeassistant/websocket.py b/supervisor/homeassistant/websocket.py index a2106e476..2f1af1e5f 100644 --- a/supervisor/homeassistant/websocket.py +++ b/supervisor/homeassistant/websocket.py @@ -51,6 +51,12 @@ class WSClient: async def close(self) -> None: """Close down the client.""" + for future in self._futures.values(): + if not future.done(): + future.set_exception( + HomeAssistantWSConnectionError("Connection was closed") + ) + if not self._client.closed: await self._client.close() @@ -234,6 +240,7 @@ class HomeAssistantWebSocket(CoreSysAttributes): except HomeAssistantWSConnectionError: await self._client.close() self._client = None + raise async def async_supervisor_update_event( self,