mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-10 01:39:54 +03:00
Merge branch 'idf4' into idf4_no_master
This commit is contained in:
@@ -1163,7 +1163,7 @@ bool Boiler::set_ww_temp(const char * value, const int8_t id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (is_fetch(EMS_TYPE_UBAParametersPlus)) {
|
||||
if (is_fetch(EMS_TYPE_UBAParameterWWPlus)) {
|
||||
// write_command(EMS_TYPE_UBAFlags, 3, v, EMS_TYPE_UBAParameterWWPlus); // test for #96
|
||||
write_command(EMS_TYPE_UBAParameterWWPlus, 6, v, EMS_TYPE_UBAParameterWWPlus);
|
||||
} else {
|
||||
@@ -1205,7 +1205,7 @@ bool Boiler::set_ww_disinfect_temp(const char * value, const int8_t id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (is_fetch(EMS_TYPE_UBAParametersPlus)) {
|
||||
if (is_fetch(EMS_TYPE_UBAParameterWWPlus)) {
|
||||
write_command(EMS_TYPE_UBAParameterWWPlus, 12, v, EMS_TYPE_UBAParameterWWPlus);
|
||||
} else {
|
||||
write_command(EMS_TYPE_UBAParameterWW, 8, v, EMS_TYPE_UBAParameterWW);
|
||||
|
||||
@@ -936,7 +936,7 @@ void Thermostat::process_RC300Summer(std::shared_ptr<const Telegram> telegram) {
|
||||
has_update(telegram, hc->offsettemp, 2);
|
||||
if (!is_fetch(summer2_typeids[hc->hc()])) {
|
||||
has_update(telegram, hc->summertemp, 6);
|
||||
has_update(telegram, hc->summer_setmode, 7);
|
||||
has_update(telegram, hc->summersetmode, 7);
|
||||
}
|
||||
|
||||
if (hc->heatingtype < 3) {
|
||||
@@ -956,7 +956,7 @@ void Thermostat::process_RC300Summer2(std::shared_ptr<const Telegram> telegram)
|
||||
if (hc == nullptr) {
|
||||
return;
|
||||
}
|
||||
has_update(telegram, hc->summer_setmode, 0);
|
||||
has_update(telegram, hc->hpoperatingmode, 0);
|
||||
has_update(telegram, hc->summertemp, 1);
|
||||
}
|
||||
|
||||
@@ -1209,7 +1209,8 @@ void Thermostat::process_RC35Set(std::shared_ptr<const Telegram> telegram) {
|
||||
has_update(telegram, hc->vacreducemode, 41); // vacations reduce mode
|
||||
has_update(telegram, hc->minflowtemp, 16);
|
||||
|
||||
if (hc->heatingtype == 3) { // floor heating
|
||||
// RC35 stores values for floorheating in different position
|
||||
if (hc->heatingtype == 3 && model() == EMS_DEVICE_FLAG_RC35) {
|
||||
has_update(telegram, hc->designtemp, 36); // is * 1
|
||||
has_update(telegram, hc->maxflowtemp, 35); // is * 1
|
||||
} else { // radiator/convector
|
||||
@@ -2309,13 +2310,16 @@ bool Thermostat::set_summermode(const char * value, const int8_t id) {
|
||||
}
|
||||
|
||||
uint8_t set = 0xFF;
|
||||
if (!Helpers::value2enum(value, set, FL_(enum_summermode))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
write_command(summer_typeids[hc->hc()], 7, set, summer_typeids[hc->hc()]);
|
||||
}
|
||||
|
||||
@@ -2924,7 +2928,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
||||
factor = 1;
|
||||
break;
|
||||
case HeatingCircuit::Mode::DESIGN:
|
||||
if (hc->heatingtype == 3) {
|
||||
if (hc->heatingtype == 3 && model == EMS_DEVICE_FLAG_RC35) {
|
||||
offset = EMS_OFFSET_RC35Set_temp_design_floor;
|
||||
} else {
|
||||
offset = EMS_OFFSET_RC35Set_temp_design;
|
||||
@@ -2963,7 +2967,7 @@ bool Thermostat::set_temperature(const float temperature, const uint8_t mode, co
|
||||
factor = 1;
|
||||
break;
|
||||
case HeatingCircuit::Mode::MAXFLOW:
|
||||
if (hc->heatingtype == 3) {
|
||||
if (hc->heatingtype == 3 && model == EMS_DEVICE_FLAG_RC35) {
|
||||
offset = 35;
|
||||
} else {
|
||||
offset = 15;
|
||||
@@ -3770,7 +3774,9 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
|
||||
register_device_value(
|
||||
tag, &hc->heatingtype, DeviceValueType::ENUM, FL_(enum_heatingtype), FL_(heatingtype), DeviceValueUOM::NONE, MAKE_CF_CB(set_heatingtype));
|
||||
register_device_value(
|
||||
tag, &hc->summer_setmode, DeviceValueType::ENUM, FL_(enum_summermode), FL_(summersetmode), DeviceValueUOM::NONE, MAKE_CF_CB(set_summermode));
|
||||
tag, &hc->summersetmode, DeviceValueType::ENUM, FL_(enum_summermode), FL_(summersetmode), DeviceValueUOM::NONE, MAKE_CF_CB(set_summermode));
|
||||
register_device_value(
|
||||
tag, &hc->hpoperatingmode, DeviceValueType::ENUM, FL_(enum_hpoperatingmode), FL_(hpoperatingmode), DeviceValueUOM::NONE, MAKE_CF_CB(set_summermode));
|
||||
register_device_value(tag, &hc->summermode, DeviceValueType::ENUM, FL_(enum_summer), FL_(summermode), DeviceValueUOM::NONE);
|
||||
register_device_value(
|
||||
tag, &hc->controlmode, DeviceValueType::ENUM, FL_(enum_controlmode), FL_(controlmode), DeviceValueUOM::NONE, MAKE_CF_CB(set_controlmode));
|
||||
|
||||
@@ -54,7 +54,8 @@ class Thermostat : public EMSdevice {
|
||||
uint8_t designtemp; // heating curve design temp at MinExtTemp
|
||||
int8_t offsettemp; // heating curve offest temp at roomtemp signed!
|
||||
uint8_t manualtemp;
|
||||
uint8_t summer_setmode;
|
||||
uint8_t summersetmode;
|
||||
uint8_t hpoperatingmode;
|
||||
uint8_t roominfluence;
|
||||
uint8_t roominfl_factor;
|
||||
int16_t curroominfl;
|
||||
|
||||
Reference in New Issue
Block a user