diff --git a/homeassistant/components/azure_devops/__init__.py b/homeassistant/components/azure_devops/__init__.py index a6e531879b7..9890d47fbb5 100644 --- a/homeassistant/components/azure_devops/__init__.py +++ b/homeassistant/components/azure_devops/__init__.py @@ -8,15 +8,17 @@ from homeassistant.config_entries import ConfigEntry from homeassistant.const import Platform from homeassistant.core import HomeAssistant -from .const import CONF_PAT, CONF_PROJECT, DOMAIN +from .const import CONF_PAT, CONF_PROJECT from .coordinator import AzureDevOpsDataUpdateCoordinator +type AzureDevOpsConfigEntry = ConfigEntry[AzureDevOpsDataUpdateCoordinator] + _LOGGER = logging.getLogger(__name__) PLATFORMS = [Platform.SENSOR] -async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: +async def async_setup_entry(hass: HomeAssistant, entry: AzureDevOpsConfigEntry) -> bool: """Set up Azure DevOps from a config entry.""" # Create the data update coordinator @@ -26,9 +28,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: entry=entry, ) - # Store the coordinator in hass data - hass.data.setdefault(DOMAIN, {}) - hass.data[DOMAIN][entry.entry_id] = coordinator + # Store the coordinator in runtime data + entry.runtime_data = coordinator # If a personal access token is set, authorize the client if entry.data.get(CONF_PAT) is not None: @@ -48,8 +49,4 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Unload Azure DevOps config entry.""" - unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS) - if unload_ok: - del hass.data[DOMAIN][entry.entry_id] - - return unload_ok + return await hass.config_entries.async_unload_platforms(entry, PLATFORMS) diff --git a/homeassistant/components/azure_devops/sensor.py b/homeassistant/components/azure_devops/sensor.py index 7e1e19cc142..4f0d468cd2d 100644 --- a/homeassistant/components/azure_devops/sensor.py +++ b/homeassistant/components/azure_devops/sensor.py @@ -15,13 +15,12 @@ from homeassistant.components.sensor import ( SensorEntity, SensorEntityDescription, ) -from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import StateType from homeassistant.util import dt as dt_util -from .const import DOMAIN +from . import AzureDevOpsConfigEntry from .coordinator import AzureDevOpsDataUpdateCoordinator from .entity import AzureDevOpsEntity @@ -128,11 +127,11 @@ def parse_datetime(value: str | None) -> datetime | None: async def async_setup_entry( hass: HomeAssistant, - entry: ConfigEntry, + entry: AzureDevOpsConfigEntry, async_add_entities: AddEntitiesCallback, ) -> None: """Set up Azure DevOps sensor based on a config entry.""" - coordinator = hass.data[DOMAIN][entry.entry_id] + coordinator = entry.runtime_data initial_builds: list[Build] = coordinator.data.builds async_add_entities(