1 """Common data structures and helpers for accessing them."""
3 from __future__
import annotations
5 from collections.abc
import Sequence
6 from dataclasses
import dataclass
7 from typing
import TYPE_CHECKING, cast
13 from .const
import DOMAIN
16 from .
import HostPortTuple, WemoDiscovery, WemoDispatcher
17 from .coordinator
import DeviceCoordinator
22 """Config entry state data."""
24 device_coordinators: dict[str, DeviceCoordinator]
25 discovery: WemoDiscovery
26 dispatcher: WemoDispatcher
31 """Component state data."""
33 discovery_enabled: bool
34 static_config: Sequence[HostPortTuple]
35 registry: pywemo.SubscriptionRegistry
39 config_entry_data: WemoConfigEntryData =
None
44 """Fetch WemoData with proper typing."""
45 return cast(WemoData, hass.data[DOMAIN])
WemoData async_wemo_data(HomeAssistant hass)