1 """The deako integration."""
3 from __future__
import annotations
7 from pydeako
import Deako, DeakoDiscoverer, FindDevicesError
15 _LOGGER: logging.Logger = logging.getLogger(__name__)
17 PLATFORMS: list[Platform] = [Platform.LIGHT]
19 type DeakoConfigEntry = ConfigEntry[Deako]
24 _zc = await zeroconf.async_get_instance(hass)
25 discoverer = DeakoDiscoverer(_zc)
27 connection = Deako(discoverer.get_address)
29 await connection.connect()
31 await connection.find_devices()
32 except FindDevicesError
as exc:
33 _LOGGER.warning(
"Error finding devices: %s", exc)
34 await connection.disconnect()
38 devices = connection.get_devices()
40 await connection.disconnect()
43 entry.runtime_data = connection
45 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
51 """Unload a config entry."""
52 await entry.runtime_data.disconnect()
54 return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
bool async_setup_entry(HomeAssistant hass, DeakoConfigEntry entry)
bool async_unload_entry(HomeAssistant hass, DeakoConfigEntry entry)