diff --git a/src/ems.cpp b/src/ems.cpp index 6ed0e7f61..3f92dd7ac 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -2331,25 +2331,28 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d"), _float_to_char(s, temperature), hc_num); } - if (model == EMS_DEVICE_FLAG_RC20) { - EMS_TxTelegram.type = EMS_TYPE_RC20Set; - EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; - - } else if (model == EMS_DEVICE_FLAG_RC10) { + if (model == EMS_DEVICE_FLAG_RC10) { EMS_TxTelegram.type = EMS_TYPE_RC10Set; EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } - } else if (model == EMS_DEVICE_FLAG_RC30) { + else if (model == EMS_DEVICE_FLAG_RC20) { + EMS_TxTelegram.type = EMS_TYPE_RC20Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } + + else if (model == EMS_DEVICE_FLAG_RC30) { EMS_TxTelegram.type = EMS_TYPE_RC30Set; EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } - } else if (model == EMS_DEVICE_FLAG_RC300) { + else if (model == EMS_DEVICE_FLAG_RC300) { // check mode to determine offset if (EMS_Thermostat.hc[hc_num - 1].mode == 1) { // auto EMS_TxTelegram.offset = 0x08; // auto offset @@ -2372,8 +2375,9 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) } EMS_TxTelegram.type_validate = EMS_ID_NONE; // validate by reading from a different telegram + } - } else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { + else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { switch (temptype) { case 1: // change the night temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; diff --git a/src/ems_devices.h b/src/ems_devices.h index d95c8e190..75b6e2001 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -273,9 +273,9 @@ static const _EMS_Device EMS_Devices[] = { {157, EMS_DEVICE_TYPE_THERMOSTAT, "Buderus RC200/Bosch CW100/Junkers CW100", EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write // Buderus/Nefit specific - {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 + {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 + {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC10}, // 0x17 {77, EMS_DEVICE_TYPE_THERMOSTAT, "RC20/Moduline 300", EMS_DEVICE_FLAG_RC20}, // 0x17 - {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC20}, // 0x17 {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30N}, // 0x10 - based on RC35 {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10