diff --git a/homeassistant/components/accuweather/__init__.py b/homeassistant/components/accuweather/__init__.py index 18a4bd2dce4..a2b428cf597 100644 --- a/homeassistant/components/accuweather/__init__.py +++ b/homeassistant/components/accuweather/__init__.py @@ -16,13 +16,7 @@ from homeassistant.core import HomeAssistant from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed -from .const import ( - ATTR_FORECAST, - CONF_FORECAST, - COORDINATOR, - DOMAIN, - UNDO_UPDATE_LISTENER, -) +from .const import ATTR_FORECAST, CONF_FORECAST, DOMAIN _LOGGER = logging.getLogger(__name__) @@ -45,12 +39,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ) await coordinator.async_config_entry_first_refresh() - undo_listener = entry.add_update_listener(update_listener) + entry.async_on_unload(entry.add_update_listener(update_listener)) - hass.data.setdefault(DOMAIN, {})[entry.entry_id] = { - COORDINATOR: coordinator, - UNDO_UPDATE_LISTENER: undo_listener, - } + hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator hass.config_entries.async_setup_platforms(entry, PLATFORMS) @@ -61,8 +52,6 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Unload a config entry.""" unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS) - hass.data[DOMAIN][entry.entry_id][UNDO_UPDATE_LISTENER]() - if unload_ok: hass.data[DOMAIN].pop(entry.entry_id) diff --git a/homeassistant/components/accuweather/const.py b/homeassistant/components/accuweather/const.py index 54d9b631ade..e834feae8d2 100644 --- a/homeassistant/components/accuweather/const.py +++ b/homeassistant/components/accuweather/const.py @@ -48,12 +48,10 @@ ATTR_LABEL: Final = "label" ATTR_UNIT_IMPERIAL: Final = "unit_imperial" ATTR_UNIT_METRIC: Final = "unit_metric" CONF_FORECAST: Final = "forecast" -COORDINATOR: Final = "coordinator" DOMAIN: Final = "accuweather" MANUFACTURER: Final = "AccuWeather, Inc." MAX_FORECAST_DAYS: Final = 4 NAME: Final = "AccuWeather" -UNDO_UPDATE_LISTENER: Final = "undo_update_listener" CONDITION_CLASSES: Final[dict[str, list[int]]] = { ATTR_CONDITION_CLEAR_NIGHT: [33, 34, 37], diff --git a/homeassistant/components/accuweather/sensor.py b/homeassistant/components/accuweather/sensor.py index d6f9339409f..bf6b0efd6c2 100644 --- a/homeassistant/components/accuweather/sensor.py +++ b/homeassistant/components/accuweather/sensor.py @@ -28,7 +28,6 @@ from .const import ( ATTR_UNIT_IMPERIAL, ATTR_UNIT_METRIC, ATTRIBUTION, - COORDINATOR, DOMAIN, FORECAST_SENSOR_TYPES, MANUFACTURER, @@ -46,9 +45,7 @@ async def async_setup_entry( """Add AccuWeather entities from a config_entry.""" name: str = entry.data[CONF_NAME] - coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id][ - COORDINATOR - ] + coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] sensors: list[AccuWeatherSensor] = [] for sensor in SENSOR_TYPES: diff --git a/homeassistant/components/accuweather/system_health.py b/homeassistant/components/accuweather/system_health.py index 5feed5c1f34..df1e607d15d 100644 --- a/homeassistant/components/accuweather/system_health.py +++ b/homeassistant/components/accuweather/system_health.py @@ -8,7 +8,7 @@ from accuweather.const import ENDPOINT from homeassistant.components import system_health from homeassistant.core import HomeAssistant, callback -from .const import COORDINATOR, DOMAIN +from .const import DOMAIN @callback @@ -21,8 +21,8 @@ def async_register( async def system_health_info(hass: HomeAssistant) -> dict[str, Any]: """Get info for the info page.""" - remaining_requests = list(hass.data[DOMAIN].values())[0][ - COORDINATOR + remaining_requests = list(hass.data[DOMAIN].values())[ + 0 ].accuweather.requests_remaining return { diff --git a/homeassistant/components/accuweather/weather.py b/homeassistant/components/accuweather/weather.py index ee0ef69d666..9a2ba769a82 100644 --- a/homeassistant/components/accuweather/weather.py +++ b/homeassistant/components/accuweather/weather.py @@ -31,7 +31,6 @@ from .const import ( ATTR_FORECAST, ATTRIBUTION, CONDITION_CLASSES, - COORDINATOR, DOMAIN, MANUFACTURER, NAME, @@ -46,9 +45,7 @@ async def async_setup_entry( """Add a AccuWeather weather entity from a config_entry.""" name: str = entry.data[CONF_NAME] - coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id][ - COORDINATOR - ] + coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id] async_add_entities([AccuWeatherEntity(name, coordinator)]) diff --git a/tests/components/accuweather/test_system_health.py b/tests/components/accuweather/test_system_health.py index 749f516e44c..bbdee3cb6f9 100644 --- a/tests/components/accuweather/test_system_health.py +++ b/tests/components/accuweather/test_system_health.py @@ -4,7 +4,7 @@ from unittest.mock import Mock from aiohttp import ClientError -from homeassistant.components.accuweather.const import COORDINATOR, DOMAIN +from homeassistant.components.accuweather.const import DOMAIN from homeassistant.setup import async_setup_component from tests.common import get_system_health_info @@ -18,9 +18,7 @@ async def test_accuweather_system_health(hass, aioclient_mock): hass.data[DOMAIN] = {} hass.data[DOMAIN]["0123xyz"] = {} - hass.data[DOMAIN]["0123xyz"][COORDINATOR] = Mock( - accuweather=Mock(requests_remaining="42") - ) + hass.data[DOMAIN]["0123xyz"] = Mock(accuweather=Mock(requests_remaining="42")) info = await get_system_health_info(hass, DOMAIN) @@ -42,9 +40,7 @@ async def test_accuweather_system_health_fail(hass, aioclient_mock): hass.data[DOMAIN] = {} hass.data[DOMAIN]["0123xyz"] = {} - hass.data[DOMAIN]["0123xyz"][COORDINATOR] = Mock( - accuweather=Mock(requests_remaining="0") - ) + hass.data[DOMAIN]["0123xyz"] = Mock(accuweather=Mock(requests_remaining="0")) info = await get_system_health_info(hass, DOMAIN)