From 1b17f6d837dbeee58a902a23cb0fa668269da9f2 Mon Sep 17 00:00:00 2001 From: Rami Mosleh Date: Mon, 6 Nov 2023 09:50:41 +0200 Subject: [PATCH] Store Islamic Prayer Times coordinator in 'entry_id' key (#103405) --- .../components/islamic_prayer_times/__init__.py | 10 +++++++--- .../components/islamic_prayer_times/sensor.py | 4 +++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/islamic_prayer_times/__init__.py b/homeassistant/components/islamic_prayer_times/__init__.py index 86ee94f7269..2925ca527bc 100644 --- a/homeassistant/components/islamic_prayer_times/__init__.py +++ b/homeassistant/components/islamic_prayer_times/__init__.py @@ -32,7 +32,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b coordinator = IslamicPrayerDataUpdateCoordinator(hass) await coordinator.async_config_entry_first_refresh() - hass.data.setdefault(DOMAIN, coordinator) + hass.data.setdefault(DOMAIN, {})[config_entry.entry_id] = coordinator config_entry.async_on_unload( config_entry.add_update_listener(async_options_updated) ) @@ -46,15 +46,19 @@ async def async_unload_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> if unload_ok := await hass.config_entries.async_unload_platforms( config_entry, PLATFORMS ): - coordinator: IslamicPrayerDataUpdateCoordinator = hass.data.pop(DOMAIN) + coordinator: IslamicPrayerDataUpdateCoordinator = hass.data[DOMAIN].pop( + config_entry.entry_id + ) if coordinator.event_unsub: coordinator.event_unsub() + if not hass.data[DOMAIN]: + del hass.data[DOMAIN] return unload_ok async def async_options_updated(hass: HomeAssistant, entry: ConfigEntry) -> None: """Triggered by config entry options updates.""" - coordinator: IslamicPrayerDataUpdateCoordinator = hass.data[DOMAIN] + coordinator: IslamicPrayerDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] if coordinator.event_unsub: coordinator.event_unsub() await coordinator.async_request_refresh() diff --git a/homeassistant/components/islamic_prayer_times/sensor.py b/homeassistant/components/islamic_prayer_times/sensor.py index 45270863f01..70b2c9d9cc6 100644 --- a/homeassistant/components/islamic_prayer_times/sensor.py +++ b/homeassistant/components/islamic_prayer_times/sensor.py @@ -54,7 +54,9 @@ async def async_setup_entry( ) -> None: """Set up the Islamic prayer times sensor platform.""" - coordinator: IslamicPrayerDataUpdateCoordinator = hass.data[DOMAIN] + coordinator: IslamicPrayerDataUpdateCoordinator = hass.data[DOMAIN][ + config_entry.entry_id + ] async_add_entities( IslamicPrayerTimeSensor(coordinator, description)