1 """The powerview integration base entity."""
5 from aiopvapi.resources.shade
import BaseShade, ShadePosition
11 from .const
import DOMAIN, MANUFACTURER
12 from .coordinator
import PowerviewShadeUpdateCoordinator
13 from .model
import PowerviewDeviceInfo
14 from .shade_data
import PowerviewShadeData
16 _LOGGER = logging.getLogger(__name__)
20 """Base class for hunter douglas entities."""
22 _attr_has_entity_name =
True
26 coordinator: PowerviewShadeUpdateCoordinator,
27 device_info: PowerviewDeviceInfo,
31 """Initialize the entity."""
34 self.
_attr_unique_id_attr_unique_id = f
"{device_info.serial_number}_{powerview_id}"
39 def data(self) -> PowerviewShadeData:
40 """Return the PowerviewShadeData."""
41 return self.coordinator.data
45 """Return the device_info of the device."""
47 connections={(dr.CONNECTION_NETWORK_MAC, self.
_device_info_device_info.mac_address)},
48 identifiers={(DOMAIN, self.
_device_info_device_info.serial_number)},
49 manufacturer=MANUFACTURER,
58 """Base class for hunter douglas shade entities."""
62 coordinator: PowerviewShadeUpdateCoordinator,
63 device_info: PowerviewDeviceInfo,
68 """Initialize the shade."""
69 super().
__init__(coordinator, device_info, room_name, shade.id)
77 """Return the PowerviewShadeData."""
82 """Return the device_info of the device."""
84 identifiers={(DOMAIN, self.
_shade_shade.id)},
87 manufacturer=MANUFACTURER,
88 model=self.
_shade_shade.type_name,
89 sw_version=self.
_shade_shade.firmware,
90 via_device=(DOMAIN, self.
_device_info_device_info.serial_number),
None __init__(self, PowerviewShadeUpdateCoordinator coordinator, PowerviewDeviceInfo device_info, str room_name, str powerview_id)
DeviceInfo device_info(self)
PowerviewShadeData data(self)
DeviceInfo device_info(self)
None __init__(self, PowerviewShadeUpdateCoordinator coordinator, PowerviewDeviceInfo device_info, str room_name, BaseShade shade, str shade_name)
ShadePosition positions(self)
ShadePosition get_shade_position(self, int shade_id)