From f2b7733e8c983552252c8602e7c3beee5dbfccd8 Mon Sep 17 00:00:00 2001 From: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Date: Thu, 2 May 2024 20:59:34 +0200 Subject: [PATCH] Use runtime_data for airthings (#116622) Co-authored-by: Matthias Alphart --- homeassistant/components/airthings/__init__.py | 16 ++++++---------- homeassistant/components/airthings/sensor.py | 7 +++---- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/homeassistant/components/airthings/__init__.py b/homeassistant/components/airthings/__init__.py index bc12f19a33d..c2c4e452730 100644 --- a/homeassistant/components/airthings/__init__.py +++ b/homeassistant/components/airthings/__init__.py @@ -22,11 +22,11 @@ SCAN_INTERVAL = timedelta(minutes=6) AirthingsDataCoordinatorType = DataUpdateCoordinator[dict[str, AirthingsDevice]] +AirthingsConfigEntry = ConfigEntry[AirthingsDataCoordinatorType] -async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: + +async def async_setup_entry(hass: HomeAssistant, entry: AirthingsConfigEntry) -> bool: """Set up Airthings from a config entry.""" - hass.data.setdefault(DOMAIN, {}) - airthings = Airthings( entry.data[CONF_ID], entry.data[CONF_SECRET], @@ -49,17 +49,13 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: ) await coordinator.async_config_entry_first_refresh() - 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: AirthingsConfigEntry) -> bool: """Unload a config entry.""" - unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS) - if unload_ok: - 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/airthings/sensor.py b/homeassistant/components/airthings/sensor.py index f0a3dc5be8f..74d712ccfc6 100644 --- a/homeassistant/components/airthings/sensor.py +++ b/homeassistant/components/airthings/sensor.py @@ -10,7 +10,6 @@ from homeassistant.components.sensor import ( SensorEntityDescription, SensorStateClass, ) -from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, CONCENTRATION_PARTS_PER_BILLION, @@ -27,7 +26,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType from homeassistant.helpers.update_coordinator import CoordinatorEntity -from . import AirthingsDataCoordinatorType +from . import AirthingsConfigEntry, AirthingsDataCoordinatorType from .const import DOMAIN SENSORS: dict[str, SensorEntityDescription] = { @@ -102,12 +101,12 @@ SENSORS: dict[str, SensorEntityDescription] = { async def async_setup_entry( hass: HomeAssistant, - entry: ConfigEntry, + entry: AirthingsConfigEntry, async_add_entities: AddEntitiesCallback, ) -> None: """Set up the Airthings sensor.""" - coordinator: AirthingsDataCoordinatorType = hass.data[DOMAIN][entry.entry_id] + coordinator = entry.runtime_data entities = [ AirthingsHeaterEnergySensor( coordinator,