d766aae436
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: frenck <195327+frenck@users.noreply.github.com>
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
"""The PrusaLink integration."""
|
|
|
|
from homeassistant.helpers.device_registry import DeviceInfo
|
|
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
|
|
|
from .const import DOMAIN
|
|
from .coordinator import PrusaLinkUpdateCoordinator
|
|
|
|
|
|
class PrusaLinkEntity(CoordinatorEntity[PrusaLinkUpdateCoordinator]):
|
|
"""Defines a base PrusaLink entity."""
|
|
|
|
_attr_has_entity_name = True
|
|
|
|
@property
|
|
def device_info(self) -> DeviceInfo:
|
|
"""Return device information about this PrusaLink device."""
|
|
coordinators = self.coordinator.config_entry.runtime_data
|
|
info_data = coordinators["info"].data or {}
|
|
version_data = coordinators["version"].data or {}
|
|
return DeviceInfo(
|
|
identifiers={(DOMAIN, self.coordinator.config_entry.entry_id)},
|
|
name=self.coordinator.config_entry.title,
|
|
manufacturer="Prusa",
|
|
serial_number=info_data.get("serial"),
|
|
sw_version=version_data.get("firmware"),
|
|
configuration_url=self.coordinator.api.client.host,
|
|
)
|