From 1c65aacde5220a0362efc2f678237bdb6a02c903 Mon Sep 17 00:00:00 2001 From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Thu, 2 May 2024 20:58:37 +0200 Subject: [PATCH] Use runtime_data for airq (#116620) --- homeassistant/components/airq/__init__.py | 16 ++++++---------- homeassistant/components/airq/sensor.py | 8 +++----- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/homeassistant/components/airq/__init__.py b/homeassistant/components/airq/__init__.py index dc35cd6ae87..219a72042ef 100644 --- a/homeassistant/components/airq/__init__.py +++ b/homeassistant/components/airq/__init__.py @@ -6,13 +6,14 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform from homeassistant.core import HomeAssistant -from .const import DOMAIN from .coordinator import AirQCoordinator PLATFORMS: list[Platform] = [Platform.SENSOR] +AirQConfigEntry = ConfigEntry[AirQCoordinator] -async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: + +async def async_setup_entry(hass: HomeAssistant, entry: AirQConfigEntry) -> bool: """Set up air-Q from a config entry.""" coordinator = AirQCoordinator(hass, entry) @@ -20,18 +21,13 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: # Query the device for the first time and initialise coordinator.data await coordinator.async_config_entry_first_refresh() - # Record the coordinator in a global store - hass.data.setdefault(DOMAIN, {}) - hass.data[DOMAIN][entry.entry_id] = coordinator + entry.runtime_data = coordinator await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) return True -async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: +async def async_unload_entry(hass: HomeAssistant, entry: AirQConfigEntry) -> bool: """Unload a config entry.""" - if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS): - hass.data[DOMAIN].pop(entry.entry_id) - - return unload_ok + return await hass.config_entries.async_unload_platforms(entry, PLATFORMS) diff --git a/homeassistant/components/airq/sensor.py b/homeassistant/components/airq/sensor.py index e3ef6504731..c465d710406 100644 --- a/homeassistant/components/airq/sensor.py +++ b/homeassistant/components/airq/sensor.py @@ -13,7 +13,6 @@ from homeassistant.components.sensor import ( SensorEntityDescription, SensorStateClass, ) -from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER, @@ -28,11 +27,10 @@ from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.update_coordinator import CoordinatorEntity -from . import AirQCoordinator +from . import AirQConfigEntry, AirQCoordinator from .const import ( ACTIVITY_BECQUEREL_PER_CUBIC_METER, CONCENTRATION_GRAMS_PER_CUBIC_METER, - DOMAIN, ) _LOGGER = logging.getLogger(__name__) @@ -400,12 +398,12 @@ SENSOR_TYPES: list[AirQEntityDescription] = [ async def async_setup_entry( hass: HomeAssistant, - config: ConfigEntry, + entry: AirQConfigEntry, async_add_entities: AddEntitiesCallback, ) -> None: """Set up sensor entities based on a config entry.""" - coordinator = hass.data[DOMAIN][config.entry_id] + coordinator = entry.runtime_data entities: list[AirQSensor] = []