From d583409af459242489727184d70c6e319eff2505 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sun, 27 Nov 2022 19:02:54 +0100 Subject: [PATCH] set mode for ha climate, fix #772 --- src/devices/thermostat.cpp | 6 +++++- src/locale_common.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index dd000c709..12bce02dc 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -2251,7 +2251,11 @@ bool Thermostat::set_mode(const char * value, const int8_t id) { } else { // check for the mode being a full string name if (!Helpers::value2enum(value, enum_index, mode_list)) { - return false; // not found + mode_list = FL_(enum_mode_ha); + if (Mqtt::ha_enabled() && !Helpers::value2enum(value, enum_index, mode_list)) { + LOG_WARNING("wrong mode: %s", value); + return false; // not found + } } } diff --git a/src/locale_common.h b/src/locale_common.h index 419fb3d2a..fdc4b59fa 100644 --- a/src/locale_common.h +++ b/src/locale_common.h @@ -278,6 +278,7 @@ MAKE_PSTR_ENUM(enum_mode3, FL_(night), FL_(day), FL_(auto)) // RC35 MAKE_PSTR_ENUM(enum_mode4, FL_(nofrost), FL_(eco), FL_(heat), FL_(auto)) // JUNKERS MAKE_PSTR_ENUM(enum_mode5, FL_(auto), FL_(off)) // CRF MAKE_PSTR_ENUM(enum_mode6, FL_(nofrost), FL_(night), FL_(day)) // RC10 +MAKE_PSTR_ENUM(enum_mode_ha, FL_(off), FL_(heat), FL_(auto)) // HA climate MAKE_PSTR_ENUM(enum_modetype, FL_(eco), FL_(comfort)) MAKE_PSTR_ENUM(enum_modetype3, FL_(night), FL_(day))