From 67b5c5dd262b273d20f3ab7496c1acba7377bbdb Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 6 May 2025 19:14:31 +0200 Subject: [PATCH] chargeOptimization #2543, charging pump #2544 --- src/core/locale_translations.h | 1 + src/devices/boiler.cpp | 12 +++++++----- src/devices/boiler.h | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/core/locale_translations.h b/src/core/locale_translations.h index 0c4d896ea..b0388940d 100644 --- a/src/core/locale_translations.h +++ b/src/core/locale_translations.h @@ -636,6 +636,7 @@ MAKE_TRANSLATION(wwStorageTemp2, "storagetemp2", "storage extern temperature", " MAKE_TRANSLATION(wwActivated, "activated", "activated", "aktiviert", "geactiveerd", "Aktiverad", "system przygotowywania c.w.u.", "aktivert", "activé", "devreye girdi", "attivato", "aktivovaný", "aktivováno") MAKE_TRANSLATION(wwDisinfecting, "disinfecting", "disinfecting", "Desinfizieren", "Desinfectie", "Desinficerar", "dezynfekcja termiczna", "desinfiserer", "désinfection", "dezenfekte ediliyor", "disinfezione", "dezinfekcia", "dezinfekce") MAKE_TRANSLATION(wwDisinfectionTemp, "disinfectiontemp", "disinfection temperature", "Desinfektionstemperatur", "Desinfectietemperatuur", "Desinfektionstemperatur", "temperatura dezynfekcji termicznej", "desinfeksjonstemperatur", "température désinfection", "dezenfeksiyon sıcaklığı", "temperatura disinfezione", "teplota dezinfekcie", "dezinfekční teplota") +MAKE_TRANSLATION(wwChargePump, "chargepump", "charge pump", "Ladepumpe", "", "", "", "", "", "", "", "", "") // TODO Translate MAKE_TRANSLATION(wwCharging, "charging", "charging", "Laden", "Laden", "Värmer", "grzanie", "varmer", "chargement", "dolduruluyor", "caricamento", "nabíjanie", "nabíjení") MAKE_TRANSLATION(wwChargeOptimization, "chargeoptimization", "charge optimization", "Ladungsoptimierung", "laadoptimalisatie", "Laddningsoptimering", "optymalizacja grzania", "oppvarmingsoptimalisering", "optimisation charge", "dolum optimizasyonu", "ottimizzazione carica", "optimalizácia poplatkov", "optimalizace nabíjení") MAKE_TRANSLATION(wwRecharging, "recharging", "recharging", "Nachladen", "herladen", "Laddar om", "ponowne grzanie", "varm på nytt", "en recharge", "tekrar dolduruluyor", "in ricarica", "nabíjanie", "dobíjení") diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index f79f6e919..e742a4884 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -1043,6 +1043,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const register_device_value(DeviceValueTAG::TAG_DHW1, &wwTempOK_, DeviceValueType::BOOL, FL_(wwTempOK), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DHW1, &wwActive_, DeviceValueType::BOOL, FL_(wwActive), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DHW1, &ww3wayValve_, DeviceValueType::BOOL, FL_(ww3wayValve), DeviceValueUOM::NONE); + register_device_value(DeviceValueTAG::TAG_DHW1, &wwChargePump_, DeviceValueType::BOOL, FL_(wwChargePump), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DHW1, &wwMixerTemp_, DeviceValueType::UINT16, @@ -1297,6 +1298,7 @@ void Boiler::process_UBAMonitorFast(std::shared_ptr telegram) { has_update(curBurnPow_, curBurnPow); check_active(); // do a quick check to see if the hot water or heating is active + has_bitupdate(telegram, wwChargePump_, 23, 0); } } @@ -1348,11 +1350,11 @@ void Boiler::process_UBAParameterWW(std::shared_ptr telegram) { // has_bitupdate(telegram, wwEquipt_,0,3); // 8=boiler has ww has_update(telegram, wwActivated_, 1); // 0xFF means on has_update(telegram, wwSelTemp_, 2); - has_update(telegram, wwHystOn_, 3); // Hyst on (default -5) - has_update(telegram, wwHystOff_, 4); // Hyst off (default -1) - has_update(telegram, wwFlowTempOffset_, 5); // default 40 - has_update(telegram, wwCircPump_, 6); // 0xFF means on - has_update(telegram, wwCircMode_, 7); // 0=off, 1=1x3min 6=6x3min 7=continuous + has_update(telegram, wwHystOn_, 3); // Hyst on (default -5) + has_update(telegram, wwChargeOptimization_, 4); // bool + has_update(telegram, wwFlowTempOffset_, 5); // default 40 + has_update(telegram, wwCircPump_, 6); // 0xFF means on + has_update(telegram, wwCircMode_, 7); // 0=off, 1=1x3min 6=6x3min 7=continuous has_update(telegram, wwDisinfectionTemp_, 8); has_bitupdate(telegram, wwChargeType_, 10, 0); // 0 = charge pump, 0xff = 3-way valve diff --git a/src/devices/boiler.h b/src/devices/boiler.h index aa66281b7..1665f8c4e 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -81,6 +81,7 @@ class Boiler : public EMSdevice { uint8_t wwTempOK_; // DHW temperature ok on/off uint8_t wwActive_; // uint8_t ww3wayValve_; // 3-way valve on WW + uint8_t wwChargePump_; uint8_t wwFlowTempOffset_; // Boiler offset for ww heating uint8_t wwMaxPower_; // DHW maximum power uint8_t wwMaxTemp_; // DHW maximum temperature