Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 21 additions & 28 deletions zha/zigbee/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,28 +335,6 @@ def quirk_metadata(self) -> QuirksV2RegistryEntry | None:
"""Return the quirk metadata for this device."""
return getattr(self._zigpy_device, "quirk_metadata", None)

@cached_property
def manufacturer(self) -> str:
"""Return manufacturer for device."""
if self.is_active_coordinator:
manufacturer = (
self.gateway.application_controller.state.node_info.manufacturer
)
if manufacturer is None:
return ""
return manufacturer

if (
self.quirk_metadata is not None
and self.quirk_metadata.friendly_name is not None
):
return self.quirk_metadata.friendly_name.manufacturer

if self._zigpy_device.manufacturer is None:
return UNKNOWN_MANUFACTURER

return self._zigpy_device.manufacturer

@cached_property
def model(self) -> str:
"""Return model for device."""
Expand All @@ -366,15 +344,30 @@ def model(self) -> str:
return f"Generic Zigbee Coordinator ({self.gateway.radio_type.pretty_name})"
return model

if (
self.quirk_metadata is not None
and self.quirk_metadata.friendly_name is not None
):
if self.quirk_metadata is not None:
return self.quirk_metadata.friendly_name.model

if self._zigpy_device.model is None:
return UNKNOWN_MODEL
return self.model_id or UNKNOWN_MODEL

@cached_property
def manufacturer(self) -> str:
"""Return manufacturer for device."""
if self.quirk_metadata is not None:
return self.quirk_metadata.friendly_name.manufacturer

return self.manufacturer_id or UNKNOWN_MANUFACTURER

@cached_property
def manufacturer_id(self) -> str | None:
"""Return manufacturer ID for device."""
if self.is_active_coordinator:
return self.gateway.application_controller.state.node_info.manufacturer

return self._zigpy_device.manufacturer

@cached_property
def model_id(self) -> str | None:
"""Return model for device."""
return self._zigpy_device.model

@cached_property
Expand Down
Loading