From 5a7da199ed8a86319e8eb0c95996e0487c703860 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 28 Jun 2024 17:51:37 +0200 Subject: [PATCH 1/2] fix manualtemp for CR120 #1779 --- src/devices/thermostat.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index 3570f3136..8ebcef611 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -461,10 +461,6 @@ void Thermostat::add_ha_climate(std::shared_ptr hc) const { uint8_t Thermostat::HeatingCircuit::get_mode() const { uint8_t model = get_model(); - if (!Helpers::hasValue(mode)) { - return HeatingCircuit::Mode::UNKNOWN; - } - if (model == EMSdevice::EMS_DEVICE_FLAG_RC10) { if (mode == 2) { return HeatingCircuit::Mode::DAY; @@ -488,11 +484,11 @@ uint8_t Thermostat::HeatingCircuit::get_mode() const { return HeatingCircuit::Mode::OFF; } } else if (model == EMSdevice::EMS_DEVICE_FLAG_BC400 || model == EMSdevice::EMS_DEVICE_FLAG_CR120) { - if (mode == 0) { + if (mode_new == 0) { return HeatingCircuit::Mode::OFF; - } else if (mode == 1) { + } else if (mode_new == 1) { return HeatingCircuit::Mode::MANUAL; - } else if (mode == 2) { + } else if (mode_new == 2) { return HeatingCircuit::Mode::AUTO; } } else if ((model == EMSdevice::EMS_DEVICE_FLAG_RC300) || (model == EMSdevice::EMS_DEVICE_FLAG_R3000) || (model == EMSdevice::EMS_DEVICE_FLAG_RC100)) { @@ -1103,7 +1099,11 @@ void Thermostat::process_RC300Set(std::shared_ptr telegram) { } has_update(hc->tempautotemp, tat); - has_update(telegram, hc->manualtemp, 10); // is * 2 + if (model() == EMS_DEVICE_FLAG_CR120) { + has_update(telegram, hc->manualtemp, 22); // is * 2 + } else { + has_update(telegram, hc->manualtemp, 10); // is * 2 + } has_enumupdate(telegram, hc->program, 11, 1); // timer program 1 or 2 has_enumupdate(telegram, hc->reducemode, 5, 1); // 1-outdoor temp threshold, 2-room temp threshold, 3-reduced mode From e63090573aa9796784db611de4ebcf49c80bdce1 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 28 Jun 2024 17:51:58 +0200 Subject: [PATCH 2/2] CR120: dhw modes off/comfort/auto --- src/locale_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locale_common.h b/src/locale_common.h index 5ffc9db67..7d906bdd6 100644 --- a/src/locale_common.h +++ b/src/locale_common.h @@ -305,7 +305,7 @@ MAKE_ENUM(enum_wwMode2, FL_(off), FL_(on), FL_(auto)) MAKE_ENUM(enum_wwMode3, FL_(on), FL_(off), FL_(auto)) MAKE_ENUM(enum_wwMode4, FL_(off), FL_(ecoplus), FL_(eco), FL_(comfort), FL_(auto)) MAKE_ENUM(enum_wwMode5, FL_(normal), FL_(comfort), FL_(ecoplus)) // Rego3000 -MAKE_ENUM(enum_wwMode6, FL_(normal), FL_(comfort), FL_(auto)) // CR120 +MAKE_ENUM(enum_wwMode6, FL_(off), FL_(comfort), FL_(auto)) // CR120 MAKE_ENUM(enum_heatingtype, FL_(off), FL_(radiator), FL_(convector), FL_(floor)) MAKE_ENUM(enum_heatingtype1, FL_(off), FL_(curve), FL_(radiator), FL_(convector), FL_(floor)) MAKE_ENUM(enum_summermode, FL_(summer), FL_(auto), FL_(winter))