wwmaxtemp for RC310

This commit is contained in:
tp1de
2022-05-20 13:14:09 +02:00
parent 6fef3990a7
commit c637dcbbd8
2 changed files with 24 additions and 0 deletions

View File

@@ -425,6 +425,15 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
MAKE_CF_CB(set_ww_maxpower), MAKE_CF_CB(set_ww_maxpower),
0, 0,
130); 130);
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW,
&wwMaxTemp_,
DeviceValueType::UINT,
nullptr,
FL_(wwMaxTemp),
DeviceValueUOM::DEGREES,
MAKE_CF_CB(set_ww_maxtemp),
0,
70);
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW, register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW,
&wwCircPump_, &wwCircPump_,
DeviceValueType::BOOL, DeviceValueType::BOOL,
@@ -795,6 +804,7 @@ void Boiler::process_UBAParameterWWPlus(std::shared_ptr<const Telegram> telegram
has_update(telegram, wwDisinfectionTemp_, 12); // setting here, status in E9 has_update(telegram, wwDisinfectionTemp_, 12); // setting here, status in E9
has_update(telegram, wwSelTempSingle_, 16); has_update(telegram, wwSelTempSingle_, 16);
has_update(telegram, wwSelTempLow_, 18); has_update(telegram, wwSelTempLow_, 18);
has_update(telegram, wwMaxTemp_, 20);
has_update(telegram, wwChargeOptimization_, 25); has_update(telegram, wwChargeOptimization_, 25);
uint8_t wwComfort1 = EMS_VALUE_UINT_NOTSET; uint8_t wwComfort1 = EMS_VALUE_UINT_NOTSET;
@@ -1414,6 +1424,18 @@ bool Boiler::set_ww_maxpower(const char * value, const int8_t id) {
return true; return true;
} }
// set dhw maximum temperature
bool Boiler::set_ww_maxtemp(const char * value, const int8_t id) {
int v = 0;
if (!Helpers::value2number(value, v)) {
return false;
}
write_command(EMS_TYPE_UBAParameterWWPlus, 20, v, EMS_TYPE_UBAParameterWWPlus);
return true;
}
// set min pump modulation // set min pump modulation
bool Boiler::set_min_pump(const char * value, const int8_t id) { bool Boiler::set_min_pump(const char * value, const int8_t id) {
int v = 0; int v = 0;

View File

@@ -81,6 +81,7 @@ class Boiler : public EMSdevice {
uint8_t wwSetPumpPower_; // ww pump speed/power? uint8_t wwSetPumpPower_; // ww pump speed/power?
uint8_t wwFlowTempOffset_; // Boiler offset for ww heating uint8_t wwFlowTempOffset_; // Boiler offset for ww heating
uint8_t wwMaxPower_; // DHW maximum power uint8_t wwMaxPower_; // DHW maximum power
uint8_t wwMaxTemp_; // DHW maximum temperature
uint32_t wwStarts_; // DHW starts uint32_t wwStarts_; // DHW starts
uint32_t wwStarts2_; // DHW control starts uint32_t wwStarts2_; // DHW control starts
uint32_t wwWorkM_; // DHW minutes uint32_t wwWorkM_; // DHW minutes
@@ -255,6 +256,7 @@ class Boiler : public EMSdevice {
bool set_ww_temp_single(const char * value, const int8_t id); bool set_ww_temp_single(const char * value, const int8_t id);
bool set_ww_disinfect_temp(const char * value, const int8_t id); bool set_ww_disinfect_temp(const char * value, const int8_t id);
bool set_ww_maxpower(const char * value, const int8_t id); bool set_ww_maxpower(const char * value, const int8_t id);
bool set_ww_maxtemp(const char * value, const int8_t id);
bool set_ww_flowTempOffset(const char * value, const int8_t id); bool set_ww_flowTempOffset(const char * value, const int8_t id);
bool set_ww_chargeOptimization(const char * value, const int8_t id); bool set_ww_chargeOptimization(const char * value, const int8_t id);
bool set_flow_temp(const char * value, const int8_t id); bool set_flow_temp(const char * value, const int8_t id);