1 """Support for Hydrawise cloud."""
3 from pydrawise
import auth, client
10 from .const
import DOMAIN
11 from .coordinator
import (
12 HydrawiseMainDataUpdateCoordinator,
13 HydrawiseUpdateCoordinators,
14 HydrawiseWaterUseDataUpdateCoordinator,
17 PLATFORMS: list[Platform] = [
18 Platform.BINARY_SENSOR,
26 """Set up Hydrawise from a config entry."""
27 if CONF_USERNAME
not in config_entry.data
or CONF_PASSWORD
not in config_entry.data:
30 raise ConfigEntryAuthFailed
32 hydrawise = client.Hydrawise(
33 auth.Auth(config_entry.data[CONF_USERNAME], config_entry.data[CONF_PASSWORD])
37 await main_coordinator.async_config_entry_first_refresh()
39 hass, hydrawise, main_coordinator
41 await water_use_coordinator.async_config_entry_first_refresh()
42 hass.data.setdefault(DOMAIN, {})[config_entry.entry_id] = (
44 main=main_coordinator,
45 water_use=water_use_coordinator,
48 await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS)
53 """Unload a config entry."""
54 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
55 hass.data[DOMAIN].pop(entry.entry_id)
bool async_setup_entry(HomeAssistant hass, ConfigEntry config_entry)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)