diff --git a/homeassistant/components/forked_daapd/__init__.py b/homeassistant/components/forked_daapd/__init__.py index 6ff9a030a02..2172e60ba38 100644 --- a/homeassistant/components/forked_daapd/__init__.py +++ b/homeassistant/components/forked_daapd/__init__.py @@ -4,7 +4,7 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform from homeassistant.core import HomeAssistant -from .const import DOMAIN, HASS_DATA_REMOVE_LISTENERS_KEY, HASS_DATA_UPDATER_KEY +from .const import DOMAIN, HASS_DATA_UPDATER_KEY PLATFORMS = [Platform.MEDIA_PLAYER] @@ -23,10 +23,6 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: HASS_DATA_UPDATER_KEY ].websocket_handler: websocket_handler.cancel() - for remove_listener in hass.data[DOMAIN][entry.entry_id][ - HASS_DATA_REMOVE_LISTENERS_KEY - ]: - remove_listener() del hass.data[DOMAIN][entry.entry_id] if not hass.data[DOMAIN]: del hass.data[DOMAIN] diff --git a/homeassistant/components/forked_daapd/const.py b/homeassistant/components/forked_daapd/const.py index 8d671f2fc07..dd7ed1bdf16 100644 --- a/homeassistant/components/forked_daapd/const.py +++ b/homeassistant/components/forked_daapd/const.py @@ -32,7 +32,6 @@ DEFAULT_TTS_VOLUME = 0.8 DEFAULT_UNMUTE_VOLUME = 0.6 DOMAIN = "forked_daapd" # key for hass.data FD_NAME = "OwnTone" -HASS_DATA_REMOVE_LISTENERS_KEY = "REMOVE_LISTENERS" HASS_DATA_UPDATER_KEY = "UPDATER" KNOWN_PIPES = {"librespot-java"} PIPE_FUNCTION_MAP = { diff --git a/homeassistant/components/forked_daapd/media_player.py b/homeassistant/components/forked_daapd/media_player.py index b8b544c1a2c..0116cc57e7b 100644 --- a/homeassistant/components/forked_daapd/media_player.py +++ b/homeassistant/components/forked_daapd/media_player.py @@ -58,7 +58,6 @@ from .const import ( DEFAULT_UNMUTE_VOLUME, DOMAIN, FD_NAME, - HASS_DATA_REMOVE_LISTENERS_KEY, HASS_DATA_UPDATER_KEY, KNOWN_PIPES, PIPE_FUNCTION_MAP, @@ -110,19 +109,16 @@ async def async_setup_entry( ForkedDaapdZone(api, output, config_entry.entry_id) for output in outputs ) - remove_add_zones_listener = async_dispatcher_connect( - hass, SIGNAL_ADD_ZONES.format(config_entry.entry_id), async_add_zones + config_entry.async_on_unload( + async_dispatcher_connect( + hass, SIGNAL_ADD_ZONES.format(config_entry.entry_id), async_add_zones + ) ) - remove_entry_listener = config_entry.add_update_listener(update_listener) + config_entry.async_on_unload(config_entry.add_update_listener(update_listener)) if not hass.data.get(DOMAIN): hass.data[DOMAIN] = {config_entry.entry_id: {}} - hass.data[DOMAIN][config_entry.entry_id] = { - HASS_DATA_REMOVE_LISTENERS_KEY: [ - remove_add_zones_listener, - remove_entry_listener, - ] - } + async_add_entities([forked_daapd_master], False) forked_daapd_updater = ForkedDaapdUpdater( hass, forked_daapd_api, config_entry.entry_id