1 """Config flow for Generic hygrostat."""
3 from __future__
import annotations
5 from collections.abc
import Mapping
6 from typing
import Any, cast
8 import voluptuous
as vol
15 SchemaConfigFlowHandler,
32 vol.Required(CONF_AC_MODE): selector.BooleanSelector(
33 selector.BooleanSelectorConfig(),
35 vol.Required(CONF_SENSOR): selector.EntitySelector(
36 selector.EntitySelectorConfig(
37 domain=SENSOR_DOMAIN, device_class=SensorDeviceClass.TEMPERATURE
40 vol.Required(CONF_HEATER): selector.EntitySelector(
41 selector.EntitySelectorConfig(domain=[fan.DOMAIN, switch.DOMAIN])
44 CONF_COLD_TOLERANCE, default=DEFAULT_TOLERANCE
45 ): selector.NumberSelector(
46 selector.NumberSelectorConfig(
47 mode=selector.NumberSelectorMode.BOX, unit_of_measurement=DEGREE, step=0.1
51 CONF_HOT_TOLERANCE, default=DEFAULT_TOLERANCE
52 ): selector.NumberSelector(
53 selector.NumberSelectorConfig(
54 mode=selector.NumberSelectorMode.BOX, unit_of_measurement=DEGREE, step=0.1
57 vol.Optional(CONF_MIN_DUR): selector.DurationSelector(
58 selector.DurationSelectorConfig(allow_negative=
False)
63 vol.Optional(v): selector.NumberSelector(
64 selector.NumberSelectorConfig(
65 mode=selector.NumberSelectorMode.BOX, unit_of_measurement=DEGREE, step=0.1
68 for v
in CONF_PRESETS.values()
72 vol.Required(CONF_NAME): selector.TextSelector(),
89 """Handle a config or options flow."""
91 config_flow = CONFIG_FLOW
92 options_flow = OPTIONS_FLOW
95 """Return config entry title."""
96 return cast(str, options[
"name"])
str async_config_entry_title(self, Mapping[str, Any] options)