1 """The venstar component."""
3 from __future__
import annotations
5 from venstarcolortouch
import VenstarColorTouch
18 from .const
import DOMAIN, VENSTAR_TIMEOUT
19 from .coordinator
import VenstarDataUpdateCoordinator
21 PLATFORMS = [Platform.BINARY_SENSOR, Platform.CLIMATE, Platform.SENSOR]
25 """Set up the Venstar thermostat."""
26 username = config.data.get(CONF_USERNAME)
27 password = config.data.get(CONF_PASSWORD)
28 pin = config.data.get(CONF_PIN)
29 host = config.data[CONF_HOST]
30 timeout = VENSTAR_TIMEOUT
31 protocol =
"https" if config.data[CONF_SSL]
else "http"
33 client = VenstarColorTouch(
44 venstar_connection=client,
46 await venstar_data_coordinator.async_config_entry_first_refresh()
48 hass.data.setdefault(DOMAIN, {})[config.entry_id] = venstar_data_coordinator
49 await hass.config_entries.async_forward_entry_setups(config, PLATFORMS)
55 """Unload the config and platforms."""
56 unload_ok = await hass.config_entries.async_unload_platforms(config, PLATFORMS)
58 hass.data[DOMAIN].pop(config.entry_id)
bool async_setup_entry(HomeAssistant hass, ConfigEntry config)
bool async_unload_entry(HomeAssistant hass, ConfigEntry config)