THZ Tecalor (LWZ Stiebel Eltron) module support and code improvement.

Begonnen von immi, 02 Februar 2015, 11:42:16

Vorheriges Thema - Nächstes Thema

mwuerr

#1200
Hi immi,
hi belu, hi godmorgon or whoever has a THZ504 or uses getsonly539.
I am suspecting that the ids of sFlowRate and sComprRelPower are swapped.

quote from https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/00_THZ.pm

my %getsonly539 = (  #info from belu and godmorgon
806      "sFlowRate"          => {cmd2=>"0A033B", type =>"1clean", unit =>" cl/min"},
...
810      "sComprRelPower"      => {cmd2=>"0A069B", type =>"1clean", unit =>" %"},



the attached diagram shows that sFlowRate follows sHeatingRelPower (in the range where sHeatingRelPower results in the Inverter running, starting at 40)
while sComprRelPower does what one would the flow of water through the heating circuit expect to do. To sniffel every once in a while and then to go to a constant value in preparation of a heating cycle and to jump to a higher value during a warm water cycle, which was around 12:00.
Du darfst diesen Dateianhang nicht ansehen.

Version: 00_THZ.pm           28108 2023-10-30 09:08:21Z immi

can anyone with a THZ 504 or a different inverter base system who uses getsonly539 confirm my findings?
@belu, @godmorgon
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

abu18

Zitat von: immi am 07 Dezember 2023, 21:00:05zControlValveDHW committed

Thanks :-)

@mwuerr: For me (LWZ 304 Trend/5.39technician) sFlowRate is correct...


immi

Zitat von: mwuerr am 18 Dezember 2023, 15:12:54can anyone with a THZ 504 or a different inverter base system who uses getsonly539 confirm my findings?
Zitat von: abu18 am 19 Dezember 2023, 08:01:47@mwuerr: For me (LWZ 304 Trend/5.39technician) sFlowRate is correct...
Hi mwuerr,
I do not have a 5.39, thefore I cannot xcheck.
With abu18 contraddiction, I cannot change the code for 5.39
If you see more differences and aggregate them, I can make you a version like 5.39mwuerr
immi

mwuerr

Hi immi,

Zitat von: immi am 29 Dezember 2023, 11:51:56With abu18 contraddiction, I cannot change the code for 5.39

Thats why I was asking. To see if my findings are true also for other devices/versions.


You seem to have been doing quite well with just differentiating by firmware versions, I would like to know if anyone has found that the device type is also relevant or if Stiebel/Tecalor realy uses the same software in all their devices. In addition the the configured firmware version that the 00_THZ should assume it would also be great to know the firmware version you realy have.
Thanks @abu18 for mentioning that yours is a LWZ 304 Trend. Can you please provide your firmware version.

Because of that: Are there any other THZ504 / LWZ8CS users our there who cold confirm or reject my finding please.

Mine:
mwuerr
Device Type: THZ504

sFirmware "version: 07.59"
sFirmware-Id "HW: 239 SW: 4.16 Date: NOV 7 2022"
running with 00_THZ.pm "28108 2023-10-30 09:08:21Z immi" configured attributes: firmware="5.39"


Zitat von: immi am 29 Dezember 2023, 11:51:56If you see more differences and aggregate them, I can make you a version like 5.39mwuerr
I will monitor it, gather and contact you. Thanks.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

mwuerr

#1204
After talking privately to immi I have agreed with him that we will improve the wiki article.

* https://wiki.fhem.de/wiki/Tecalor_THZ_W%C3%A4rmepumpe
* https://wiki.fhem.de/wiki/Tecalor_THZ_Heatpump

We meaning I will do the job, but I need some support, some questions answered. Mainly from previous editors, but probably also from immi and some of you.

Lets start with
@Krikan: von 2016-05-04 you have modified the english version: https://wiki.fhem.de/w/index.php?title=Tecalor_THZ_Heatpump&type=revision&diff=15290&oldid=10433
"‎Beispielkonfiguration: -> Anpassung an geändertes trigger-Verhalten userReadings"
Together with several other module documentations.

I have ported this over to the german version now.
https://wiki.fhem.de/w/index.php?title=Tecalor_THZ_W%C3%A4rmepumpe&type=revision&diff=38846&oldid=24988
Please confirm that what I copied to the german version is correct.

As far as my comparison worked this is the only content difference between the english and the german version. I have compared the version history, and ignored edits that only contained formating or spelling corrections. I have not compared the actual content of the two articles.

I will from now on extend the german version with new content and add markers in the english version that those sections are missing there, linking to the sections in the german version. I might - I would like to, but can't promise anything - update the english version later on.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

TheTrumpeter

#1205
Hi immi,

I've seen that the upper limit for p01 is set to 32 °C in THZ-module whereas my heatpump only accepts values up to 30 °C. I guess that's the same for all versions and firmwares. Would you mind changing it some time?
(I guess that also applies for p02 and p03 and the corresponding values for HC2.)
FHEM auf RPi3, THZ (LWZ404SOL), RPII2C & I2C_MCP342x (ADCPiZero), PowerMap, CustomReadings, RPI_GPIO, Twilight, nanoCUL (WMBus für Diehl Wasserzähler & Regenerationszähler für BWT AqaSmart), ESPEasy, TPLinkHS110

mwuerr

Zitat von: TheTrumpeter am 11 Januar 2024, 13:05:42up to 30 °C. I guess that's the same for all versions and firmwares.

I can confirm all your findings and guesses for THZ504 and LWZ8CS, based upon their documentation:

"RT-Tag (P01) °C " = "ROOM TEMPERATURE DAY HC1" accepts from 10 to 30.
P2 (RT-Nacht HK1 / ROOM TEMP. NIGHT HC1) and P3 (RT-Bereit schaft HK1 / ROOM TEMP. STANDBY HC1) have the same input range.

HC2's parameters are defined identical.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

mwuerr

Zitat von: mwuerr am 06 Januar 2024, 23:43:46After talking privately to immi I have agreed with him that we will improve the wiki article.
...
There are some first "results".
1. english and german article are in sync now.
2. based upon my own testing of THZ504 I have added it as a supported device.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

mwuerr

#1208
Please:

I am working on a draft for a better description of the readings of the device. These are named in English, but many of us only have German manuals for their heaters. The manufacturer's translations are not always clear for laypeople. Additionally, Stiebel Eltron/Tecalor has changed parameter names over the years and uses synonyms in the parameter set without explaining them.

I would appreciate it if someone could review the following subchapters from https://wiki.fhem.de/wiki/Benutzer:Mwuerr/Parameter_THZ:

* https://wiki.fhem.de/wiki/Benutzer:Mwuerr/Parameter_THZ#sDisplay
* https://wiki.fhem.de/wiki/Benutzer:Mwuerr/Parameter_THZ#sHistory


Feel free to take a look at the rest, feedback on the rest is also welcome, but please only with rose-colored glasses. The rest is a very early draft.
As you probably do not have accounts on the wiki, please post your feedback here.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

mwuerr

#1209
Zitat von: mwuerr am 12 Januar 2024, 23:45:37I would appreciate it if someone could review...
* https://wiki.fhem.de/wiki/Benutzer:Mwuerr/Parameter_THZ#sDisplay
Related to that:

My THZ504 has 2 additional "Picture symbols on the display":
* Aufheizen / Heat-up: This symbol shows when the dry heating (screed drying)
program runs.
* EVU-Sperre / Power-OFF: This symbol lights up if the appliance has no enable signal
from the power supply utility.

