1 """Switcher integration helpers functions."""
3 from __future__
import annotations
8 from aioswitcher.api.remotes
import SwitcherBreezeRemoteManager
9 from aioswitcher.bridge
import SwitcherBase, SwitcherBridge
14 from .const
import DISCOVERY_TIME_SEC
16 _LOGGER = logging.getLogger(__name__)
20 """Discover Switcher devices."""
21 _LOGGER.debug(
"Starting discovery")
22 discovered_devices = {}
25 def on_device_data_callback(device: SwitcherBase) ->
None:
26 """Use as a callback for device data."""
27 if device.device_id
in discovered_devices:
30 discovered_devices[device.device_id] = device
32 bridge = SwitcherBridge(on_device_data_callback)
34 await asyncio.sleep(DISCOVERY_TIME_SEC)
37 _LOGGER.debug(
"Finished discovery, discovered devices: %s", len(discovered_devices))
38 return discovered_devices
41 @singleton.singleton("switcher_breeze_remote_manager")
43 """Get Switcher Breeze remote manager."""
44 return SwitcherBreezeRemoteManager()
dict[str, SwitcherBase] async_discover_devices()
SwitcherBreezeRemoteManager get_breeze_remote_manager(HomeAssistant hass)