From 5e53689a813fe1bfa72ea27ccb46816d4fa6702f Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 5 Oct 2023 17:56:52 +0200 Subject: [PATCH] add temperatures for low loss header and heatblock, add names BC400/GB192i, #1317 --- CHANGELOG_LATEST.md | 5 +++-- src/device_library.h | 4 ++-- src/devices/boiler.cpp | 14 ++++++++++++++ src/devices/boiler.h | 2 ++ src/locale_translations.h | 2 ++ 5 files changed, 23 insertions(+), 4 deletions(-) diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 10af112ae..29795b514 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -7,11 +7,12 @@ ## Added - humidity for ventilation devices -- telegrams for RC100H, hc2 +- telegrams for RC100H, hc2 (seen on discord) +- names for BC400, GB192i, read temperatures for low loss header and heatblock [#1317](https://github.com/emsesp/EMS-ESP32/discussions/1317) ## Fixed ## Changed -- update to arduion 2.0.13 / idf 4.4.6 +- update to arduino 2.0.14 / idf 4.4.6 - small changes for arduino 3.0.0 / idf 5.1 compatibility diff --git a/src/device_library.h b/src/device_library.h index 84bc0fa66..6f35b79e7 100644 --- a/src/device_library.h +++ b/src/device_library.h @@ -42,7 +42,7 @@ {170, DeviceType::BOILER, "Logano GB212", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {172, DeviceType::BOILER, "Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i/WSW196i", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP}, {173, DeviceType::BOILER, "Geo 5xx", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP}, -{195, DeviceType::BOILER, "Condens 5000i/Greenstar 8000/GC9800IW", DeviceFlags::EMS_DEVICE_FLAG_NONE}, +{195, DeviceType::BOILER, "Condens 5000i/Greenstar 8000/GC9800IW/GB192i.2", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {203, DeviceType::BOILER, "Logamax U122/Cerapur", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {206, DeviceType::BOILER, "Ecomline Excellent", DeviceFlags::EMS_DEVICE_FLAG_NONE}, {208, DeviceType::BOILER, "Logamax Plus/GB192/Condens GC9000/Greenstar ErP", DeviceFlags::EMS_DEVICE_FLAG_NONE}, @@ -81,7 +81,7 @@ {203, DeviceType::THERMOSTAT, "EasyControl CT200", DeviceFlags::EMS_DEVICE_FLAG_EASY | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write // Thermostat - Buderus/Nefit/Bosch specific - 0x17 / 0x10 / 0x18 / 0x19-0x1B for hc2-4 / 0x38 -{ 4, DeviceType::THERMOSTAT, "UI800", DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10 +{ 4, DeviceType::THERMOSTAT, "UI800/BC400", DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10 { 65, DeviceType::THERMOSTAT, "RC10", DeviceFlags::EMS_DEVICE_FLAG_RC20_N},// 0x17 { 67, DeviceType::THERMOSTAT, "RC30", DeviceFlags::EMS_DEVICE_FLAG_RC30_N},// 0x10 - based on RC35 { 77, DeviceType::THERMOSTAT, "RC20/Moduline 300", DeviceFlags::EMS_DEVICE_FLAG_RC20},// 0x17 diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index e601d3d96..7bfa5b89b 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -156,6 +156,18 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const DeviceValueNumOp::DV_NUMOP_DIV10, FL_(exhaustTemp), DeviceValueUOM::DEGREES); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &heatblock_, + DeviceValueType::USHORT, + DeviceValueNumOp::DV_NUMOP_DIV10, + FL_(heatblock), + DeviceValueUOM::DEGREES); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &headertemp_, + DeviceValueType::USHORT, + DeviceValueNumOp::DV_NUMOP_DIV10, + FL_(headertemp), + DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &burnGas_, DeviceValueType::BOOL, FL_(burnGas), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &burnGas2_, DeviceValueType::BOOL, FL_(burnGas2), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &flameCurr_, DeviceValueType::USHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(flameCurr), DeviceValueUOM::UA); @@ -1158,6 +1170,8 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr telegram has_update(telegram, sysPress_, 21); //has_update(telegram, temperatur_, 13); // unknown temperature + has_update(telegram, heatblock_, 23); // see #1317 + has_update(telegram, headertemp_, 25); // see #1317 //has_update(telegram, temperatur_, 27); // unknown temperature has_update(telegram, exhaustTemp_, 31); diff --git a/src/devices/boiler.h b/src/devices/boiler.h index 3f99acbee..de18b68e3 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -145,6 +145,8 @@ class Boiler : public EMSdevice { uint16_t serviceCodeNumber_; // error/service code uint8_t emergencyOps_; uint8_t emergencyTemp_; + uint16_t headertemp_; // see #1317 + uint16_t heatblock_; // see #1317 // info uint32_t upTimeControl_; // Operating time control diff --git a/src/locale_translations.h b/src/locale_translations.h index c8cb83a74..8ff6e15cc 100644 --- a/src/locale_translations.h +++ b/src/locale_translations.h @@ -336,6 +336,8 @@ MAKE_TRANSLATION(maintenanceTime, "maintenancetime", "time to next maintenance", MAKE_TRANSLATION(emergencyOps, "emergencyops", "emergency operation", "Notoperation", "Noodoperatie", "Nöddrift", "praca w trybie awaryjnym", "nøddrift", "opération d'urgence", "acil durum çalışması", "operazione di emergenza") MAKE_TRANSLATION(emergencyTemp, "emergencytemp", "emergency temperature", "Nottemperatur", "Noodtemperatuur", "Nöddrift temperatur", "temperatura w trybie awaryjnym", "nødtemperatur", "température d'urgence", "acil durum sıcaklığı", "temperatura di emergenza") MAKE_TRANSLATION(pumpMode, "pumpmode", "boiler pump mode", "Kesselpumpen Modus", "Ketelpomp modus", "", "tryb pracy pompy kotła", "pumpemodus", "", "pompa modu", "modalità pompa caldaia") // TODO translate +MAKE_TRANSLATION(headertemp, "headertemp", "low loss header", "Hydr. Weiche", "open verdeler", "", "", "", " bouteille de déc. hydr.", "isı bloğu gidiş suyu sıc.", "comp. idr.") // TODO translate +MAKE_TRANSLATION(heatblock, "heatblock", "heating block", "Wärmezelle", "Aanvoertemp. warmtecel", "", "", "", "départ corps de chauffe", "Hid.denge kabı sıcaklığı", "mandata scamb. pr.") // TODO translate // heatpump/compress specific 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")