mirror of
https://github.com/home-assistant/core.git
synced 2025-07-08 13:57:10 +00:00
Add possibility to have multiple values for every modbus hvac mode (#98829)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
This commit is contained in:
parent
7a690d7359
commit
4632a07f3f
@ -240,13 +240,27 @@ CLIMATE_SCHEMA = vol.All(
|
|||||||
{
|
{
|
||||||
CONF_ADDRESS: cv.positive_int,
|
CONF_ADDRESS: cv.positive_int,
|
||||||
CONF_HVAC_MODE_VALUES: {
|
CONF_HVAC_MODE_VALUES: {
|
||||||
vol.Optional(CONF_HVAC_MODE_OFF): cv.positive_int,
|
vol.Optional(CONF_HVAC_MODE_OFF): vol.Any(
|
||||||
vol.Optional(CONF_HVAC_MODE_HEAT): cv.positive_int,
|
cv.positive_int, [cv.positive_int]
|
||||||
vol.Optional(CONF_HVAC_MODE_COOL): cv.positive_int,
|
),
|
||||||
vol.Optional(CONF_HVAC_MODE_HEAT_COOL): cv.positive_int,
|
vol.Optional(CONF_HVAC_MODE_HEAT): vol.Any(
|
||||||
vol.Optional(CONF_HVAC_MODE_AUTO): cv.positive_int,
|
cv.positive_int, [cv.positive_int]
|
||||||
vol.Optional(CONF_HVAC_MODE_DRY): cv.positive_int,
|
),
|
||||||
vol.Optional(CONF_HVAC_MODE_FAN_ONLY): cv.positive_int,
|
vol.Optional(CONF_HVAC_MODE_COOL): vol.Any(
|
||||||
|
cv.positive_int, [cv.positive_int]
|
||||||
|
),
|
||||||
|
vol.Optional(CONF_HVAC_MODE_HEAT_COOL): vol.Any(
|
||||||
|
cv.positive_int, [cv.positive_int]
|
||||||
|
),
|
||||||
|
vol.Optional(CONF_HVAC_MODE_AUTO): vol.Any(
|
||||||
|
cv.positive_int, [cv.positive_int]
|
||||||
|
),
|
||||||
|
vol.Optional(CONF_HVAC_MODE_DRY): vol.Any(
|
||||||
|
cv.positive_int, [cv.positive_int]
|
||||||
|
),
|
||||||
|
vol.Optional(CONF_HVAC_MODE_FAN_ONLY): vol.Any(
|
||||||
|
cv.positive_int, [cv.positive_int]
|
||||||
|
),
|
||||||
},
|
},
|
||||||
vol.Optional(CONF_WRITE_REGISTERS, default=False): cv.boolean,
|
vol.Optional(CONF_WRITE_REGISTERS, default=False): cv.boolean,
|
||||||
}
|
}
|
||||||
|
@ -124,9 +124,11 @@ class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity):
|
|||||||
(CONF_HVAC_MODE_FAN_ONLY, HVACMode.FAN_ONLY),
|
(CONF_HVAC_MODE_FAN_ONLY, HVACMode.FAN_ONLY),
|
||||||
):
|
):
|
||||||
if hvac_mode_kw in mode_value_config:
|
if hvac_mode_kw in mode_value_config:
|
||||||
self._hvac_mode_mapping.append(
|
values = mode_value_config[hvac_mode_kw]
|
||||||
(mode_value_config[hvac_mode_kw], hvac_mode)
|
if not isinstance(values, list):
|
||||||
)
|
values = [values]
|
||||||
|
for value in values:
|
||||||
|
self._hvac_mode_mapping.append((value, hvac_mode))
|
||||||
self._attr_hvac_modes.append(hvac_mode)
|
self._attr_hvac_modes.append(hvac_mode)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user