hass-core/homeassistant/components/flexit_bacnet/entity.py
Jonas Fors Lellky bfe21b33f0
Add coordinator to Flexit bacnet (#108295)
* Adds coordinator and base entity class

* Patch the coordinator

* Adds device property to base class

And refactors accordingly

* Use const instead of string

* Moves _attr_has_entity_name to base entity

* Argument as positional

* Use device_id from init
2024-01-18 15:45:56 +01:00

34 lines
1.1 KiB
Python

"""Base entity for the Flexit Nordic (BACnet) integration."""
from __future__ import annotations
from flexit_bacnet import FlexitBACnet
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import DOMAIN
from .coordinator import FlexitCoordinator
class FlexitEntity(CoordinatorEntity[FlexitCoordinator]):
"""Defines a Flexit entity."""
_attr_has_entity_name = True
def __init__(self, coordinator: FlexitCoordinator) -> None:
"""Initialize a Flexit Nordic (BACnet) entity."""
super().__init__(coordinator)
self._attr_device_info = DeviceInfo(
identifiers={
(DOMAIN, coordinator.device.serial_number),
},
name=coordinator.device.device_name,
manufacturer="Flexit",
model="Nordic",
serial_number=coordinator.device.serial_number,
)
@property
def device(self) -> FlexitBACnet:
"""Return the device."""
return self.coordinator.data