Skip to content

Commit

Permalink
Fix ZHA device lookup when ZHA devices are shared with additional int…
Browse files Browse the repository at this point in the history
…egrations (home-assistant#124429)

* Fix ZHA device lookup when ZHA devices are shared with additional integrations

* clean up except error types

* remove impossible to create exceptions
  • Loading branch information
dmulcahey authored Aug 24, 2024
1 parent 3e3d27f commit e85755f
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions homeassistant/components/zha/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -1012,16 +1012,12 @@ def async_get_zha_device_proxy(hass: HomeAssistant, device_id: str) -> ZHADevice
_LOGGER.error("Device id `%s` not found in registry", device_id)
raise KeyError(f"Device id `{device_id}` not found in registry.")
zha_gateway_proxy = get_zha_gateway_proxy(hass)
try:
ieee_address = list(registry_device.identifiers)[0][1]
ieee = EUI64.convert(ieee_address)
except (IndexError, ValueError) as ex:
_LOGGER.error(
"Unable to determine device IEEE for device with device id `%s`", device_id
)
raise KeyError(
f"Unable to determine device IEEE for device with device id `{device_id}`."
) from ex
ieee_address = next(
identifier
for domain, identifier in registry_device.identifiers
if domain == DOMAIN
)
ieee = EUI64.convert(ieee_address)
return zha_gateway_proxy.device_proxies[ieee]


Expand Down

0 comments on commit e85755f

Please sign in to comment.