support boolean for HVAC Eco preset
This commit is contained in:
@@ -42,6 +42,7 @@ from .const import (
|
||||
CONF_TEMP_MIN,
|
||||
CONF_ECO_DP,
|
||||
CONF_ECO_VALUE,
|
||||
CONF_ECO_VALUE_BOOL,
|
||||
CONF_HEURISTIC_ACTION,
|
||||
CONF_HVAC_ACTION_DP,
|
||||
CONF_HVAC_ACTION_SET,
|
||||
@@ -168,6 +169,7 @@ def flow_schema(dps):
|
||||
vol.Optional(CONF_HVAC_ACTION_SET): vol.In(list(HVAC_ACTION_SETS.keys())),
|
||||
vol.Optional(CONF_ECO_DP): vol.In(dps),
|
||||
vol.Optional(CONF_ECO_VALUE): str,
|
||||
vol.Optional(CONF_ECO_VALUE_BOOL): bool,
|
||||
vol.Optional(CONF_PRESET_DP): vol.In(dps),
|
||||
vol.Optional(CONF_PRESET_SET): vol.In(list(PRESET_SETS.keys())),
|
||||
vol.Optional(CONF_TEMPERATURE_UNIT): vol.In(
|
||||
@@ -224,6 +226,7 @@ class LocaltuyaClimate(LocalTuyaEntity, ClimateEntity):
|
||||
)
|
||||
self._conf_eco_dp = self._config.get(CONF_ECO_DP)
|
||||
self._conf_eco_value = self._config.get(CONF_ECO_VALUE, "ECO")
|
||||
self._conf_eco_value_bool = self._config.get(CONF_ECO_VALUE_BOOL)
|
||||
self._has_presets = self.has_config(CONF_ECO_DP) or self.has_config(
|
||||
CONF_PRESET_DP
|
||||
)
|
||||
@@ -413,7 +416,10 @@ class LocaltuyaClimate(LocalTuyaEntity, ClimateEntity):
|
||||
async def async_set_preset_mode(self, preset_mode):
|
||||
"""Set new target preset mode."""
|
||||
if preset_mode == PRESET_ECO:
|
||||
await self._device.set_dp(self._conf_eco_value, self._conf_eco_dp)
|
||||
if self._conf_eco_value_bool:
|
||||
await self._device.set_dp(True, self._conf_eco_dp)
|
||||
else:
|
||||
await self._device.set_dp(self._conf_eco_value, self._conf_eco_dp)
|
||||
return
|
||||
await self._device.set_dp(
|
||||
self._conf_preset_set[preset_mode], self._conf_preset_dp
|
||||
|
Reference in New Issue
Block a user