From 657914db26fae6feef9635439a7e2ec0809aa66a Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 11 Mar 2022 13:04:47 +0100 Subject: [PATCH 1/2] add devices #393 --- src/device_library.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/device_library.h b/src/device_library.h index 9d56e4602..8d89f7591 100644 --- a/src/device_library.h +++ b/src/device_library.h @@ -90,6 +90,7 @@ {165, DeviceType::THERMOSTAT, F("RC100/Moduline 1000/1010"), DeviceFlags::EMS_DEVICE_FLAG_RC100}, // 0x18, 0x38 {172, DeviceType::THERMOSTAT, F("Rego 2000/3000"), DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10 {216, DeviceType::THERMOSTAT, F("CRF200S"), DeviceFlags::EMS_DEVICE_FLAG_CRF | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE}, // 0x18 +{246, DeviceType::THERMOSTAT, F("Comfort+2RF"), DeviceFlags::EMS_DEVICE_FLAG_CRF | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE}, // 0x18 // Thermostat - Sieger - 0x10 / 0x17 { 66, DeviceType::THERMOSTAT, F("ES72/RC20"), DeviceFlags::EMS_DEVICE_FLAG_RC20_N}, // 0x17 or remote @@ -134,6 +135,7 @@ // Wireless sensor base - 0x50 {236, DeviceType::CONNECT, F("Wireless sensor base"), DeviceFlags::EMS_DEVICE_FLAG_NONE}, +{238, DeviceType::CONNECT, F("Wireless sensor base"), DeviceFlags::EMS_DEVICE_FLAG_NONE}, // Switches - 0x11 { 71, DeviceType::SWITCH, F("WM10"), DeviceFlags::EMS_DEVICE_FLAG_NONE}, From d56cdeec77adf20ff2511943effaa821ecba246c Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 11 Mar 2022 13:05:20 +0100 Subject: [PATCH 2/2] add burner stage 2 working time, #392 --- src/devices/boiler.cpp | 15 +++++++++------ src/devices/boiler.h | 1 + src/locale_DE.h | 1 + src/locale_EN.h | 1 + 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 3f3165410..21597f4bf 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -168,6 +168,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const register_device_value(DeviceValueTAG::TAG_BOILER_DATA, &curBurnPow_, DeviceValueType::UINT, nullptr, FL_(curBurnPow), DeviceValueUOM::PERCENT); register_device_value(DeviceValueTAG::TAG_BOILER_DATA, &burnStarts_, DeviceValueType::ULONG, nullptr, FL_(burnStarts), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_BOILER_DATA, &burnWorkMin_, DeviceValueType::TIME, nullptr, FL_(burnWorkMin), DeviceValueUOM::MINUTES); + register_device_value(DeviceValueTAG::TAG_BOILER_DATA, &burn2WorkMin_, DeviceValueType::TIME, nullptr, FL_(burn2WorkMin), DeviceValueUOM::MINUTES); register_device_value(DeviceValueTAG::TAG_BOILER_DATA, &heatWorkMin_, DeviceValueType::TIME, nullptr, FL_(heatWorkMin), DeviceValueUOM::MINUTES); register_device_value(DeviceValueTAG::TAG_BOILER_DATA, &UBAuptime_, DeviceValueType::TIME, nullptr, FL_(UBAuptime), DeviceValueUOM::MINUTES); register_device_value(DeviceValueTAG::TAG_BOILER_DATA, &lastCode_, DeviceValueType::STRING, nullptr, FL_(lastCode), DeviceValueUOM::NONE); @@ -629,9 +630,10 @@ void Boiler::process_UBAMonitorSlow(std::shared_ptr telegram) { has_update(telegram, exhaustTemp_, 4); has_update(telegram, switchTemp_, 25); // only if there is a mixer module present has_update(telegram, heatingPumpMod_, 9); - has_update(telegram, burnStarts_, 10, 3); // force to 3 bytes - has_update(telegram, burnWorkMin_, 13, 3); // force to 3 bytes - has_update(telegram, heatWorkMin_, 19, 3); // force to 3 bytes + has_update(telegram, burnStarts_, 10, 3); // force to 3 bytes + has_update(telegram, burnWorkMin_, 13, 3); // force to 3 bytes + has_update(telegram, burn2WorkMin_, 16, 3); // force to 3 bytes + has_update(telegram, heatWorkMin_, 19, 3); // force to 3 bytes } /* @@ -653,9 +655,10 @@ void Boiler::process_UBAMonitorSlowPlus(std::shared_ptr telegram has_bitupdate(telegram, heatingPump_, 2, 5); has_bitupdate(telegram, wwCirc_, 2, 7); has_update(telegram, exhaustTemp_, 6); - has_update(telegram, burnStarts_, 10, 3); // force to 3 bytes - has_update(telegram, burnWorkMin_, 13, 3); // force to 3 bytes - has_update(telegram, heatWorkMin_, 19, 3); // force to 3 bytes + has_update(telegram, burnStarts_, 10, 3); // force to 3 bytes + has_update(telegram, burnWorkMin_, 13, 3); // force to 3 bytes + has_update(telegram, burn2WorkMin_, 16, 3); // force to 3 bytes + has_update(telegram, heatWorkMin_, 19, 3); // force to 3 bytes has_update(telegram, heatingPumpMod_, 25); // temperature measurements at 4, see #620 } diff --git a/src/devices/boiler.h b/src/devices/boiler.h index d83973260..a6e90b44f 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -125,6 +125,7 @@ class Boiler : public EMSdevice { uint8_t setBurnPow_; // max output power in % uint32_t burnStarts_; // burner restarts uint32_t burnWorkMin_; // Total burner operating time + uint32_t burn2WorkMin_; // burner stage 2 operating time uint32_t heatWorkMin_; // Total heat operating time uint32_t UBAuptime_; // Total UBA working hours char lastCode_[75]; // last error code diff --git a/src/locale_DE.h b/src/locale_DE.h index 8f9108c65..bbc2908cb 100644 --- a/src/locale_DE.h +++ b/src/locale_DE.h @@ -454,6 +454,7 @@ MAKE_PSTR_LIST(setBurnPow, F("setburnpow"), F("Sollwert Brennerleistung")) MAKE_PSTR_LIST(curBurnPow, F("curburnpow"), F("Brennerleistung")) MAKE_PSTR_LIST(burnStarts, F("burnstarts"), F("Brenner # starts")) MAKE_PSTR_LIST(burnWorkMin, F("burnworkmin"), F("Brenner Laufzeit")) +MAKE_PSTR_LIST(burn2WorkMin, F("burn2workmin"), F("Brenner Stufe 2 Laufzeit")) MAKE_PSTR_LIST(heatWorkMin, F("heatworkmin"), F("Heizung Laufzeit")) MAKE_PSTR_LIST(UBAuptime, F("ubauptime"), F("gesamte Laufzeit")) MAKE_PSTR_LIST(lastCode, F("lastcode"), F("Fehlerspeicher")) diff --git a/src/locale_EN.h b/src/locale_EN.h index 00b02ad7c..001bdd596 100644 --- a/src/locale_EN.h +++ b/src/locale_EN.h @@ -443,6 +443,7 @@ MAKE_PSTR_LIST(setBurnPow, F("setburnpow"), F("burner set power")) MAKE_PSTR_LIST(curBurnPow, F("curburnpow"), F("burner current power")) MAKE_PSTR_LIST(burnStarts, F("burnstarts"), F("burner starts")) MAKE_PSTR_LIST(burnWorkMin, F("burnworkmin"), F("total burner operating time")) +MAKE_PSTR_LIST(burn2WorkMin, F("burn2workmin"), F("burner stage 2 operating time")) MAKE_PSTR_LIST(heatWorkMin, F("heatworkmin"), F("total heat operating time")) MAKE_PSTR_LIST(UBAuptime, F("ubauptime"), F("total UBA operating time")) MAKE_PSTR_LIST(lastCode, F("lastcode"), F("last error code"))