1 """The duotecno integration."""
3 from __future__
import annotations
5 from duotecno.controller
import PyDuotecno
6 from duotecno.exceptions
import InvalidPassword, LoadFailure
13 from .const
import DOMAIN
15 PLATFORMS: list[Platform] = [
16 Platform.BINARY_SENSOR,
25 """Set up duotecno from a config entry."""
27 controller = PyDuotecno()
29 await controller.connect(
30 entry.data[CONF_HOST], entry.data[CONF_PORT], entry.data[CONF_PASSWORD]
32 except (OSError, InvalidPassword, LoadFailure)
as err:
33 raise ConfigEntryNotReady
from err
34 hass.data.setdefault(DOMAIN, {})[entry.entry_id] = controller
35 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
40 """Unload a config entry."""
41 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
42 hass.data[DOMAIN].pop(entry.entry_id)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)