heatpump dhw stop temperatures #1624

This commit is contained in:
MichaelDvP
2024-02-26 14:59:05 +01:00
parent 3a23dae178
commit 20165a528d
3 changed files with 38 additions and 0 deletions

View File

@@ -836,6 +836,24 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
MAKE_CF_CB(set_wwEcoPlusDiffTemp),
6,
12);
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&wwComfStopTemp_,
DeviceValueType::UINT,
FL_(wwComfStopTemp),
DeviceValueUOM::DEGREES,
MAKE_CF_CB(set_wwComfStopTemp));
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&wwEcoStopTemp_,
DeviceValueType::UINT,
FL_(wwEcoStopTemp),
DeviceValueUOM::DEGREES,
MAKE_CF_CB(set_wwEcoStopTemp));
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&wwEcoPlusStopTemp_,
DeviceValueType::UINT,
FL_(wwEcoPlusStopTemp),
DeviceValueUOM::DEGREES,
MAKE_CF_CB(set_wwEcoPlusStopTemp));
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&hpCircPumpWw_,
DeviceValueType::BOOL,
@@ -1940,6 +1958,10 @@ void Boiler::process_HpDhwSettings(std::shared_ptr<const Telegram> telegram) {
has_update(telegram, wwComfDiffTemp_, 12);
has_update(telegram, wwEcoDiffTemp_, 13);
has_update(telegram, wwEcoPlusDiffTemp_, 14);
//https://github.com/emsesp/EMS-ESP32/issues/1624
has_update(telegram, wwComfStopTemp_, 8);
has_update(telegram, wwEcoStopTemp_, 9);
has_update(telegram, wwEcoPlusStopTemp_, 10);
}
// 0x49C:
@@ -2952,6 +2974,7 @@ bool Boiler::set_tempDiff(const char * value, const int8_t id) {
return false;
}
// also used for stopTemp with different index
bool Boiler::set_wwOffTemp(const char * value, const int8_t id) {
int v;
if (Helpers::value2temperature(value, v)) {

View File

@@ -269,6 +269,9 @@ class Boiler : public EMSdevice {
uint8_t wwComfDiffTemp_;
uint8_t wwEcoDiffTemp_;
uint8_t wwEcoPlusDiffTemp_;
uint8_t wwComfStopTemp_;
uint8_t wwEcoStopTemp_;
uint8_t wwEcoPlusStopTemp_;
uint8_t vp_cooling_;
uint8_t heatCable_;
@@ -489,6 +492,15 @@ class Boiler : public EMSdevice {
inline bool set_wwEcoPlusDiffTemp(const char * value, const int8_t id) {
return set_wwDiffTemp(value, 14);
}
inline bool set_wwComfStopTemp(const char * value, const int8_t id) {
return set_wwOffTemp(value, 8);
}
inline bool set_wwEcoStopTemp(const char * value, const int8_t id) {
return set_wwOffTemp(value, 9);
}
inline bool set_wwEcoPlusStopTemp(const char * value, const int8_t id) {
return set_wwOffTemp(value, 10);
}
bool set_vp_cooling(const char * value, const int8_t id);
bool set_heatCable(const char * value, const int8_t id);
bool set_VC0valve(const char * value, const int8_t id);

View File

@@ -444,6 +444,9 @@ MAKE_TRANSLATION(wwEcoPlusOffTemp, "wwecoplusoff", "eco+ switch off", "ECO+ Auss
MAKE_TRANSLATION(wwComfDiffTemp, "wwcomfdiff", "comfort diff", "Komfort Differenztemp", "", "", "", "", "", "", "", "") // TODO translate
MAKE_TRANSLATION(wwEcoDiffTemp, "wwecodiff", "eco diff", "ECO Differenztemp", "", "", "", "", "", "", "", "") // TODO translate
MAKE_TRANSLATION(wwEcoPlusDiffTemp, "wwecoplusdiff", "eco+ diff", "ECO+ Differenztemp", "", "", "", "", "", "", "", "") // TODO translate
MAKE_TRANSLATION(wwComfStopTemp, "wwcomfstop", "comfort stop temp", "Komfort Stopptemp", "", "", "", "", "", "", "", "") // TODO translate
MAKE_TRANSLATION(wwEcoStopTemp, "wwecostop", "eco stop temp", "ECO Stopptemp", "", "", "", "", "", "", "", "") // TODO translate
MAKE_TRANSLATION(wwEcoPlusStopTemp, "wwecoplusstop", "eco+ stop temp", "ECO+ Stopptemp", "", "", "", "", "", "", "", "") // TODO translate
MAKE_TRANSLATION(auxHeatMode, "auxheatrmode", "aux heater mode", "Modus Zusatzheizer", "Modus bijverwarmer", "", "tryb pracy dogrzewacza po blokadzie z Zakładu Energetycznego", "tilleggsvarmer modus", "", "ilave ısıtıcı modu", "modalità riscaldatore addizionale", "režim pomocného ohrievača") // TODO translate
MAKE_TRANSLATION(auxMaxLimit, "auxmaxlimit", "aux heater max limit", "Zusatzheizer max. Grenze", "Bijverwarmer grensinstelling maximaal", "", "dogrzewacz, maksymalny limit", "tillegsvarme maksgrense", "", "ilave ısıtıcı maks limit", "limite massimo riscaldatore addizionale", "maximálny limit pomocného ohrievača") // TODO translate