From 5381f9f92fe42e7d7c085ad5fd1c3aa59e1c549b Mon Sep 17 00:00:00 2001 From: uvjustin <46082645+uvjustin@users.noreply.github.com> Date: Fri, 25 Nov 2022 23:16:16 +0800 Subject: [PATCH] Fix owntone websocket reconnection (#82680) --- homeassistant/components/forked_daapd/media_player.py | 3 ++- tests/components/forked_daapd/test_media_player.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/forked_daapd/media_player.py b/homeassistant/components/forked_daapd/media_player.py index 1562a68b696..c60a90176a9 100644 --- a/homeassistant/components/forked_daapd/media_player.py +++ b/homeassistant/components/forked_daapd/media_player.py @@ -926,7 +926,8 @@ class ForkedDaapdUpdater: else: _LOGGER.error("Invalid websocket port") - def _disconnected_callback(self): + async def _disconnected_callback(self): + """Send update signals when the websocket gets disconnected.""" async_dispatcher_send( self.hass, SIGNAL_UPDATE_MASTER.format(self._entry_id), False ) diff --git a/tests/components/forked_daapd/test_media_player.py b/tests/components/forked_daapd/test_media_player.py index ae5e29bee47..9973bcd0d72 100644 --- a/tests/components/forked_daapd/test_media_player.py +++ b/tests/components/forked_daapd/test_media_player.py @@ -785,7 +785,7 @@ async def test_websocket_disconnect(hass, mock_api_object): assert hass.states.get(TEST_MASTER_ENTITY_NAME).state != STATE_UNAVAILABLE assert hass.states.get(TEST_ZONE_ENTITY_NAMES[0]).state != STATE_UNAVAILABLE updater_disconnected = mock_api_object.start_websocket_handler.call_args[0][4] - updater_disconnected() + await updater_disconnected() await hass.async_block_till_done() assert hass.states.get(TEST_MASTER_ENTITY_NAME).state == STATE_UNAVAILABLE assert hass.states.get(TEST_ZONE_ENTITY_NAMES[0]).state == STATE_UNAVAILABLE