1 """Define Hunter Douglas data models."""
3 from __future__
import annotations
5 from dataclasses
import dataclass
6 from typing
import TYPE_CHECKING
8 from aiopvapi.helpers.aiorequest
import AioRequest
9 from aiopvapi.hub
import Hub
10 from aiopvapi.resources.room
import Room
11 from aiopvapi.resources.scene
import Scene
12 from aiopvapi.resources.shade
import BaseShade
17 from .coordinator
import PowerviewShadeUpdateCoordinator
19 type PowerviewConfigEntry = ConfigEntry[PowerviewEntryData]
22 @dataclass(slots=True)
24 """Define class for main domain information."""
27 room_data: dict[str, Room]
28 scene_data: dict[str, Scene]
29 shade_data: dict[str, BaseShade]
30 coordinator: PowerviewShadeUpdateCoordinator
31 device_info: PowerviewDeviceInfo
34 @dataclass(slots=True)
36 """Define class for device information."""
46 @dataclass(slots=True)
48 """Define class to hold the Powerview Hub API data."""
51 pv_request: AioRequest
52 device_info: PowerviewDeviceInfo