make Moduline 200 behave like RC10

This commit is contained in:
Paul
2020-02-28 14:22:41 +01:00
parent 51535a2dcf
commit 81188eccd9
2 changed files with 16 additions and 12 deletions

View File

@@ -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); 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) { if (model == EMS_DEVICE_FLAG_RC10) {
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) {
EMS_TxTelegram.type = EMS_TYPE_RC10Set; EMS_TxTelegram.type = EMS_TYPE_RC10Set;
EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp; EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp;
EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage;
EMS_TxTelegram.type_validate = EMS_TxTelegram.type; 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.type = EMS_TYPE_RC30Set;
EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp;
EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage;
EMS_TxTelegram.type_validate = EMS_TxTelegram.type; 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 // check mode to determine offset
if (EMS_Thermostat.hc[hc_num - 1].mode == 1) { // auto if (EMS_Thermostat.hc[hc_num - 1].mode == 1) { // auto
EMS_TxTelegram.offset = 0x08; // auto offset 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 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) { switch (temptype) {
case 1: // change the night temp case 1: // change the night temp
EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night;

View File

@@ -274,8 +274,8 @@ static const _EMS_Device EMS_Devices[] = {
// Buderus/Nefit specific // 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 {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 {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 {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10
{86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10