mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 01:38:02 +00:00
Pass config entry to UpdateCoordinator in yale_smart_alarm (#132205)
This commit is contained in:
parent
8c6d638354
commit
db266d80ec
@ -27,17 +27,17 @@ async def async_setup_entry(hass: HomeAssistant, entry: YaleConfigEntry) -> bool
|
||||
return True
|
||||
|
||||
|
||||
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
|
||||
async def update_listener(hass: HomeAssistant, entry: YaleConfigEntry) -> None:
|
||||
"""Handle options update."""
|
||||
await hass.config_entries.async_reload(entry.entry_id)
|
||||
|
||||
|
||||
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
async def async_unload_entry(hass: HomeAssistant, entry: YaleConfigEntry) -> bool:
|
||||
"""Unload a config entry."""
|
||||
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
|
||||
|
||||
|
||||
async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
async def async_migrate_entry(hass: HomeAssistant, entry: YaleConfigEntry) -> bool:
|
||||
"""Migrate old entry."""
|
||||
LOGGER.debug("Migrating from version %s", entry.version)
|
||||
|
||||
|
@ -47,7 +47,7 @@ class YaleAlarmDevice(YaleAlarmEntity, AlarmControlPanelEntity):
|
||||
def __init__(self, coordinator: YaleDataUpdateCoordinator) -> None:
|
||||
"""Initialize the Yale Alarm Device."""
|
||||
super().__init__(coordinator)
|
||||
self._attr_unique_id = coordinator.entry.entry_id
|
||||
self._attr_unique_id = coordinator.config_entry.entry_id
|
||||
|
||||
async def async_alarm_disarm(self, code: str | None = None) -> None:
|
||||
"""Send disarm command."""
|
||||
@ -84,7 +84,7 @@ class YaleAlarmDevice(YaleAlarmEntity, AlarmControlPanelEntity):
|
||||
translation_domain=DOMAIN,
|
||||
translation_key="set_alarm",
|
||||
translation_placeholders={
|
||||
"name": self.coordinator.entry.data[CONF_NAME],
|
||||
"name": self.coordinator.config_entry.data[CONF_NAME],
|
||||
"error": str(error),
|
||||
},
|
||||
) from error
|
||||
|
@ -108,7 +108,9 @@ class YaleProblemSensor(YaleAlarmEntity, BinarySensorEntity):
|
||||
"""Initiate Yale Problem Sensor."""
|
||||
super().__init__(coordinator)
|
||||
self.entity_description = entity_description
|
||||
self._attr_unique_id = f"{coordinator.entry.entry_id}-{entity_description.key}"
|
||||
self._attr_unique_id = (
|
||||
f"{coordinator.config_entry.entry_id}-{entity_description.key}"
|
||||
)
|
||||
|
||||
@property
|
||||
def is_on(self) -> bool:
|
||||
|
@ -9,12 +9,14 @@ from yalesmartalarmclient import YaleLock
|
||||
from yalesmartalarmclient.client import YaleSmartAlarmClient
|
||||
from yalesmartalarmclient.exceptions import AuthenticationError
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.exceptions import ConfigEntryAuthFailed
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from . import YaleConfigEntry
|
||||
|
||||
from .const import DEFAULT_SCAN_INTERVAL, DOMAIN, LOGGER, YALE_BASE_ERRORS
|
||||
|
||||
|
||||
@ -22,13 +24,14 @@ class YaleDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
||||
"""A Yale Data Update Coordinator."""
|
||||
|
||||
yale: YaleSmartAlarmClient
|
||||
config_entry: YaleConfigEntry
|
||||
|
||||
def __init__(self, hass: HomeAssistant, entry: ConfigEntry) -> None:
|
||||
def __init__(self, hass: HomeAssistant, config_entry: YaleConfigEntry) -> None:
|
||||
"""Initialize the Yale hub."""
|
||||
self.entry = entry
|
||||
super().__init__(
|
||||
hass,
|
||||
LOGGER,
|
||||
config_entry=config_entry,
|
||||
name=DOMAIN,
|
||||
update_interval=timedelta(seconds=DEFAULT_SCAN_INTERVAL),
|
||||
always_update=False,
|
||||
@ -40,8 +43,8 @@ class YaleDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
|
||||
try:
|
||||
self.yale = await self.hass.async_add_executor_job(
|
||||
YaleSmartAlarmClient,
|
||||
self.entry.data[CONF_USERNAME],
|
||||
self.entry.data[CONF_PASSWORD],
|
||||
self.config_entry.data[CONF_USERNAME],
|
||||
self.config_entry.data[CONF_PASSWORD],
|
||||
)
|
||||
self.locks = await self.hass.async_add_executor_job(self.yale.get_locks)
|
||||
except AuthenticationError as error:
|
||||
|
@ -25,7 +25,7 @@ class YaleEntity(CoordinatorEntity[YaleDataUpdateCoordinator]):
|
||||
manufacturer=MANUFACTURER,
|
||||
model=MODEL,
|
||||
identifiers={(DOMAIN, data["address"])},
|
||||
via_device=(DOMAIN, coordinator.entry.data[CONF_USERNAME]),
|
||||
via_device=(DOMAIN, coordinator.config_entry.data[CONF_USERNAME]),
|
||||
)
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ class YaleLockEntity(CoordinatorEntity[YaleDataUpdateCoordinator]):
|
||||
manufacturer=MANUFACTURER,
|
||||
model=MODEL,
|
||||
identifiers={(DOMAIN, lock.sid())},
|
||||
via_device=(DOMAIN, coordinator.entry.data[CONF_USERNAME]),
|
||||
via_device=(DOMAIN, coordinator.config_entry.data[CONF_USERNAME]),
|
||||
)
|
||||
self.lock_data = lock
|
||||
|
||||
@ -58,10 +58,10 @@ class YaleAlarmEntity(CoordinatorEntity[YaleDataUpdateCoordinator], Entity):
|
||||
super().__init__(coordinator)
|
||||
panel_info = coordinator.data["panel_info"]
|
||||
self._attr_device_info = DeviceInfo(
|
||||
identifiers={(DOMAIN, coordinator.entry.data[CONF_USERNAME])},
|
||||
identifiers={(DOMAIN, coordinator.config_entry.data[CONF_USERNAME])},
|
||||
manufacturer=MANUFACTURER,
|
||||
model=MODEL,
|
||||
name=coordinator.entry.data[CONF_NAME],
|
||||
name=coordinator.config_entry.data[CONF_NAME],
|
||||
connections={(CONNECTION_NETWORK_MAC, panel_info["mac"])},
|
||||
sw_version=panel_info["version"],
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user