Add AC mode configFlow
This commit is contained in:
@@ -61,7 +61,9 @@ from .const import (
|
|||||||
CONF_CYCLE_MIN,
|
CONF_CYCLE_MIN,
|
||||||
CONF_PRESET_POWER,
|
CONF_PRESET_POWER,
|
||||||
CONF_PRESETS,
|
CONF_PRESETS,
|
||||||
|
CONF_PRESETS_WITH_AC,
|
||||||
CONF_PRESETS_AWAY,
|
CONF_PRESETS_AWAY,
|
||||||
|
CONF_PRESETS_AWAY_WITH_AC,
|
||||||
CONF_PRESETS_SELECTIONABLE,
|
CONF_PRESETS_SELECTIONABLE,
|
||||||
CONF_PROP_FUNCTION,
|
CONF_PROP_FUNCTION,
|
||||||
CONF_TPI_COEF_EXT,
|
CONF_TPI_COEF_EXT,
|
||||||
@@ -83,6 +85,7 @@ from .const import (
|
|||||||
CONF_USE_MOTION_FEATURE,
|
CONF_USE_MOTION_FEATURE,
|
||||||
CONF_USE_PRESENCE_FEATURE,
|
CONF_USE_PRESENCE_FEATURE,
|
||||||
CONF_USE_POWER_FEATURE,
|
CONF_USE_POWER_FEATURE,
|
||||||
|
CONF_USE_AC_MODE,
|
||||||
CONF_THERMOSTAT_TYPES,
|
CONF_THERMOSTAT_TYPES,
|
||||||
UnknownEntity,
|
UnknownEntity,
|
||||||
WindowOpenDetectionMethod,
|
WindowOpenDetectionMethod,
|
||||||
@@ -132,35 +135,6 @@ def add_suggested_values_to_schema(
|
|||||||
return vol.Schema(schema)
|
return vol.Schema(schema)
|
||||||
|
|
||||||
|
|
||||||
# def is_temperature_sensor(sensor: RegistryEntry):
|
|
||||||
# """Check if a registryEntry is a temperature sensor or assimilable to a temperature sensor"""
|
|
||||||
# if not sensor.entity_id.startswith(
|
|
||||||
# INPUT_NUMBER_DOMAIN
|
|
||||||
# ) and not sensor.entity_id.startswith(SENSOR_DOMAIN):
|
|
||||||
# return False
|
|
||||||
# return (
|
|
||||||
# sensor.device_class == TEMPERATURE
|
|
||||||
# or sensor.original_device_class == TEMPERATURE
|
|
||||||
# or sensor.unit_of_measurement in TEMPERATURE_UNITS
|
|
||||||
# )
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# def is_power_sensor(sensor: RegistryEntry):
|
|
||||||
# """Check if a registryEntry is a power sensor or assimilable to a temperature sensor"""
|
|
||||||
# if not sensor.entity_id.startswith(
|
|
||||||
# INPUT_NUMBER_DOMAIN
|
|
||||||
# ) and not sensor.entity_id.startswith(SENSOR_DOMAIN):
|
|
||||||
# return False
|
|
||||||
# return (
|
|
||||||
# sensor.unit_of_measurement
|
|
||||||
# in [
|
|
||||||
# UnitOfPower.KILO_WATT,
|
|
||||||
# UnitOfPower.WATT,
|
|
||||||
# UnitOfPower.BTU_PER_HOUR,
|
|
||||||
# ]
|
|
||||||
# )
|
|
||||||
|
|
||||||
|
|
||||||
class VersatileThermostatBaseConfigFlow(FlowHandler):
|
class VersatileThermostatBaseConfigFlow(FlowHandler):
|
||||||
"""The base Config flow class. Used to put some code in commons."""
|
"""The base Config flow class. Used to put some code in commons."""
|
||||||
|
|
||||||
@@ -257,6 +231,7 @@ class VersatileThermostatBaseConfigFlow(FlowHandler):
|
|||||||
vol.Required(CONF_CLIMATE): selector.EntitySelector(
|
vol.Required(CONF_CLIMATE): selector.EntitySelector(
|
||||||
selector.EntitySelectorConfig(domain=CLIMATE_DOMAIN),
|
selector.EntitySelectorConfig(domain=CLIMATE_DOMAIN),
|
||||||
),
|
),
|
||||||
|
vol.Optional(CONF_USE_AC_MODE, default=False): cv.boolean,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -274,6 +249,15 @@ class VersatileThermostatBaseConfigFlow(FlowHandler):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.STEP_PRESETS_WITH_AC_DATA_SCHEMA = ( # pylint: disable=invalid-name
|
||||||
|
vol.Schema( # pylint: disable=invalid-name
|
||||||
|
{
|
||||||
|
vol.Optional(v, default=0.0): vol.Coerce(float)
|
||||||
|
for (k, v) in CONF_PRESETS_WITH_AC.items()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
self.STEP_WINDOW_DATA_SCHEMA = vol.Schema( # pylint: disable=invalid-name
|
self.STEP_WINDOW_DATA_SCHEMA = vol.Schema( # pylint: disable=invalid-name
|
||||||
{
|
{
|
||||||
vol.Optional(CONF_WINDOW_SENSOR): selector.EntitySelector(
|
vol.Optional(CONF_WINDOW_SENSOR): selector.EntitySelector(
|
||||||
@@ -340,6 +324,27 @@ class VersatileThermostatBaseConfigFlow(FlowHandler):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.STEP_PRESENCE_WITH_AC_DATA_SCHEMA = ( # pylint: disable=invalid-name
|
||||||
|
vol.Schema(
|
||||||
|
{
|
||||||
|
vol.Optional(CONF_PRESENCE_SENSOR): selector.EntitySelector(
|
||||||
|
selector.EntitySelectorConfig(
|
||||||
|
domain=[
|
||||||
|
PERSON_DOMAIN,
|
||||||
|
BINARY_SENSOR_DOMAIN,
|
||||||
|
INPUT_BOOLEAN_DOMAIN,
|
||||||
|
]
|
||||||
|
),
|
||||||
|
),
|
||||||
|
}
|
||||||
|
).extend(
|
||||||
|
{
|
||||||
|
vol.Optional(v, default=17): vol.Coerce(float)
|
||||||
|
for (k, v) in CONF_PRESETS_AWAY_WITH_AC.items()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
self.STEP_ADVANCED_DATA_SCHEMA = vol.Schema( # pylint: disable=invalid-name
|
self.STEP_ADVANCED_DATA_SCHEMA = vol.Schema( # pylint: disable=invalid-name
|
||||||
{
|
{
|
||||||
vol.Required(
|
vol.Required(
|
||||||
@@ -489,9 +494,12 @@ class VersatileThermostatBaseConfigFlow(FlowHandler):
|
|||||||
elif self._infos[CONF_USE_PRESENCE_FEATURE]:
|
elif self._infos[CONF_USE_PRESENCE_FEATURE]:
|
||||||
next_step = self.async_step_presence
|
next_step = self.async_step_presence
|
||||||
|
|
||||||
return await self.generic_step(
|
if self._infos[CONF_USE_AC_MODE]:
|
||||||
"presets", self.STEP_PRESETS_DATA_SCHEMA, user_input, next_step
|
schema = self.STEP_PRESETS_WITH_AC_DATA_SCHEMA
|
||||||
)
|
else:
|
||||||
|
schema = self.STEP_PRESETS_DATA_SCHEMA
|
||||||
|
|
||||||
|
return await self.generic_step("presets", schema, user_input, next_step)
|
||||||
|
|
||||||
async def async_step_window(self, user_input: dict | None = None) -> FlowResult:
|
async def async_step_window(self, user_input: dict | None = None) -> FlowResult:
|
||||||
"""Handle the window sensor flow steps"""
|
"""Handle the window sensor flow steps"""
|
||||||
@@ -542,9 +550,14 @@ class VersatileThermostatBaseConfigFlow(FlowHandler):
|
|||||||
"""Handle the presence management flow steps"""
|
"""Handle the presence management flow steps"""
|
||||||
_LOGGER.debug("Into ConfigFlow.async_step_presence user_input=%s", user_input)
|
_LOGGER.debug("Into ConfigFlow.async_step_presence user_input=%s", user_input)
|
||||||
|
|
||||||
|
if self._infos[CONF_USE_AC_MODE]:
|
||||||
|
schema = self.STEP_PRESENCE_WITH_AC_DATA_SCHEMA
|
||||||
|
else:
|
||||||
|
schema = self.STEP_PRESENCE_DATA_SCHEMA
|
||||||
|
|
||||||
return await self.generic_step(
|
return await self.generic_step(
|
||||||
"presence",
|
"presence",
|
||||||
self.STEP_PRESENCE_DATA_SCHEMA,
|
schema,
|
||||||
user_input,
|
user_input,
|
||||||
self.async_step_advanced,
|
self.async_step_advanced,
|
||||||
)
|
)
|
||||||
@@ -676,9 +689,12 @@ class VersatileThermostatOptionsFlowHandler(
|
|||||||
elif self._infos[CONF_USE_PRESENCE_FEATURE]:
|
elif self._infos[CONF_USE_PRESENCE_FEATURE]:
|
||||||
next_step = self.async_step_presence
|
next_step = self.async_step_presence
|
||||||
|
|
||||||
return await self.generic_step(
|
if self._infos[CONF_USE_AC_MODE]:
|
||||||
"presets", self.STEP_PRESETS_DATA_SCHEMA, user_input, next_step
|
schema = self.STEP_PRESETS_WITH_AC_DATA_SCHEMA
|
||||||
)
|
else:
|
||||||
|
schema = self.STEP_PRESETS_DATA_SCHEMA
|
||||||
|
|
||||||
|
return await self.generic_step("presets", schema, user_input, next_step)
|
||||||
|
|
||||||
async def async_step_window(self, user_input: dict | None = None) -> FlowResult:
|
async def async_step_window(self, user_input: dict | None = None) -> FlowResult:
|
||||||
"""Handle the window sensor flow steps"""
|
"""Handle the window sensor flow steps"""
|
||||||
@@ -736,9 +752,14 @@ class VersatileThermostatOptionsFlowHandler(
|
|||||||
"Into OptionsFlowHandler.async_step_presence user_input=%s", user_input
|
"Into OptionsFlowHandler.async_step_presence user_input=%s", user_input
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if self._infos[CONF_USE_AC_MODE]:
|
||||||
|
schema = self.STEP_PRESENCE_WITH_AC_DATA_SCHEMA
|
||||||
|
else:
|
||||||
|
schema = self.STEP_PRESENCE_DATA_SCHEMA
|
||||||
|
|
||||||
return await self.generic_step(
|
return await self.generic_step(
|
||||||
"presence",
|
"presence",
|
||||||
self.STEP_PRESENCE_DATA_SCHEMA,
|
schema,
|
||||||
user_input,
|
user_input,
|
||||||
self.async_step_advanced,
|
self.async_step_advanced,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ from homeassistant.components.climate import (
|
|||||||
ClimateEntityFeature,
|
ClimateEntityFeature,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
PRESET_ECO_AC = PRESET_ECO + "_ac"
|
||||||
|
PRESET_COMFORT_AC = PRESET_COMFORT + "_ac"
|
||||||
|
PRESET_BOOST_AC = PRESET_BOOST + "_ac"
|
||||||
|
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
|
|
||||||
from .prop_algorithm import (
|
from .prop_algorithm import (
|
||||||
@@ -64,6 +68,7 @@ CONF_USE_WINDOW_FEATURE = "use_window_feature"
|
|||||||
CONF_USE_MOTION_FEATURE = "use_motion_feature"
|
CONF_USE_MOTION_FEATURE = "use_motion_feature"
|
||||||
CONF_USE_PRESENCE_FEATURE = "use_presence_feature"
|
CONF_USE_PRESENCE_FEATURE = "use_presence_feature"
|
||||||
CONF_USE_POWER_FEATURE = "use_power_feature"
|
CONF_USE_POWER_FEATURE = "use_power_feature"
|
||||||
|
CONF_USE_AC_MODE = "use_ac_mode"
|
||||||
CONF_WINDOW_AUTO_OPEN_THRESHOLD = "window_auto_open_threshold"
|
CONF_WINDOW_AUTO_OPEN_THRESHOLD = "window_auto_open_threshold"
|
||||||
CONF_WINDOW_AUTO_CLOSE_THRESHOLD = "window_auto_close_threshold"
|
CONF_WINDOW_AUTO_CLOSE_THRESHOLD = "window_auto_close_threshold"
|
||||||
CONF_WINDOW_AUTO_MAX_DURATION = "window_auto_max_duration"
|
CONF_WINDOW_AUTO_MAX_DURATION = "window_auto_max_duration"
|
||||||
@@ -77,14 +82,39 @@ CONF_PRESETS = {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CONF_PRESETS_WITH_AC = {
|
||||||
|
p: f"{p}_temp"
|
||||||
|
for p in (
|
||||||
|
PRESET_ECO,
|
||||||
|
PRESET_COMFORT,
|
||||||
|
PRESET_BOOST,
|
||||||
|
PRESET_ECO_AC,
|
||||||
|
PRESET_COMFORT_AC,
|
||||||
|
PRESET_BOOST_AC,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
PRESET_AWAY_SUFFIX = "_away"
|
PRESET_AWAY_SUFFIX = "_away"
|
||||||
|
|
||||||
CONF_PRESETS_AWAY = {
|
CONF_PRESETS_AWAY = {
|
||||||
p: f"{p}_temp"
|
p: f"{p}_temp"
|
||||||
for p in (
|
for p in (
|
||||||
PRESET_ECO + PRESET_AWAY_SUFFIX,
|
PRESET_ECO + PRESET_AWAY_SUFFIX,
|
||||||
PRESET_BOOST + PRESET_AWAY_SUFFIX,
|
|
||||||
PRESET_COMFORT + PRESET_AWAY_SUFFIX,
|
PRESET_COMFORT + PRESET_AWAY_SUFFIX,
|
||||||
|
PRESET_BOOST + PRESET_AWAY_SUFFIX,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
CONF_PRESETS_AWAY_WITH_AC = {
|
||||||
|
p: f"{p}_temp"
|
||||||
|
for p in (
|
||||||
|
PRESET_ECO + PRESET_AWAY_SUFFIX,
|
||||||
|
PRESET_COMFORT + PRESET_AWAY_SUFFIX,
|
||||||
|
PRESET_BOOST + PRESET_AWAY_SUFFIX,
|
||||||
|
PRESET_ECO_AC + PRESET_AWAY_SUFFIX,
|
||||||
|
PRESET_COMFORT_AC + PRESET_AWAY_SUFFIX,
|
||||||
|
PRESET_BOOST_AC + PRESET_AWAY_SUFFIX,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,6 +122,8 @@ CONF_PRESETS_SELECTIONABLE = [PRESET_ECO, PRESET_COMFORT, PRESET_BOOST]
|
|||||||
|
|
||||||
CONF_PRESETS_VALUES = list(CONF_PRESETS.values())
|
CONF_PRESETS_VALUES = list(CONF_PRESETS.values())
|
||||||
CONF_PRESETS_AWAY_VALUES = list(CONF_PRESETS_AWAY.values())
|
CONF_PRESETS_AWAY_VALUES = list(CONF_PRESETS_AWAY.values())
|
||||||
|
CONF_PRESETS_WITH_AC_VALUES = list(CONF_PRESETS_WITH_AC.values())
|
||||||
|
CONF_PRESETS_AWAY_WITH_AC_VALUES = list(CONF_PRESETS_AWAY_WITH_AC.values())
|
||||||
|
|
||||||
ALL_CONF = (
|
ALL_CONF = (
|
||||||
[
|
[
|
||||||
@@ -130,9 +162,12 @@ ALL_CONF = (
|
|||||||
CONF_USE_MOTION_FEATURE,
|
CONF_USE_MOTION_FEATURE,
|
||||||
CONF_USE_PRESENCE_FEATURE,
|
CONF_USE_PRESENCE_FEATURE,
|
||||||
CONF_USE_POWER_FEATURE,
|
CONF_USE_POWER_FEATURE,
|
||||||
|
CONF_USE_AC_MODE,
|
||||||
]
|
]
|
||||||
+ CONF_PRESETS_VALUES
|
+ CONF_PRESETS_VALUES
|
||||||
+ CONF_PRESETS_AWAY_VALUES,
|
+ CONF_PRESETS_AWAY_VALUES
|
||||||
|
+ CONF_PRESETS_WITH_AC_VALUES
|
||||||
|
+ CONF_PRESETS_AWAY_WITH_AC_VALUES,
|
||||||
)
|
)
|
||||||
|
|
||||||
CONF_FUNCTIONS = [
|
CONF_FUNCTIONS = [
|
||||||
|
|||||||
@@ -30,7 +30,8 @@
|
|||||||
"heater_entity3_id": "3rd Heater switch",
|
"heater_entity3_id": "3rd Heater switch",
|
||||||
"heater_entity4_id": "4th Heater switch",
|
"heater_entity4_id": "4th Heater switch",
|
||||||
"proportional_function": "Algorithm",
|
"proportional_function": "Algorithm",
|
||||||
"climate_entity_id": "Underlying thermostat"
|
"climate_entity_id": "Underlying thermostat",
|
||||||
|
"ac_mode": "AC mode"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Mandatory heater entity id",
|
"heater_entity_id": "Mandatory heater entity id",
|
||||||
@@ -38,7 +39,8 @@
|
|||||||
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
||||||
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
||||||
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
||||||
"climate_entity_id": "Underlying climate entity id"
|
"climate_entity_id": "Underlying climate entity id",
|
||||||
|
"ac_mode": "Use the Air Conditioning (AC) mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -55,7 +57,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Temperature in Eco preset",
|
"eco_temp": "Temperature in Eco preset",
|
||||||
"comfort_temp": "Temperature in Comfort preset",
|
"comfort_temp": "Temperature in Comfort preset",
|
||||||
"boost_temp": "Temperature in Boost preset"
|
"boost_temp": "Temperature in Boost preset",
|
||||||
|
"eco_ac_temp": "Temperature in Eco preset for AC mode",
|
||||||
|
"comfort_ac_temp": "Temperature in Comfort preset for AC mode",
|
||||||
|
"boost_ac_temp": "Temperature in Boost preset for AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -102,7 +107,10 @@
|
|||||||
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
||||||
"eco_away_temp": "Temperature in Eco preset when no presence",
|
"eco_away_temp": "Temperature in Eco preset when no presence",
|
||||||
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
||||||
"boost_away_temp": "Temperature in Boost preset when no presence"
|
"boost_away_temp": "Temperature in Boost preset when no presence",
|
||||||
|
"eco_ac_away_temp": "Temperature in Eco preset when no presence in AC mode",
|
||||||
|
"comfort_ac_away_temp": "Temperature in Comfort preset when no presence in AC mode",
|
||||||
|
"boost_ac_away_temp": "Temperature in Boost preset when no presence in AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
@@ -161,7 +169,8 @@
|
|||||||
"heater_entity3_id": "3rd Heater switch",
|
"heater_entity3_id": "3rd Heater switch",
|
||||||
"heater_entity4_id": "4th Heater switch",
|
"heater_entity4_id": "4th Heater switch",
|
||||||
"proportional_function": "Algorithm",
|
"proportional_function": "Algorithm",
|
||||||
"climate_entity_id": "Underlying thermostat"
|
"climate_entity_id": "Underlying thermostat",
|
||||||
|
"ac_mode": "AC mode"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Mandatory heater entity id",
|
"heater_entity_id": "Mandatory heater entity id",
|
||||||
@@ -169,7 +178,8 @@
|
|||||||
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
||||||
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
||||||
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
||||||
"climate_entity_id": "Underlying climate entity id"
|
"climate_entity_id": "Underlying climate entity id",
|
||||||
|
"ac_mode": "Use the Air Conditioning (AC) mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -186,7 +196,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Temperature in Eco preset",
|
"eco_temp": "Temperature in Eco preset",
|
||||||
"comfort_temp": "Temperature in Comfort preset",
|
"comfort_temp": "Temperature in Comfort preset",
|
||||||
"boost_temp": "Temperature in Boost preset"
|
"boost_temp": "Temperature in Boost preset",
|
||||||
|
"eco_ac_temp": "Temperature in Eco preset for AC mode",
|
||||||
|
"comfort_ac_temp": "Temperature in Comfort preset for AC mode",
|
||||||
|
"boost_ac_temp": "Temperature in Boost preset for AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -233,7 +246,10 @@
|
|||||||
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
||||||
"eco_away_temp": "Temperature in Eco preset when no presence",
|
"eco_away_temp": "Temperature in Eco preset when no presence",
|
||||||
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
||||||
"boost_away_temp": "Temperature in Boost preset when no presence"
|
"boost_away_temp": "Temperature in Boost preset when no presence",
|
||||||
|
"eco_ac_away_temp": "Temperature in Eco preset when no presence in AC mode",
|
||||||
|
"comfort_ac_away_temp": "Temperature in Comfort preset when no presence in AC mode",
|
||||||
|
"boost_ac_away_temp": "Temperature in Boost preset when no presence in AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
|
|||||||
@@ -30,7 +30,8 @@
|
|||||||
"heater_entity3_id": "3rd Heater switch",
|
"heater_entity3_id": "3rd Heater switch",
|
||||||
"heater_entity4_id": "4th Heater switch",
|
"heater_entity4_id": "4th Heater switch",
|
||||||
"proportional_function": "Algorithm",
|
"proportional_function": "Algorithm",
|
||||||
"climate_entity_id": "Underlying thermostat"
|
"climate_entity_id": "Underlying thermostat",
|
||||||
|
"ac_mode": "AC mode"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Mandatory heater entity id",
|
"heater_entity_id": "Mandatory heater entity id",
|
||||||
@@ -38,7 +39,8 @@
|
|||||||
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
||||||
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
||||||
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
||||||
"climate_entity_id": "Underlying climate entity id"
|
"climate_entity_id": "Underlying climate entity id",
|
||||||
|
"ac_mode": "Use the Air Conditioning (AC) mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -55,7 +57,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Temperature in Eco preset",
|
"eco_temp": "Temperature in Eco preset",
|
||||||
"comfort_temp": "Temperature in Comfort preset",
|
"comfort_temp": "Temperature in Comfort preset",
|
||||||
"boost_temp": "Temperature in Boost preset"
|
"boost_temp": "Temperature in Boost preset",
|
||||||
|
"eco_ac_temp": "Temperature in Eco preset for AC mode",
|
||||||
|
"comfort_ac_temp": "Temperature in Comfort preset for AC mode",
|
||||||
|
"boost_ac_temp": "Temperature in Boost preset for AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -102,7 +107,10 @@
|
|||||||
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
||||||
"eco_away_temp": "Temperature in Eco preset when no presence",
|
"eco_away_temp": "Temperature in Eco preset when no presence",
|
||||||
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
||||||
"boost_away_temp": "Temperature in Boost preset when no presence"
|
"boost_away_temp": "Temperature in Boost preset when no presence",
|
||||||
|
"eco_ac_away_temp": "Temperature in Eco preset when no presence in AC mode",
|
||||||
|
"comfort_ac_away_temp": "Temperature in Comfort preset when no presence in AC mode",
|
||||||
|
"boost_ac_away_temp": "Temperature in Boost preset when no presence in AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
@@ -161,7 +169,8 @@
|
|||||||
"heater_entity3_id": "3rd Heater switch",
|
"heater_entity3_id": "3rd Heater switch",
|
||||||
"heater_entity4_id": "4th Heater switch",
|
"heater_entity4_id": "4th Heater switch",
|
||||||
"proportional_function": "Algorithm",
|
"proportional_function": "Algorithm",
|
||||||
"climate_entity_id": "Underlying thermostat"
|
"climate_entity_id": "Underlying thermostat",
|
||||||
|
"ac_mode": "AC mode"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Mandatory heater entity id",
|
"heater_entity_id": "Mandatory heater entity id",
|
||||||
@@ -169,7 +178,8 @@
|
|||||||
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
"heater_entity3_id": "Optional 3rd Heater entity id. Leave empty if not used",
|
||||||
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
"heater_entity4_id": "Optional 4th Heater entity id. Leave empty if not used",
|
||||||
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
"proportional_function": "Algorithm to use (TPI is the only one for now)",
|
||||||
"climate_entity_id": "Underlying climate entity id"
|
"climate_entity_id": "Underlying climate entity id",
|
||||||
|
"ac_mode": "Use the Air Conditioning (AC) mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -186,7 +196,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Temperature in Eco preset",
|
"eco_temp": "Temperature in Eco preset",
|
||||||
"comfort_temp": "Temperature in Comfort preset",
|
"comfort_temp": "Temperature in Comfort preset",
|
||||||
"boost_temp": "Temperature in Boost preset"
|
"boost_temp": "Temperature in Boost preset",
|
||||||
|
"eco_ac_temp": "Temperature in Eco preset for AC mode",
|
||||||
|
"comfort_ac_temp": "Temperature in Comfort preset for AC mode",
|
||||||
|
"boost_ac_temp": "Temperature in Boost preset for AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -233,7 +246,10 @@
|
|||||||
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
"presence_sensor_entity_id": "Presence sensor entity id (true is present)",
|
||||||
"eco_away_temp": "Temperature in Eco preset when no presence",
|
"eco_away_temp": "Temperature in Eco preset when no presence",
|
||||||
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
"comfort_away_temp": "Temperature in Comfort preset when no presence",
|
||||||
"boost_away_temp": "Temperature in Boost preset when no presence"
|
"boost_away_temp": "Temperature in Boost preset when no presence",
|
||||||
|
"eco_ac_away_temp": "Temperature in Eco preset when no presence in AC mode",
|
||||||
|
"comfort_ac_away_temp": "Temperature in Comfort preset when no presence in AC mode",
|
||||||
|
"boost_ac_away_temp": "Temperature in Boost preset when no presence in AC mode"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
|
|||||||
@@ -29,7 +29,8 @@
|
|||||||
"heater_entity3_id": "3ème radiateur",
|
"heater_entity3_id": "3ème radiateur",
|
||||||
"heater_entity4_id": "4ème radiateur",
|
"heater_entity4_id": "4ème radiateur",
|
||||||
"proportional_function": "Algorithme",
|
"proportional_function": "Algorithme",
|
||||||
"climate_entity_id": "Thermostat sous-jacent"
|
"climate_entity_id": "Thermostat sous-jacent",
|
||||||
|
"ac_mode": "AC mode ?"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Entity id du 1er radiateur obligatoire",
|
"heater_entity_id": "Entity id du 1er radiateur obligatoire",
|
||||||
@@ -37,7 +38,8 @@
|
|||||||
"heater_entity3_id": "Optionnel entity id du 3ème radiateur",
|
"heater_entity3_id": "Optionnel entity id du 3ème radiateur",
|
||||||
"heater_entity4_id": "Optionnel entity id du 4ème radiateur",
|
"heater_entity4_id": "Optionnel entity id du 4ème radiateur",
|
||||||
"proportional_function": "Algorithme à utiliser (Seul TPI est disponible pour l'instant)",
|
"proportional_function": "Algorithme à utiliser (Seul TPI est disponible pour l'instant)",
|
||||||
"climate_entity_id": "Entity id du thermostat sous-jacent"
|
"climate_entity_id": "Entity id du thermostat sous-jacent",
|
||||||
|
"ac_mode": "Utilisation du mode Air Conditionné (AC)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -54,7 +56,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Température en preset Eco",
|
"eco_temp": "Température en preset Eco",
|
||||||
"comfort_temp": "Température en preset Comfort",
|
"comfort_temp": "Température en preset Comfort",
|
||||||
"boost_temp": "Température en preset Boost"
|
"boost_temp": "Température en preset Boost",
|
||||||
|
"eco_ac_temp": "Température en preset Eco en mode AC",
|
||||||
|
"comfort_ac_temp": "Température en preset Comfort en mode AC",
|
||||||
|
"boost_ac_temp": "Température en preset Boost en mode AC"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -101,7 +106,10 @@
|
|||||||
"presence_sensor_entity_id": "Capteur de présence entity id (true si quelqu'un est présent)",
|
"presence_sensor_entity_id": "Capteur de présence entity id (true si quelqu'un est présent)",
|
||||||
"eco_away_temp": "Température en preset Eco en cas d'absence",
|
"eco_away_temp": "Température en preset Eco en cas d'absence",
|
||||||
"comfort_away_temp": "Température en preset Comfort en cas d'absence",
|
"comfort_away_temp": "Température en preset Comfort en cas d'absence",
|
||||||
"boost_away_temp": "Température en preset Boost en cas d'absence"
|
"boost_away_temp": "Température en preset Boost en cas d'absence",
|
||||||
|
"eco_ac_away_temp": "Température en preset Eco en cas d'absence en mode AC",
|
||||||
|
"comfort_ac_away_temp": "Température en preset Comfort en cas d'absence en mode AC",
|
||||||
|
"boost_ac_away_temp": "Température en preset Boost en cas d'absence en mode AC"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
@@ -161,7 +169,8 @@
|
|||||||
"heater_entity3_id": "3ème radiateur",
|
"heater_entity3_id": "3ème radiateur",
|
||||||
"heater_entity4_id": "4ème radiateur",
|
"heater_entity4_id": "4ème radiateur",
|
||||||
"proportional_function": "Algorithme",
|
"proportional_function": "Algorithme",
|
||||||
"climate_entity_id": "Thermostat sous-jacent"
|
"climate_entity_id": "Thermostat sous-jacent",
|
||||||
|
"ac_mode": "AC mode ?"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Entity id du 1er radiateur obligatoire",
|
"heater_entity_id": "Entity id du 1er radiateur obligatoire",
|
||||||
@@ -169,7 +178,8 @@
|
|||||||
"heater_entity3_id": "Optionnel entity id du 3ème radiateur",
|
"heater_entity3_id": "Optionnel entity id du 3ème radiateur",
|
||||||
"heater_entity4_id": "Optionnel entity id du 4ème radiateur",
|
"heater_entity4_id": "Optionnel entity id du 4ème radiateur",
|
||||||
"proportional_function": "Algorithme à utiliser (Seul TPI est disponible pour l'instant)",
|
"proportional_function": "Algorithme à utiliser (Seul TPI est disponible pour l'instant)",
|
||||||
"climate_entity_id": "Entity id du thermostat sous-jacent"
|
"climate_entity_id": "Entity id du thermostat sous-jacent",
|
||||||
|
"ac_mode": "Utilisation du mode Air Conditionné (AC)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -186,7 +196,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Température en preset Eco",
|
"eco_temp": "Température en preset Eco",
|
||||||
"comfort_temp": "Température en preset Comfort",
|
"comfort_temp": "Température en preset Comfort",
|
||||||
"boost_temp": "Température en preset Boost"
|
"boost_temp": "Température en preset Boost",
|
||||||
|
"eco_ac_temp": "Température en preset Eco en mode AC",
|
||||||
|
"comfort_ac_temp": "Température en preset Comfort en mode AC",
|
||||||
|
"boost_ac_temp": "Température en preset Boost en mode AC"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -233,7 +246,10 @@
|
|||||||
"presence_sensor_entity_id": "Capteur de présence entity id (true si quelqu'un est présent)",
|
"presence_sensor_entity_id": "Capteur de présence entity id (true si quelqu'un est présent)",
|
||||||
"eco_away_temp": "Température en preset Eco en cas d'absence",
|
"eco_away_temp": "Température en preset Eco en cas d'absence",
|
||||||
"comfort_away_temp": "Température en preset Comfort en cas d'absence",
|
"comfort_away_temp": "Température en preset Comfort en cas d'absence",
|
||||||
"boost_away_temp": "Température en preset Boost en cas d'absence"
|
"boost_away_temp": "Température en preset Boost en cas d'absence",
|
||||||
|
"eco_ac_away_temp": "Température en preset Eco en cas d'absence en mode AC",
|
||||||
|
"comfort_ac_away_temp": "Température en preset Comfort en cas d'absence en mode AC",
|
||||||
|
"boost_ac_away_temp": "Température en preset Boost en cas d'absence en mode AC"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
|
|||||||
@@ -30,7 +30,8 @@
|
|||||||
"heater_entity3_id": "Terzo riscaldatore",
|
"heater_entity3_id": "Terzo riscaldatore",
|
||||||
"heater_entity4_id": "Quarto riscaldatore",
|
"heater_entity4_id": "Quarto riscaldatore",
|
||||||
"proportional_function": "Algoritmo",
|
"proportional_function": "Algoritmo",
|
||||||
"climate_entity_id": "Termostato sottostante"
|
"climate_entity_id": "Termostato sottostante",
|
||||||
|
"ac_mode": "AC mode ?"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Entity id obbligatoria del primo riscaldatore",
|
"heater_entity_id": "Entity id obbligatoria del primo riscaldatore",
|
||||||
@@ -38,7 +39,8 @@
|
|||||||
"heater_entity3_id": "Entity id del terzo riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
"heater_entity3_id": "Entity id del terzo riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
||||||
"heater_entity4_id": "Entity id del quarto riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
"heater_entity4_id": "Entity id del quarto riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
||||||
"proportional_function": "Algoritmo da utilizzare (il TPI per adesso è l'unico)",
|
"proportional_function": "Algoritmo da utilizzare (il TPI per adesso è l'unico)",
|
||||||
"climate_entity_id": "Entity id del termostato sottostante"
|
"climate_entity_id": "Entity id del termostato sottostante",
|
||||||
|
"ac_mode": "Utilizzare la modalità AC (Air Conditioned) ?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -55,7 +57,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Temperatura nel preset Eco",
|
"eco_temp": "Temperatura nel preset Eco",
|
||||||
"comfort_temp": "Temperatura nel preset Comfort",
|
"comfort_temp": "Temperatura nel preset Comfort",
|
||||||
"boost_temp": "Temperatura nel preset Boost"
|
"boost_temp": "Temperatura nel preset Boost",
|
||||||
|
"eco_ac_temp": "Temperatura nel preset Eco (AC mode)",
|
||||||
|
"comfort_ac_temp": "Temperatura nel preset Comfort (AC mode)",
|
||||||
|
"boost_ac_temp": "Temperatura nel preset Boost (AC mode)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -102,7 +107,10 @@
|
|||||||
"presence_sensor_entity_id": "Entity id sensore presenza (true se è presente qualcuno)",
|
"presence_sensor_entity_id": "Entity id sensore presenza (true se è presente qualcuno)",
|
||||||
"eco_away_temp": "Temperatura al preset Eco in caso d'assenza",
|
"eco_away_temp": "Temperatura al preset Eco in caso d'assenza",
|
||||||
"comfort_away_temp": "Temperatura al preset Comfort in caso d'assenza",
|
"comfort_away_temp": "Temperatura al preset Comfort in caso d'assenza",
|
||||||
"boost_away_temp": "Temperatura al preset Boost in caso d'assenza"
|
"boost_away_temp": "Temperatura al preset Boost in caso d'assenza",
|
||||||
|
"eco_ac_away_temp": "Temperatura al preset Eco in caso d'assenza (AC mode)",
|
||||||
|
"comfort_ac_away_temp": "Temperatura al preset Comfort in caso d'assenza (AC mode)",
|
||||||
|
"boost_ac_away_temp": "Temperatura al preset Boost in caso d'assenza (AC mode)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
@@ -161,7 +169,8 @@
|
|||||||
"heater_entity3_id": "Terzo interruttore riscaldatore",
|
"heater_entity3_id": "Terzo interruttore riscaldatore",
|
||||||
"heater_entity4_id": "Quarto interruttore riscaldatore",
|
"heater_entity4_id": "Quarto interruttore riscaldatore",
|
||||||
"proportional_function": "Algoritmo",
|
"proportional_function": "Algoritmo",
|
||||||
"climate_entity_id": "Termostato sottostante"
|
"climate_entity_id": "Termostato sottostante",
|
||||||
|
"ac_mode": "AC mode ?"
|
||||||
},
|
},
|
||||||
"data_description": {
|
"data_description": {
|
||||||
"heater_entity_id": "Entity id obbligatoria del primo riscaldatore",
|
"heater_entity_id": "Entity id obbligatoria del primo riscaldatore",
|
||||||
@@ -169,7 +178,8 @@
|
|||||||
"heater_entity3_id": "Entity id del terzo riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
"heater_entity3_id": "Entity id del terzo riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
||||||
"heater_entity4_id": "Entity id del quarto riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
"heater_entity4_id": "Entity id del quarto riscaldatore facoltativo. Lasciare vuoto se non utilizzato",
|
||||||
"proportional_function": "Algoritmo da utilizzare (il TPI per adesso è l'unico)",
|
"proportional_function": "Algoritmo da utilizzare (il TPI per adesso è l'unico)",
|
||||||
"climate_entity_id": "Entity id del termostato sottostante"
|
"climate_entity_id": "Entity id del termostato sottostante",
|
||||||
|
"ac_mode": "Utilizzare la modalità AC (Air Conditioned) ?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tpi": {
|
"tpi": {
|
||||||
@@ -186,7 +196,10 @@
|
|||||||
"data": {
|
"data": {
|
||||||
"eco_temp": "Temperatura nel preset Eco",
|
"eco_temp": "Temperatura nel preset Eco",
|
||||||
"comfort_temp": "Temperatura nel preset Comfort",
|
"comfort_temp": "Temperatura nel preset Comfort",
|
||||||
"boost_temp": "Temperatura nel preset Boost"
|
"boost_temp": "Temperatura nel preset Boost",
|
||||||
|
"eco_ac_temp": "Temperatura nel preset Eco (AC mode)",
|
||||||
|
"comfort_ac_temp": "Temperatura nel preset Comfort (AC mode)",
|
||||||
|
"boost_ac_temp": "Temperatura nel preset Boost (AC mode)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"window": {
|
"window": {
|
||||||
@@ -233,7 +246,10 @@
|
|||||||
"presence_sensor_entity_id": "Entity id sensore presenza (true se è presente qualcuno)",
|
"presence_sensor_entity_id": "Entity id sensore presenza (true se è presente qualcuno)",
|
||||||
"eco_away_temp": "Temperatura al preset Eco in caso d'assenza",
|
"eco_away_temp": "Temperatura al preset Eco in caso d'assenza",
|
||||||
"comfort_away_temp": "Temperatura al preset Comfort in caso d'assenza",
|
"comfort_away_temp": "Temperatura al preset Comfort in caso d'assenza",
|
||||||
"boost_away_temp": "Temperatura al preset Boost in caso d'assenza"
|
"boost_away_temp": "Temperatura al preset Boost in caso d'assenza",
|
||||||
|
"eco_ac_away_temp": "Temperatura al preset Eco in caso d'assenza (AC mode)",
|
||||||
|
"comfort_ac_away_temp": "Temperatura al preset Comfort in caso d'assenza (AC mode)",
|
||||||
|
"boost_ac_away_temp": "Temperatura al preset Boost in caso d'assenza (AC mode)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"advanced": {
|
"advanced": {
|
||||||
|
|||||||
Reference in New Issue
Block a user