From 4b6b89f1a062880f805ba0d90890bba77f5e8185 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sun, 12 Nov 2023 13:46:33 +0100 Subject: [PATCH] add uptimetotal, #1416 --- src/devices/boiler.cpp | 7 +++++++ src/devices/boiler.h | 1 + src/locale_translations.h | 1 + 3 files changed, 9 insertions(+) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 274c5deca..3497ace0c 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -398,6 +398,12 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const DeviceValueNumOp::DV_NUMOP_DIV100, FL_(meterEHeat), DeviceValueUOM::KWH); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &upTimeTotal_, + DeviceValueType::TIME, + DeviceValueNumOp::DV_NUMOP_DIV60, + FL_(upTimeTotal), + DeviceValueUOM::MINUTES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &upTimeControl_, DeviceValueType::TIME, @@ -1489,6 +1495,7 @@ void Boiler::process_UBAInformation(std::shared_ptr telegram) { * 08 00 FF 31 03 94 00 00 00 00 00 00 00 38 */ void Boiler::process_UBAEnergySupplied(std::shared_ptr telegram) { + has_update(telegram, upTimeTotal_, 0); has_update(telegram, nrgSuppTotal_, 4); has_update(telegram, nrgSuppHeating_, 12); has_update(telegram, nrgSuppWw_, 8); diff --git a/src/devices/boiler.h b/src/devices/boiler.h index 9466ea179..fa686b493 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -154,6 +154,7 @@ class Boiler : public EMSdevice { uint16_t heatblock_; // see #1317 // info + uint32_t upTimeTotal_; // Operating time uint32_t upTimeControl_; // Operating time control uint32_t upTimeCompHeating_; // Operating time compressor heating uint32_t upTimeCompCooling_; // Operating time compressor cooling diff --git a/src/locale_translations.h b/src/locale_translations.h index a4c098541..27e7b4f1e 100644 --- a/src/locale_translations.h +++ b/src/locale_translations.h @@ -345,6 +345,7 @@ MAKE_TRANSLATION(headertemp, "headertemp", "low loss header", "Hydr. Weiche", "o MAKE_TRANSLATION(heatblock, "heatblock", "heating block", "Wärmezelle", "Aanvoertemp. warmtecel", "", "blok grzewczy", "", "départ corps de chauffe", "Hid.denge kabı sıcaklığı", "mandata scamb. pr.") // TODO translate // heatpump/compress specific +MAKE_TRANSLATION(upTimeTotal, "uptimetotal", "heatpump total uptime", "Wärmpepumpe Gesamtbetriebszeit", "", "", "", "", "", "", "") // TODO translate MAKE_TRANSLATION(upTimeControl, "uptimecontrol", "total operating time heat", "Betriebszeit Heizen gesamt", "Totale bedrijfstijd", "Total tid uppvärmning", "łączny czas generowania ciepła", "total driftstid", "durée totale de fonctionnement chauffage", "ısınma toplam işletme süresi", "Tempo di funzionamento totale riscaldamento") MAKE_TRANSLATION(upTimeCompHeating, "uptimecompheating", "operating time compressor heating", "Betriebszeit Kompressor heizen", "Bedrijfstijd compressor verwarmingsbedrijf", "Total tid kompressor uppvärmning", "łączny czas ogrzewania (sprężarka)", "totaltid kompressor", "durée de fonctionnement compresseur chauffage", "ısı pompası ısınma işletme süresi", "tempo di funzionamento del compressore riscaldamento") MAKE_TRANSLATION(upTimeCompCooling, "uptimecompcooling", "operating time compressor cooling", "Betriebszeit Kompressor kühlen", "Bedrijfstijd compressor koelbedrijf", "Total tid kompressor kyla", "łączny czas chłodzenia (sprężarka)", "Total tid kompressor kjøling", "durée de fonctionnement compresseur refroidissement", "ısı pompası soğuma işletme süresi", "tempo di funzionamento del compressore raffreddamento")