diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index e59e784e9..ed9f0c852 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -29,6 +29,7 @@ For more details go to [docs.emsesp.org](https://docs.emsesp.org/). - Greenstar 2000 [#2645](https://github.com/emsesp/EMS-ESP32/issues/2645) - RC3xx `dhw modetype` [#2659](https://github.com/emsesp/EMS-ESP32/discussions/2659) - new boiler entities VR0,VR1, compressor speed [#2669](https://github.com/emsesp/EMS-ESP32/issues/2669) +- solar temperature TS16 [#2690](https://github.com/emsesp/EMS-ESP32/issues/2690) ## Fixed diff --git a/src/core/locale_translations.h b/src/core/locale_translations.h index aa2bba5ea..588a11d56 100644 --- a/src/core/locale_translations.h +++ b/src/core/locale_translations.h @@ -843,7 +843,8 @@ MAKE_TRANSLATION(hydrTemp, "hydrTemp", "hydraulic header temperature", "Verteile // solar MAKE_TRANSLATION(cylMiddleTemp, "cylmiddletemp", "cylinder middle temperature (TS3)", "Speichertemperatur Mitte (TS3)", "Zonneboilertemperatuur midden (TS3)", "Cylindertemperatur Mitten (TS3)", "temperatura w środku zasobnika (TS3)", "beredertemperatur i midten (TS3)", "température moyenne cylindre (TS3)", "orta depolama sıcaklığı (TS3)", "temperatura di conservazione media accumulo (TS3)", "stredná teplota valca (TS3)", "teplota středu válce (TS3)") MAKE_TRANSLATION(retHeatAssist, "retheatassist", "return temperature heat assistance (TS4)", "Anhebung Rücklauftemp. (TS4)", "Retourtemperatuur verwarmingsassistentie (TS4)", "Returtemperatur värmestöd (TS4)", "temperatura powrotu wspomagania grzania (TS4)", "returtemperatur varmestøtte (TS4)", "température retour de assistance thermique (TS4)", "geri dönüş sıcaklığı artışı (TS4)", "temperatura ritorno scambiatore (TS4)", "pomoc pri teplote spiatočky (TS4)", "teplota zpátečky pomocného topení (TS4)") -MAKE_TRANSLATION(ts8, "ts8", "return temperature heat assistance (TS8)", "Anhebung Rücklauftemp. (TS8)", "Retourtemperatuur verwarmingsassistentie (TS8)", "Returtemperatur värmestöd (TS8)", "temperatura powrotu wspomagania grzania (TS8)", "returtemperatur varmestøtte (TS8)", "température retour de assistance thermique (TS8)", "geri dönüş sıcaklığı artışı (TS8)", "temperatura ritorno scambiatore (TS8)", "pomoc pri teplote spiatočky (TS8)", "teplota zpátečky pomocného topení (TS8)") +MAKE_TRANSLATION(ts8, "ts8", "(TS8)", "(TS8)") +MAKE_TRANSLATION(ts16, "ts16", "(TS16)","(TS16)") MAKE_TRANSLATION(m1Valve, "heatassistvalve", "heat assistance valve (M1)", "Ventil Heizungsunterstützung (M1)", "Klep verwarmingsassistentie (M1)", "Uppvärmningsstöd Ventil (M1)", "zawór wspomagania grzania (M1)", "varmehjelpsventil (M1)", "vanne assistance thermique (M1)", "ısıtma yardım vanası (M1)", "valvola scambiatore (M1)", "tepelný asistenčný ventil (M1)", "ventil pomocného topení (M1)") MAKE_TRANSLATION(m1Power, "heatassistpower", "heat assistance valve power (M1)", "Ventilleistung Heizungsunterstützung (M1)", "Vermogen klep verwarmingsassistentie (M1)", "Uppvärmningsstöd Ventil Effekt (M1)", "moc zaworu wspomagania grzania (M1)", "varmehjelpsventileffekt (M1)", "puissance vanne assistance thermique (M1)", "ısıtma yardım vanası gücü (M1)", "potenza valvola scambiatore (M1)", "výkon ventilu tepelného asistenta (M1)", "výkon ventilu pomocného topení (M1)") MAKE_TRANSLATION(pumpMinMod, "pumpminmod", "minimum pump modulation", "minimale Pumpenmodulation", "Minimale pompmodulatie", "Min Pumpmodulering", "minimalna modulacja pompy", "minimum pumpmodulering", "modulation minimale pompe", "minimum pompa modülasyonu", "modulazione minima pompa", "minimálna modulácia čerpadla", "minimální modulace čerpadla") diff --git a/src/devices/solar.cpp b/src/devices/solar.cpp index bbaffcc7f..c36691cfc 100644 --- a/src/devices/solar.cpp +++ b/src/devices/solar.cpp @@ -196,6 +196,8 @@ Solar::Solar(uint8_t device_type, uint8_t device_id, uint8_t product_id, const c DeviceValueNumOp::DV_NUMOP_DIV10, FL_(retHeatAssist), DeviceValueUOM::DEGREES); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &ts8_, DeviceValueType::INT16, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(ts8), DeviceValueUOM::DEGREES); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &ts16_, DeviceValueType::INT16, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(ts16), DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &m1Valve_, DeviceValueType::BOOL, FL_(m1Valve), DeviceValueUOM::NONE); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &m1Power_, DeviceValueType::UINT8, FL_(m1Power), DeviceValueUOM::PERCENT); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &solarPump2_, DeviceValueType::BOOL, FL_(solarPump2), DeviceValueUOM::NONE); @@ -598,6 +600,7 @@ void Solar::process_SM100Monitor(std::shared_ptr telegram) { has_update(telegram, collector2Temp_, 6); // is *10 - TS7: Temperature sensor for collector array 2 has_update(telegram, cylMiddleTemp_, 8); // is *10 - TS14: cylinder middle temperature has_update(telegram, retHeatAssist_, 10); // is *10 - TS15: return temperature heating assistance + has_update(telegram, ts8_, 22); // is *10 - TS8: ? has_update(telegram, cylBottomTemp3_, 24); // is *10 - TS5: Temperature sensor cylinder 3, bottom } @@ -611,6 +614,7 @@ void Solar::process_SM100Monitor2(std::shared_ptr telegram) { has_update(telegram, swapRetTemp_, 6); // is *10 has_update(telegram, swapFlowTemp_, 8); // is *10 has_update(telegram, cylTopTemp_, 10); // is *10 - TS10: cylinder top temperature + has_update(telegram, ts16_, 13); // is *10 - TS16, see https://github.com/emsesp/EMS-ESP32/issues/2690 } // SM100Config - 0x0366 diff --git a/src/devices/solar.h b/src/devices/solar.h index 0a696f1b9..a00325ecf 100644 --- a/src/devices/solar.h +++ b/src/devices/solar.h @@ -37,6 +37,8 @@ class Solar : public EMSdevice { int16_t cylTopTemp_; // TS10: Temperature sensor 1 cylinder, Top int16_t heatExchangerTemp_; // TS6: Heat exchanger temperature sensor int16_t collector2Temp_; // TS7: Temperature sensor for collector array 2 + int16_t ts8_; // TS8: Temperature sensor for ? + int16_t ts16_; // TS16: Temperature sensor for ? int16_t cylMiddleTemp_; // TS14: Cylinder middle temp int16_t retHeatAssist_; // TS15: return temperature heating assistance uint8_t solarPumpMod_; // PS1: modulation solar pump