This commit is contained in:
Home Assistant Version Control
2026-08-02 15:33:12 +00:00
parent 60dd13b52c
commit 2ce8792155
39 changed files with 1992 additions and 157 deletions
+25 -4
View File
@@ -169,6 +169,9 @@ async def async_setup_entry( # noqa: C901
await hilo.async_init(scan_interval)
except HiloError as err:
raise ConfigEntryNotReady from err
except (TimeoutError, client_exceptions.ClientError) as err:
LOG.debug("Timeout with API connection")
raise ConfigEntryNotReady from err
hass.data.setdefault(DOMAIN, {})
hass.data[DOMAIN][entry.entry_id] = hilo
@@ -198,18 +201,36 @@ async def async_setup_entry( # noqa: C901
"sensor.hilo_gateway": "sensor.hilo_gateway",
}
for old_id, new_id in gateway_entity_renames.items():
if old_id != new_id and entity_registry.async_get(old_id):
if old_id == new_id or not entity_registry.async_get(old_id):
continue
if entity_registry.async_get(new_id):
LOG.info(
"Skipping migration %s -> %s, target entity ID already registered",
old_id,
new_id,
)
entity_registry.async_update_entity(old_id, new_entity_id=new_id)
LOG.info("Migrated entity ID %s -> %s", old_id, new_id)
continue
entity_registry.async_update_entity(old_id, new_entity_id=new_id)
LOG.info("Migrated entity ID %s -> %s", old_id, new_id)
# Note (ic-dev21): this new renaming by HA also breaks sensor.hilo_energy_total, which is used in check_tarif
energy_entity_renames = {
"sensor.meter00_hilo_energy_total": "sensor.hilo_energy_total"
}
for old_id, new_id in energy_entity_renames.items():
if old_id != new_id and entity_registry.async_get(old_id):
if old_id == new_id or not entity_registry.async_get(old_id):
continue
if entity_registry.async_get(new_id):
LOG.info(
"Skipping migration %s -> %s, target entity ID already registered",
old_id,
new_id,
)
entity_registry.async_update_entity(old_id, new_entity_id=new_id)
LOG.info("Migrated entity ID %s -> %s", old_id, new_id)
continue
entity_registry.async_update_entity(old_id, new_entity_id=new_id)
LOG.info("Migrated entity ID %s -> %s", old_id, new_id)
async def handle_debug_event(event: Event):
"""Handle an event."""