From 70fe08a3c8162de61719df5fb5d8fdc651dd2752 Mon Sep 17 00:00:00 2001 From: MichaelDvP <59284019+MichaelDvP@users.noreply.github.com> Date: Mon, 27 Jun 2022 16:45:32 +0200 Subject: [PATCH] fix #550 set_summermode --- src/devices/thermostat.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index 14655bc0e..2584788b6 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -2421,18 +2421,19 @@ bool Thermostat::set_summermode(const char * value, const int8_t id) { uint8_t set = 0xFF; if (is_fetch(summer2_typeids[hc->hc()])) { - if (!Helpers::value2enum(value, set, FL_(enum_hpoperatingmode))) { - return false; - } - write_command(summer2_typeids[hc->hc()], 0, set, summer2_typeids[hc->hc()]); - } else { - if (!Helpers::value2enum(value, set, FL_(enum_summermode))) { - return false; + if ((hc->statusbyte & 1) && Helpers::value2enum(value, set, FL_(enum_summermode))) { + write_command(summer2_typeids[hc->hc()], 0, set, summer2_typeids[hc->hc()]); + return true; + } else if (Helpers::value2enum(value, set, FL_(enum_hpoperatingmode))) { + write_command(summer2_typeids[hc->hc()], 0, set, summer2_typeids[hc->hc()]); + return true; } + } else if (Helpers::value2enum(value, set, FL_(enum_summermode))) { write_command(summer_typeids[hc->hc()], 7, set, summer_typeids[hc->hc()]); + return true; } - return true; + return false; } // Set fastheatupfactor, ems+