diff --git a/homeassistant/components/unifiprotect/utils.py b/homeassistant/components/unifiprotect/utils.py index 061f6745f32..e0c56cfd5fc 100644 --- a/homeassistant/components/unifiprotect/utils.py +++ b/homeassistant/components/unifiprotect/utils.py @@ -38,6 +38,8 @@ from .const import ( ModelType, ) +_SENTINEL = object() + def get_nested_attr(obj: Any, attr: str) -> Any: """Fetch a nested attribute.""" @@ -46,9 +48,8 @@ def get_nested_attr(obj: Any, attr: str) -> Any: else: value = obj for key in attr.split("."): - if not hasattr(value, key): + if (value := getattr(value, key, _SENTINEL)) is _SENTINEL: return None - value = getattr(value, key) return value.value if isinstance(value, Enum) else value