1 """Common classes and elements for Omnilogic Integration."""
8 from .const
import DOMAIN
9 from .coordinator
import OmniLogicUpdateCoordinator
13 """Defines the base OmniLogic entity."""
17 coordinator: OmniLogicUpdateCoordinator,
23 """Initialize the OmniLogic Entity."""
27 entity_data = coordinator.data[item_id]
29 backyard_id = item_id[:2]
33 msp_system_id = coordinator.data[backyard_id][
"systemId"]
34 entity_friendly_name = f
"{coordinator.data[backyard_id]['BackyardName']} "
35 unique_id = f
"{msp_system_id}"
37 if bow_id
is not None:
38 unique_id = f
"{unique_id}_{coordinator.data[bow_id]['systemId']}"
41 entity_friendly_name = (
42 f
"{entity_friendly_name}{coordinator.data[bow_id]['Name']} "
45 entity_friendly_name = f
"{entity_friendly_name}{coordinator.data[bow_id]['Operation']['VirtualHeater']['Name']} "
47 unique_id = f
"{unique_id}_{coordinator.data[item_id]['systemId']}_{kind}"
49 if entity_data.get(
"Name")
is not None:
50 entity_friendly_name = f
"{entity_friendly_name} {entity_data['Name']}"
52 entity_friendly_name = f
"{entity_friendly_name} {name}"
54 unique_id = unique_id.replace(
" ",
"_")
57 self.
_name_name = entity_friendly_name
61 self._attrs: dict[str, Any] = {}
63 self.
_backyard_name_backyard_name = coordinator.data[backyard_id][
"BackyardName"]
67 """Return a unique, Home Assistant friendly identifier for this entity."""
72 """Return the name of the entity."""
73 return self.
_name_name
77 """Return the icon for the entity."""
78 return self.
_icon_icon
82 """Return the attributes."""
87 """Define the device as back yard/MSP System."""
90 manufacturer=
"Hayward",
None __init__(self, OmniLogicUpdateCoordinator coordinator, str kind, str name, tuple item_id, str icon)
def extra_state_attributes(self)
DeviceInfo device_info(self)