Fix ZHA device lookup when ZHA devices are shared with additional integrations (#124429)

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

* clean up except error types

* remove impossible to create exceptions
This commit is contained in:
David F. Mulcahey 2024-08-24 15:52:27 -04:00 committed by GitHub
parent 3e3d27f48d
commit e85755fbda
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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]