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
2 changed files with 26 additions and 10 deletions
|
@ -240,13 +240,27 @@ CLIMATE_SCHEMA = vol.All(
|
|||
{
|
||||
CONF_ADDRESS: cv.positive_int,
|
||||
CONF_HVAC_MODE_VALUES: {
|
||||
vol.Optional(CONF_HVAC_MODE_OFF): cv.positive_int,
|
||||
vol.Optional(CONF_HVAC_MODE_HEAT): 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_AUTO): 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_OFF): vol.Any(
|
||||
cv.positive_int, [cv.positive_int]
|
||||
),
|
||||
vol.Optional(CONF_HVAC_MODE_HEAT): vol.Any(
|
||||
cv.positive_int, [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,
|
||||
}
|
||||
|
|
|
@ -124,9 +124,11 @@ class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity):
|
|||
(CONF_HVAC_MODE_FAN_ONLY, HVACMode.FAN_ONLY),
|
||||
):
|
||||
if hvac_mode_kw in mode_value_config:
|
||||
self._hvac_mode_mapping.append(
|
||||
(mode_value_config[hvac_mode_kw], hvac_mode)
|
||||
)
|
||||
values = mode_value_config[hvac_mode_kw]
|
||||
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)
|
||||
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue