From e9e3759db35002a83ae7226eb308b7765018b7e1 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 10 Apr 2026 14:19:39 +0200 Subject: [PATCH] add solar ts3 --- src/core/locale_translations.h | 3 ++- src/devices/solar.cpp | 7 +++++++ src/devices/solar.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/core/locale_translations.h b/src/core/locale_translations.h index a56633592..110238bfc 100644 --- a/src/core/locale_translations.h +++ b/src/core/locale_translations.h @@ -860,8 +860,9 @@ MAKE_TRANSLATION(poolShunt, "poolshunt", "pool shunt open/close (0% = pool / 100 MAKE_TRANSLATION(hydrTemp, "hydrTemp", "hydraulic header temperature", "Verteilertemperatur", "Temperatuur open verdeler", "Fördelartemperatur", "temperatura kolektora hydraulicznego", "Fordelertemperatur", "température collecteur hydraulique", "hidrolik başlık sıcaklığı", "temperatura del collettore", "teplota hydraulickej hlavice", "teplota hydraulické hlavice") // 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(cylMiddleTemp, "cylmiddletemp", "cylinder middle temperature (TS14)", "Speichertemperatur Mitte (TS14)", "Zonneboilertemperatuur midden (TS14)", "Cylindertemperatur Mitten (TS14)", "temperatura w środku zasobnika (TS14)", "beredertemperatur i midten (TS14)", "température moyenne cylindre (TS14)", "orta depolama sıcaklığı (TS14)", "temperatura di conservazione media accumulo (TS14)", "stredná teplota valca (TS14)", "teplota středu válce (TS14)") 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(ts3, "ts3", "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(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)") diff --git a/src/devices/solar.cpp b/src/devices/solar.cpp index 2aa874869..4746487b5 100644 --- a/src/devices/solar.cpp +++ b/src/devices/solar.cpp @@ -190,6 +190,12 @@ Solar::Solar(uint8_t device_type, uint8_t device_id, uint8_t product_id, const c DeviceValueNumOp::DV_NUMOP_DIV10, FL_(cylMiddleTemp), DeviceValueUOM::DEGREES); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &ts3_, + DeviceValueType::INT16, + DeviceValueNumOp::DV_NUMOP_DIV10, + FL_(ts3), + DeviceValueUOM::DEGREES); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &retHeatAssist_, DeviceValueType::INT16, @@ -613,6 +619,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, ts3_, 14); // is *10 - TS3: cylinder middle temperature, see discord has_update(telegram, ts8_, 22); // is *10 - TS8: ? has_update(telegram, cylBottomTemp3_, 24); // is *10 - TS5: Temperature sensor cylinder 3, bottom } diff --git a/src/devices/solar.h b/src/devices/solar.h index 39617655a..0fc30918b 100644 --- a/src/devices/solar.h +++ b/src/devices/solar.h @@ -37,6 +37,7 @@ 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 ts3_; // TS3: Temperature sensor cylinder middle int16_t ts8_; // TS8: Temperature sensor for ? int16_t ts16_; // TS16: Temperature sensor for ? int16_t cylMiddleTemp_; // TS14: Cylinder middle temp