From 5a69ac074fbdeabb4b536fe585a69cf41746a6e3 Mon Sep 17 00:00:00 2001 From: pswid <78219494+pswid@users.noreply.github.com> Date: Tue, 20 Dec 2022 12:01:41 +0100 Subject: [PATCH] added "compressor temp." for more hp types tested with Buderus WSW196iT --- src/devices/boiler.cpp | 8 +++++--- src/devices/boiler.h | 3 ++- src/devices/heatpump.cpp | 1 - src/locale_translations.h | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 3923db89e..a67225bbe 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -176,7 +176,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const register_telegram_type(0x494, "UBAEnergySupplied", false, MAKE_PF_CB(process_UBAEnergySupplied)); register_telegram_type(0x495, "UBAInformation", false, MAKE_PF_CB(process_UBAInformation)); register_telegram_type(0x48D, "HpPower", true, MAKE_PF_CB(process_HpPower)); - register_telegram_type(0x48F, "HpOutdoor", false, MAKE_PF_CB(process_HpOutdoor)); + register_telegram_type(0x48F, "HpTemperatures", false, MAKE_PF_CB(process_HpTemperatures)); register_telegram_type(0x48A, "HpPool", true, MAKE_PF_CB(process_HpPool)); register_telegram_type(0x4A2, "HpInput", true, MAKE_PF_CB(process_HpInput)); register_telegram_type(0x486, "HpInConfig", true, MAKE_PF_CB(process_HpInConfig)); @@ -494,6 +494,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTc0_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTc0), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTc1_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTc1), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTc3_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTc3), DeviceValueUOM::DEGREES); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr1_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr1), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr3_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr3), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr4_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr4), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr5_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr5), DeviceValueUOM::DEGREES); @@ -1206,11 +1207,12 @@ void Boiler::process_HpPower(std::shared_ptr telegram) { has_update(hpPoolOn_, hpActivity_ == 4 ? 0xFF : 0); } -// Heatpump outdoor unit - type 0x48F -void Boiler::process_HpOutdoor(std::shared_ptr telegram) { +// Heatpump temperatures - type 0x48F +void Boiler::process_HpTemperatures(std::shared_ptr telegram) { has_update(telegram, hpTc0_, 6); has_update(telegram, hpTc1_, 4); has_update(telegram, hpTc3_, 2); + has_update(telegram, hpTr1_, 14); has_update(telegram, hpTr3_, 16); has_update(telegram, hpTr4_, 18); // has_update(telegram, hpTr5_, 20); diff --git a/src/devices/boiler.h b/src/devices/boiler.h index b6b0c8a33..1297ec619 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -190,6 +190,7 @@ class Boiler : public EMSdevice { int16_t hpTc0_; int16_t hpTc1_; int16_t hpTc3_; + int16_t hpTr1_; int16_t hpTr3_; int16_t hpTr4_; int16_t hpTr5_; @@ -293,7 +294,7 @@ class Boiler : public EMSdevice { void process_CascadeMessage(std::shared_ptr telegram); void process_UBASettingsWW(std::shared_ptr telegram); void process_HpPower(std::shared_ptr telegram); - void process_HpOutdoor(std::shared_ptr telegram); + void process_HpTemperatures(std::shared_ptr telegram); void process_HpPool(std::shared_ptr telegram); void process_HpInput(std::shared_ptr telegram); void process_HpInConfig(std::shared_ptr telegram); diff --git a/src/devices/heatpump.cpp b/src/devices/heatpump.cpp index bd986591d..a3e9b9dd6 100644 --- a/src/devices/heatpump.cpp +++ b/src/devices/heatpump.cpp @@ -44,7 +44,6 @@ Heatpump::Heatpump(uint8_t device_type, uint8_t device_id, uint8_t product_id, c register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTa4_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTa4), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr1_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr1), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr3_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr3), DeviceValueUOM::DEGREES); - register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr3_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr3), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr4_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr4), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr5_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr5), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpTr6_, DeviceValueType::SHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(hpTr6), DeviceValueUOM::DEGREES); diff --git a/src/locale_translations.h b/src/locale_translations.h index 1f2f4466d..cc9b54cb7 100644 --- a/src/locale_translations.h +++ b/src/locale_translations.h @@ -345,7 +345,7 @@ MAKE_PSTR_LIST(hpPower, "hppower", "compressor power output", "Kompressorleistun MAKE_PSTR_LIST(hpTc0, "hptc0", "heat carrier return (TC0)", "Kältemittel Rücklauf (TC0)", "Koudemiddel retour (TC0)", "Värmebärare Retur (TC0)", "temperatura nośnika ciepła na powrocie (TC0)", "kjølemiddel retur (TC0)", "retour caloporteur (TC0)") MAKE_PSTR_LIST(hpTc1, "hptc1", "heat carrier forward (TC1)", "Kältemittel Vorlauf (TC1)", "Koudemiddel aanvoer (TC1)", "Värmebärare Framledning (TC1)", "temperatura nośnika ciepła pierwotna (TC1)", "kjølemiddel tur (TC1)", "avance caloporteur (TC1)") MAKE_PSTR_LIST(hpTc3, "hptc3", "condenser temperature (TC3)", "Verflüssigertemperatur (TC3)", "Condensortemperatuur (TC3)", "Kondensortemperatur (TC3)", "temperatura skraplacza/na wyjściu sprężarki (TC3)", "kondensortemperatur (TC3)", "température condensateur (TC3)") -MAKE_PSTR_LIST(hpTr1, "hptr1", "compressor temperature (TR1)", "Kompessortemperatur (TR1)", "Compressor temperatuur (TR1)", "Kompressor temp (TR1)", "kompressor temp (TR1)", "température compresseur (TR1)") +MAKE_PSTR_LIST(hpTr1, "hptr1", "compressor temperature (TR1)", "Kompessortemperatur (TR1)", "Compressor temperatuur (TR1)", "Kompressor temp (TR1)", "temperatura sprężarki (TR1)", "kompressor temperatur (TR1)", "température compresseur (TR1)") MAKE_PSTR_LIST(hpTr3, "hptr3", "refrigerant temperature liquid side (condenser output) (TR3)", "Kältemittel (flüssig) (TR3)", "Temperatuur koudemiddel vloeibare zijde (TR3)", "Köldmedium temperatur (kondensorutlopp) (TR3)", "temperatura skraplacza ogrzew. (TR3)", "kjølemiddeltemperatur på væskesiden (TR3)", "température réfrigérant côté liquide (sortie condensateur) (TR3)") MAKE_PSTR_LIST(hpTr4, "hptr4", "evaporator inlet temperature (TR4)", "Verdampfer Eingang (TR4)", "Verdamper ingangstemperatuur (TR4)", "Förångare inloppstemp (TR4)", "temperatura na wejściu parownika (TR4)", "innløpstemperatur for fordamperen (TR4)", "température entrée évaporateur (TR4)") MAKE_PSTR_LIST(hpTr5, "hptr5", "compressor inlet temperature (TR5)", "Kompessoreingang (TR5)", "Compressor ingangstemperatuur (TR5)", "Kompressor inloppstemp (TR5)", "temperatura na wejściu sprężarki (TR5)", "kompressor innløpstemp (TR5)", "température entrée compresseur (TR5)")