Do other devices also support those two symbols (just open your manual, chapter ~4.1.1 Display should answer that)?
And does anyone know what bits they are encoded in?
I am not very motivated to switch to "Heat-up" mode in order to figure out the value. I might toy around with the Power-off.
But I would need a raw value of 0A0176Dis / 0A0176 in order to see the change. How can I get 00_THZ.pm to print me the raw value into annother reading? (probably by extending 0A0176Dis with a new entry, but what do I write there? Is there anywhere an explanation about what the numbers e.g. 10,1, <decoding rule>, 1 are? and where the decoding rules that are not defined in the code itself (e.g. "hex") are documented/implemented.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

mwuerr

#1210
Zitat von: mwuerr am 13 Januar 2024, 00:04:12My THZ504 has 2 additional "Picture symbols on the display":
* Aufheizen / Heat-up: This symbol shows when the dry heating (screed drying)
program runs.
* EVU-Sperre / Power-OFF: This symbol lights up if the appliance has no enable signal
from the power supply utility.

I have stubled accross the documentation of the modbus registers for the ISG (InternetServiceGateway).
https://www.stiebel-eltron.de/content/dam/ste/cdbassets/historic/bedienungs-_u_installationsanleitungen/ISG_Modbus__b89c1c53-6d34-4243-a630-b42cf0633361.pdf


The content of address 2001 sounds identical to sDisplay.
ZitatModbus Adresse: 2001
Objekt-bezeichung: BETRIEBSSTATUS
LWZ LWA: x x
Bemerkung: bitcodiert
Min. Wert: 0
Max. Wert: 65535
Daten- typ: 6
Schreiben/ Lesen (w/r): r



Codierung Option
SCHALTPROGRAMM-AKTIV B0
VERDICHTER B1
HEIZEN B2
KUEHLEN B3
WARMWASSERBEREITUNG B4
ELEKTRISCHE-NACHERWAERMUNG B5
SERVICE B6
EVU-SPERRE B7
FILTERWECHSEL-BEIDE B8
LUEFTUNG B9
HEIZKREISPUMPE B10
ABTAUEN-VERDAMPFER B11
FILTERWECHSEL-ABLUFT B12
FILTERWECHSEL-ZULUFT B13
AUFHEIZPROGRAMM-AKTIV B14

reodering the content of sDisplay by bit# I get:
"0A0176Dis" =>
[["switchingProg: ", 11, 1, "bit0", 1], // SCHALTPROGRAMM-AKTIV B0
[" compressor: ", 11, 1, "bit1", 1], // VERDICHTER B1
[" heatingHC: ", 11, 1, "bit2", 1], // HEIZEN B2
[" cooling: ",         11, 1, "bit3", 1], // KUEHLEN B3 <<reordered
[" heatingDHW: ", 10, 1, "bit0", 1], // WARMWASSERBEREITUNG B4
[" boosterHC: ", 10, 1, "bit1", 1], // ELEKTRISCHE-NACHERWAERMUNG B5
[" service: ", 10, 1, "bit2", 1], // SERVICE B6 <<reordered
missing                                    // EVU-SPERRE B7
[" filterBoth: ", 9, 1, "bit0", 1], // FILTERWECHSEL-BEIDE B8
[" ventStage: ", 9, 1, "bit1", 1], // LUEFTUNG B9
[" pumpHC: ",          9, 1, "bit2", 1], // HEIZKREISPUMPE B10
[" defrost: ", 9, 1, "bit3", 1], // ABTAUEN-VERDAMPFER B11
[" filterUp: ",          8, 1, "bit0", 1], // FILTERWECHSEL-ABLUFT B12
[" filterDown: ", 8, 1, "bit1", 1], // FILTERWECHSEL-ZULUFT B13
missing                                    // AUFHEIZPROGRAMM-AKTIV B14


Based upon those findings i think we can be very sure that those two missing symbols are hiding at the two positions I highlighted.
the missing code should be:

From the function that is described by those bits and the position that those two values have in the bit field I would expect that any device that has sDisplay (cmd2=>"0A0176) also supports those two bits. In addition no additional data needs to be read, we just need to interpret what we have. This will not break anything on any devices. ==> i vote for adding those bit decodings without adding any further differentiation (firmwareversion = xyz).

,
[" powerOff: ", 10, 1, "bit3", 1], // EVU-SPERRE B7 / Power-OFF
[" heatUp: ", 8, 1, "bit2", 1] // AUFHEIZPROGRAMM-AKTIV B14 / Heat-up

@immi could you please cross check this syntax wise and would you give me a version I can test.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

mwuerr

reading further in the ISG manual I have stubled accross something else that sounds very interesting and that could help us here in the long run.

5002 REGLERKENNUNG LWZ 303/403 Integral/
SOL 103
LWA 403 103
LWZ 304/404 Trend 103
LWZ 304/404 FLEX 103
LWZ Smart 103
LWZ 604 Air 103
LWZ 5 S Plus 103
LWZ 5 S Trend 103
LWZ 5 S Smart 103
LWZ 304/404 SOL 104
LWZ 504 104
LWZ 5/8 CS Premium 104
WPM 3 390
WPM 3i 391
WPMsystem 449

it could be a parameter that the ISG creates on its own based upon some magic, but it could also be something it reads from the device.
If we could find out how to get that value we would be able to make better differentiations for product functions than "firmware version".
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022

abu18

Zitat von: mwuerr am 06 Januar 2024, 12:32:23Thanks @abu18 for mentioning that yours is a LWZ 304 Trend. Can you please provide your firmware version.

sFirmware "version: 05.09"
sFirmware-Id "HW: 113 SW: 3.17 Date: FEB 15 2016"

immi

Zitat von: mwuerr am 13 Januar 2024, 00:04:12I would need a raw value of 0A0176Dis / 0A0176 in order to see the change. How can I get 00_THZ.pm to print me the raw value into annother reading?
easy way: set the mythz attribute verbose to 5, read/write the register and look at the fhem logfile
e.g.
2024.01.25 13:36:49.362 5: THZ_Get: Try to get 'sDisplay'
.......
2024.01.25 13:36:49.400 5: Parse message: 830A01760001
in this case 83 is the checksum; 0A0176 is the register; 0001 is the raw answer

complex way: only usefull if you want to read 100s ofregisters in one time
look at THZ_debugread(), which you can call  by "get Mythz debug_read_raw_register_slow"


You also asked for the parsing syntax
"FBglob" => [["outsideTemp: ",   8, 4, "hex2int", 10],   [" flowTemp: ",   12, 4, "hex2int", 10],
  • outsideTemp --> label
  • 8 --> position
  • 4 --> char length
  • hex2int --> you can find the parsing rule at circa line 1900
  • 10 --> divisor (divide by 10,100,1...)
e.g.
76FBFDA8007D00F600E2012101....
007D--> 125 -->12,5 outsideTemp
00F6--> 246 -->24,6 flowTemp


One more hint: Please consider that modbus and serialCom tecalor implementation could be very different.
When you have a tested proposal, I can consider merging the code with or without firmware differentiation

mwuerr

#1214
continuing along the line of trying to find a better way than firmware versions to distinguish device types:

see
Zitat von: mwuerr am 16 Januar 2024, 00:44:33reading further in the ISG manual I have stubled accross something else that sounds very interesting and that could help us here in the long run.

5002 REGLERKENNUNG LWZ 303/403 Integral/
...
LWZ 5/8 CS Premium 104
LWZ 8 CS Premium = THZ504.

Related to that I have stumbled accross multiple manuals of Stiebel Eltron (e.g. https://assets.heizung-billiger.de/documents/sima_5.pdf for LWZ604 air) mentioning a parameter Gerätetyp in Menu/Einstellungen/Inbetriebnahme/Regler/Gerätetyp. english: "APPLIANCE TYPE"

My THZ504 reports a "7" in this parameter. Now I do not yet see a relationship with the 104 mentioned in the ISG documentation, however it is interesting to know that such a parameter exists. The THZ304/404 documentation also mentiones the parameter.

Could some of you please check their Display and Manual and report what values they have there. (Device type, value for APPLIANCE TYPE, firmware version, ...)?

Mine: mwuerr THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022, Menu/Einstellungen/Inbetriebnahme/Regler/Gerätetyp. / appliance type: "504Inv"
which is might be numerical 7 according to device documentation (mentioned as default value in the german "Bedienung" which would be Operation document of the THZ504).
Checking some other manuals I have lying around it seems that only the operation / Bedienung manual mentions the default value, any maybe on the german one (e.g. my english manual for the LWZ 8CS ... does not mention a default value). Unfortunately I have none of them yet except the one for my own THZ504.
FHEM auf Raspi 3B, FHEM THZ module, THZ 504, sFirmware: version: 07.59, sFirmware-Id: HW: 239 SW: 4.16 Date: NOV  7 2022