Skip to content

Commit 5ec1c2b

Browse files
authored
Use runtime_data in Senz (home-assistant#156408)
1 parent d8636d8 commit 5ec1c2b

File tree

4 files changed

+14
-21
lines changed

4 files changed

+14
-21
lines changed

homeassistant/components/senz/__init__.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@
3232
PLATFORMS = [Platform.CLIMATE, Platform.SENSOR]
3333

3434
type SENZDataUpdateCoordinator = DataUpdateCoordinator[dict[str, Thermostat]]
35+
type SENZConfigEntry = ConfigEntry[SENZDataUpdateCoordinator]
3536

3637

37-
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
38+
async def async_setup_entry(hass: HomeAssistant, entry: SENZConfigEntry) -> bool:
3839
"""Set up SENZ from a config entry."""
3940
try:
4041
implementation = await async_get_config_entry_implementation(hass, entry)
@@ -71,16 +72,13 @@ async def update_thermostats() -> dict[str, Thermostat]:
7172

7273
await coordinator.async_config_entry_first_refresh()
7374

74-
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
75+
entry.runtime_data = coordinator
7576

7677
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
7778

7879
return True
7980

8081

81-
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
82+
async def async_unload_entry(hass: HomeAssistant, entry: SENZConfigEntry) -> bool:
8283
"""Unload a config entry."""
83-
if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
84-
hass.data[DOMAIN].pop(entry.entry_id)
85-
86-
return unload_ok
84+
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)

homeassistant/components/senz/climate.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,23 @@
1212
HVACAction,
1313
HVACMode,
1414
)
15-
from homeassistant.config_entries import ConfigEntry
1615
from homeassistant.const import ATTR_TEMPERATURE, PRECISION_TENTHS, UnitOfTemperature
1716
from homeassistant.core import HomeAssistant, callback
1817
from homeassistant.helpers.device_registry import DeviceInfo
1918
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
2019
from homeassistant.helpers.update_coordinator import CoordinatorEntity
2120

22-
from . import SENZDataUpdateCoordinator
21+
from . import SENZConfigEntry, SENZDataUpdateCoordinator
2322
from .const import DOMAIN
2423

2524

2625
async def async_setup_entry(
2726
hass: HomeAssistant,
28-
entry: ConfigEntry,
27+
entry: SENZConfigEntry,
2928
async_add_entities: AddConfigEntryEntitiesCallback,
3029
) -> None:
3130
"""Set up the SENZ climate entities from a config entry."""
32-
coordinator: SENZDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
31+
coordinator = entry.runtime_data
3332
async_add_entities(
3433
SENZClimate(thermostat, coordinator) for thermostat in coordinator.data.values()
3534
)

homeassistant/components/senz/diagnostics.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
from typing import Any
44

55
from homeassistant.components.diagnostics import async_redact_data
6-
from homeassistant.config_entries import ConfigEntry
76
from homeassistant.core import HomeAssistant
87

9-
from .const import DOMAIN
8+
from . import SENZConfigEntry
109

1110
TO_REDACT = [
1211
"access_token",
@@ -15,13 +14,11 @@
1514

1615

1716
async def async_get_config_entry_diagnostics(
18-
hass: HomeAssistant, entry: ConfigEntry
17+
hass: HomeAssistant, entry: SENZConfigEntry
1918
) -> dict[str, Any]:
2019
"""Return diagnostics for a config entry."""
2120

22-
raw_data = (
23-
[device.raw_data for device in hass.data[DOMAIN][entry.entry_id].data.values()],
24-
)
21+
raw_data = ([device.raw_data for device in entry.runtime_data.data.values()],)
2522

2623
return {
2724
"entry_data": async_redact_data(entry.data, TO_REDACT),

homeassistant/components/senz/sensor.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,13 @@
1313
SensorEntityDescription,
1414
SensorStateClass,
1515
)
16-
from homeassistant.config_entries import ConfigEntry
1716
from homeassistant.const import UnitOfTemperature
1817
from homeassistant.core import HomeAssistant
1918
from homeassistant.helpers.device_registry import DeviceInfo
2019
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
2120
from homeassistant.helpers.update_coordinator import CoordinatorEntity
2221

23-
from . import SENZDataUpdateCoordinator
22+
from . import SENZConfigEntry, SENZDataUpdateCoordinator
2423
from .const import DOMAIN
2524

2625

@@ -45,11 +44,11 @@ class SenzSensorDescription(SensorEntityDescription):
4544

4645
async def async_setup_entry(
4746
hass: HomeAssistant,
48-
entry: ConfigEntry,
47+
entry: SENZConfigEntry,
4948
async_add_entities: AddConfigEntryEntitiesCallback,
5049
) -> None:
5150
"""Set up the SENZ sensor entities from a config entry."""
52-
coordinator: SENZDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
51+
coordinator = entry.runtime_data
5352
async_add_entities(
5453
SENZSensor(thermostat, coordinator, description)
5554
for description in SENSORS

0 commit comments

Comments
 (0)