mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 15:59:52 +03:00
make Moduline 200 behave like RC10
This commit is contained in:
24
src/ems.cpp
24
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);
|
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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user