1 """Support for freedompro."""
3 from __future__
import annotations
6 from typing
import Final
12 from .const
import DOMAIN
13 from .coordinator
import FreedomproDataUpdateCoordinator
15 _LOGGER = logging.getLogger(__name__)
17 PLATFORMS: Final[list[Platform]] = [
18 Platform.BINARY_SENSOR,
30 """Set up Freedompro from a config entry."""
31 hass.data.setdefault(DOMAIN, {})
32 api_key = entry.data[CONF_API_KEY]
35 await coordinator.async_config_entry_first_refresh()
37 entry.async_on_unload(entry.add_update_listener(update_listener))
39 hass.data[DOMAIN][entry.entry_id] = coordinator
41 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
47 """Unload a config entry."""
48 unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
50 hass.data[DOMAIN].pop(entry.entry_id)
55 async
def update_listener(hass: HomeAssistant, config_entry: ConfigEntry) ->
None:
56 """Update listener."""
57 await hass.config_entries.async_reload(config_entry.entry_id)
None update_listener(HomeAssistant hass, ConfigEntry config_entry)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)