Fix homekit bridges when no name was provided (#43364)
parent
18fdf3a429
commit
e15f3b7b8e
|
@ -146,6 +146,14 @@ RESET_ACCESSORY_SERVICE_SCHEMA = vol.Schema(
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _async_get_entries_by_name(current_entries):
|
||||||
|
"""Return a dict of the entries by name."""
|
||||||
|
|
||||||
|
# For backwards compat, its possible the first bridge is using the default
|
||||||
|
# name.
|
||||||
|
return {entry.data.get(CONF_NAME, BRIDGE_NAME): entry for entry in current_entries}
|
||||||
|
|
||||||
|
|
||||||
async def async_setup(hass: HomeAssistant, config: dict):
|
async def async_setup(hass: HomeAssistant, config: dict):
|
||||||
"""Set up the HomeKit from yaml."""
|
"""Set up the HomeKit from yaml."""
|
||||||
hass.data.setdefault(DOMAIN, {})
|
hass.data.setdefault(DOMAIN, {})
|
||||||
|
@ -156,8 +164,7 @@ async def async_setup(hass: HomeAssistant, config: dict):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
current_entries = hass.config_entries.async_entries(DOMAIN)
|
current_entries = hass.config_entries.async_entries(DOMAIN)
|
||||||
|
entries_by_name = _async_get_entries_by_name(current_entries)
|
||||||
entries_by_name = {entry.data[CONF_NAME]: entry for entry in current_entries}
|
|
||||||
|
|
||||||
for index, conf in enumerate(config[DOMAIN]):
|
for index, conf in enumerate(config[DOMAIN]):
|
||||||
if _async_update_config_entry_if_from_yaml(hass, entries_by_name, conf):
|
if _async_update_config_entry_if_from_yaml(hass, entries_by_name, conf):
|
||||||
|
@ -384,7 +391,7 @@ def _async_register_events_and_services(hass: HomeAssistant):
|
||||||
return
|
return
|
||||||
|
|
||||||
current_entries = hass.config_entries.async_entries(DOMAIN)
|
current_entries = hass.config_entries.async_entries(DOMAIN)
|
||||||
entries_by_name = {entry.data[CONF_NAME]: entry for entry in current_entries}
|
entries_by_name = _async_get_entries_by_name(current_entries)
|
||||||
|
|
||||||
for conf in config[DOMAIN]:
|
for conf in config[DOMAIN]:
|
||||||
_async_update_config_entry_if_from_yaml(hass, entries_by_name, conf)
|
_async_update_config_entry_if_from_yaml(hass, entries_by_name, conf)
|
||||||
|
|
Loading…
Reference in New Issue