mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-08 00:39:50 +03:00
wwchargeoptimization UBAParameterWWPlus
This commit is contained in:
@@ -409,6 +409,13 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
MAKE_CF_CB(set_ww_flowTempOffset),
|
MAKE_CF_CB(set_ww_flowTempOffset),
|
||||||
0,
|
0,
|
||||||
40);
|
40);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW,
|
||||||
|
&wwChargeOptimization_,
|
||||||
|
DeviceValueType::BOOL,
|
||||||
|
nullptr,
|
||||||
|
FL_(wwChargeOptimization),
|
||||||
|
DeviceValueUOM::NONE,
|
||||||
|
MAKE_CF_CB(set_ww_chargeOptimization));
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW,
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA_WW,
|
||||||
&wwMaxPower_,
|
&wwMaxPower_,
|
||||||
DeviceValueType::UINT,
|
DeviceValueType::UINT,
|
||||||
@@ -788,6 +795,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, wwChargeOptimization_, 25);
|
||||||
|
|
||||||
uint8_t wwComfort1 = EMS_VALUE_UINT_NOTSET;
|
uint8_t wwComfort1 = EMS_VALUE_UINT_NOTSET;
|
||||||
telegram->read_value(wwComfort1, 13);
|
telegram->read_value(wwComfort1, 13);
|
||||||
@@ -1377,6 +1385,23 @@ bool Boiler::set_ww_hyst_off(const char * value, const int8_t id) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// set ww charge optimization
|
||||||
|
bool Boiler::set_ww_chargeOptimization(const char * value, const int8_t id) {
|
||||||
|
bool v = false;
|
||||||
|
if (!Helpers::value2bool(value, v)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_fetch(EMS_TYPE_UBAParameterWWPlus)) {
|
||||||
|
write_command(EMS_TYPE_UBAParameterWWPlus, 25, v ? 1 : 0, EMS_TYPE_UBAParameterWWPlus);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// set dhw max power
|
// set dhw max power
|
||||||
bool Boiler::set_ww_maxpower(const char * value, const int8_t id) {
|
bool Boiler::set_ww_maxpower(const char * value, const int8_t id) {
|
||||||
int v = 0;
|
int v = 0;
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ class Boiler : public EMSdevice {
|
|||||||
uint8_t wwComfort1_; // WW comfort mode RC310
|
uint8_t wwComfort1_; // WW comfort mode RC310
|
||||||
uint8_t wwCircPump_; // DHW circulation pump available
|
uint8_t wwCircPump_; // DHW circulation pump available
|
||||||
uint8_t wwChargeType_; // DHW charge type (pump or 3-way-valve)
|
uint8_t wwChargeType_; // DHW charge type (pump or 3-way-valve)
|
||||||
|
uint8_t wwChargeOptimization_; // DHW charge optimization
|
||||||
uint8_t wwDisinfectionTemp_; // DHW disinfection temperature to prevent infection
|
uint8_t wwDisinfectionTemp_; // DHW disinfection temperature to prevent infection
|
||||||
uint8_t wwCircMode_; // DHW circulation pump mode
|
uint8_t wwCircMode_; // DHW circulation pump mode
|
||||||
uint8_t wwCirc_; // Circulation on/off
|
uint8_t wwCirc_; // Circulation on/off
|
||||||
@@ -255,6 +256,7 @@ class Boiler : public EMSdevice {
|
|||||||
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_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_flow_temp(const char * value, const int8_t id);
|
bool set_flow_temp(const char * value, const int8_t id);
|
||||||
bool set_burn_power(const char * value, const int8_t id);
|
bool set_burn_power(const char * value, const int8_t id);
|
||||||
bool set_heating_activated(const char * value, const int8_t id);
|
bool set_heating_activated(const char * value, const int8_t id);
|
||||||
|
|||||||
@@ -536,7 +536,7 @@ MAKE_PSTR_LIST(wwSelTempSingle, F("wwseltempsingle"), F("single charge temperatu
|
|||||||
MAKE_PSTR_LIST(wwSetTemp, F("wwsettemp"), F("set temperature"))
|
MAKE_PSTR_LIST(wwSetTemp, F("wwsettemp"), F("set temperature"))
|
||||||
MAKE_PSTR_LIST(wwType, F("wwtype"), F("type"))
|
MAKE_PSTR_LIST(wwType, F("wwtype"), F("type"))
|
||||||
MAKE_PSTR_LIST(wwComfort, F("wwcomfort"), F("comfort"))
|
MAKE_PSTR_LIST(wwComfort, F("wwcomfort"), F("comfort"))
|
||||||
MAKE_PSTR_LIST(wwComfort1, F("wwcomfort1"), F("ww comfort1"))
|
MAKE_PSTR_LIST(wwComfort1, F("wwcomfort1"), F("comfort mode"))
|
||||||
MAKE_PSTR_LIST(wwFlowTempOffset, F("wwflowtempoffset"), F("flow temperature offset"))
|
MAKE_PSTR_LIST(wwFlowTempOffset, F("wwflowtempoffset"), F("flow temperature offset"))
|
||||||
MAKE_PSTR_LIST(wwMaxPower, F("wwmaxpower"), F("max power"))
|
MAKE_PSTR_LIST(wwMaxPower, F("wwmaxpower"), F("max power"))
|
||||||
MAKE_PSTR_LIST(wwCircPump, F("wwcircpump"), F("circulation pump available"))
|
MAKE_PSTR_LIST(wwCircPump, F("wwcircpump"), F("circulation pump available"))
|
||||||
@@ -553,6 +553,7 @@ MAKE_PSTR_LIST(wwActivated, F("wwactivated"), F("activated"))
|
|||||||
MAKE_PSTR_LIST(wwOneTime, F("wwonetime"), F("one time charging"))
|
MAKE_PSTR_LIST(wwOneTime, F("wwonetime"), F("one time charging"))
|
||||||
MAKE_PSTR_LIST(wwDisinfecting, F("wwdisinfecting"), F("disinfecting"))
|
MAKE_PSTR_LIST(wwDisinfecting, F("wwdisinfecting"), F("disinfecting"))
|
||||||
MAKE_PSTR_LIST(wwCharging, F("wwcharging"), F("charging"))
|
MAKE_PSTR_LIST(wwCharging, F("wwcharging"), F("charging"))
|
||||||
|
MAKE_PSTR_LIST(wwChargeOptimization, F("wwchargeoptimization"), F("charge optimization"))
|
||||||
MAKE_PSTR_LIST(wwRecharging, F("wwrecharging"), F("recharging"))
|
MAKE_PSTR_LIST(wwRecharging, F("wwrecharging"), F("recharging"))
|
||||||
MAKE_PSTR_LIST(wwTempOK, F("wwtempok"), F("temperature ok"))
|
MAKE_PSTR_LIST(wwTempOK, F("wwtempok"), F("temperature ok"))
|
||||||
MAKE_PSTR_LIST(wwActive, F("wwactive"), F("active"))
|
MAKE_PSTR_LIST(wwActive, F("wwactive"), F("active"))
|
||||||
|
|||||||
Reference in New Issue
Block a user