add #1597 temp diff

This commit is contained in:
MichaelDvP
2024-02-03 18:14:31 +01:00
parent 58b75ee203
commit 3bb7e3514f
3 changed files with 53 additions and 0 deletions

View File

@@ -806,6 +806,30 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
MAKE_CF_CB(set_wwEcoPlusOffTemp),
48,
63);
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&wwComfDiffTemp_,
DeviceValueType::UINT,
FL_(wwComfDiffTemp),
DeviceValueUOM::K,
MAKE_CF_CB(set_wwComfDiffTemp),
6,
12);
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&wwEcoDiffTemp_,
DeviceValueType::UINT,
FL_(wwEcoDiffTemp),
DeviceValueUOM::K,
MAKE_CF_CB(set_wwEcoDiffTemp),
6,
12);
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&wwEcoPlusDiffTemp_,
DeviceValueType::UINT,
FL_(wwEcoPlusDiffTemp),
DeviceValueUOM::K,
MAKE_CF_CB(set_wwEcoPlusDiffTemp),
6,
12);
register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW,
&hpCircPumpWw_,
DeviceValueType::BOOL,
@@ -1906,6 +1930,10 @@ void Boiler::process_HpDhwSettings(std::shared_ptr<const Telegram> telegram) {
has_update(telegram, wwComfOffTemp_, 1);
has_update(telegram, wwEcoOffTemp_, 0);
has_update(telegram, wwEcoPlusOffTemp_, 5);
// https://github.com/emsesp/EMS-ESP32/issues/1597
has_update(telegram, wwComfDiffTemp_, 12);
has_update(telegram, wwEcoDiffTemp_, 13);
has_update(telegram, wwEcoPlusDiffTemp_, 14);
}
// 0x49C:
@@ -2918,6 +2946,15 @@ bool Boiler::set_tempDiff(const char * value, const int8_t id) {
}
bool Boiler::set_wwOffTemp(const char * value, const int8_t id) {
int v;
if (Helpers::value2temperature(value, v)) {
write_command(0x499, id, v, 0x499);
return true;
}
return false;
}
bool Boiler::set_wwDiffTemp(const char * value, const int8_t id) {
int v;
if (Helpers::value2number(value, v)) {
write_command(0x499, id, v, 0x499);

View File

@@ -265,6 +265,9 @@ class Boiler : public EMSdevice {
uint8_t wwComfOffTemp_;
uint8_t wwEcoOffTemp_;
uint8_t wwEcoPlusOffTemp_;
uint8_t wwComfDiffTemp_;
uint8_t wwEcoDiffTemp_;
uint8_t wwEcoPlusDiffTemp_;
uint8_t vp_cooling_;
uint8_t heatCable_;
@@ -475,6 +478,16 @@ class Boiler : public EMSdevice {
inline bool set_wwEcoPlusOffTemp(const char * value, const int8_t id) {
return set_wwOffTemp(value, 5);
}
bool set_wwDiffTemp(const char * value, const int8_t id);
inline bool set_wwComfDiffTemp(const char * value, const int8_t id) {
return set_wwDiffTemp(value, 12);
}
inline bool set_wwEcoDiffTemp(const char * value, const int8_t id) {
return set_wwDiffTemp(value, 13);
}
inline bool set_wwEcoPlusDiffTemp(const char * value, const int8_t id) {
return set_wwDiffTemp(value, 14);
}
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

@@ -435,6 +435,9 @@ MAKE_TRANSLATION(silentTo, "silentto", "silent mode to", "Silentmodus Ende", "Ei
MAKE_TRANSLATION(wwComfOffTemp, "wwcomfoff", "comfort switch off", "Komfort Ausschalttemp", "Comfort Uitschakeltemp.", "Komfortläge avstängingstemp.", "temperatura wyłączania w trybie komfort", "eco modus utkoblingstem", "Confort Temp. d'arrêt", "konfor kapalı", "spegnimento modalità comfort", "komfortné vypnutie")
MAKE_TRANSLATION(wwEcoOffTemp, "wwecooff", "eco switch off", "ECO Ausschalttemp", "Eco Uitschakeltemp.", "Ekoläge avstängningstemp.", "temperatura wyłączania w trybie eko", "Øko avstengningstemp.", "Eco Temp. d'arrêt", "eko kapalı", "spegnimento modalità ECO", "eko vypínač")
MAKE_TRANSLATION(wwEcoPlusOffTemp, "wwecoplusoff", "eco+ switch off", "ECO+ Ausschalttemp", "Eco+ Uitschakeltemp.", "Eko+ avstängningstemp.", "temperatura wyłączania w trybie eko+", "Øko+ avstengningstemp.", "Eco+ Temp. d'arrêt", "eko+ kapalı", "spegnimento modalità ECO+", "eko+ vypnutie")
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(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