1 """The nuki component."""
3 from __future__
import annotations
5 from pynuki.device
import NukiDevice
10 from .const
import DOMAIN
11 from .coordinator
import NukiCoordinator
12 from .helpers
import parse_id
15 class NukiEntity[_NukiDeviceT: NukiDevice](CoordinatorEntity[NukiCoordinator]):
16 """An entity using CoordinatorEntity.
18 The CoordinatorEntity class provides:
26 def __init__(self, coordinator: NukiCoordinator, nuki_device: _NukiDeviceT) ->
None:
27 """Pass coordinator to CoordinatorEntity."""
29 self._nuki_device = nuki_device
33 """Device info for Nuki entities."""
35 identifiers={(DOMAIN,
parse_id(self._nuki_device.nuki_id))},
36 name=self._nuki_device.name,
37 manufacturer=
"Nuki Home Solutions GmbH",
38 model=self._nuki_device.device_model_str.capitalize(),
39 sw_version=self._nuki_device.firmware_version,
40 via_device=(DOMAIN, self.coordinator.bridge_id),
41 serial_number=
parse_id(self._nuki_device.nuki_id),
None __init__(self, NukiCoordinator coordinator, _NukiDeviceT nuki_device)
DeviceInfo device_info(self)
def parse_id(hardware_id)