Configured my ESPHome with MCP2515 CAN-Bus for Stiebel Eltron heating pump

Hi all,

I have a WPF7 from 2012 and tried running the code from GitHub - bullitt186/ha-stiebel-control: An ESPhome / Home Assistant configuration to monitor & configure Stiebel Eltron Heating Pumps via a CAN Interface. I don’t have any FEK or ISG, just the MCP2515 CAN-Tranceiver. Bus speed is indeed 20kbps, I checked that with the oscilloscope.

My logs are filled with this kind of messages (from 601):

[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2560    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2312    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    INDEX_NOT_FOUND:        0       (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2560    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:15:32][I][processCanMessage():107]: 601:    BUSKONFIGURATION:       2304    (et_default)                                                                       

If I disable processing for 601 to make the logs quieter, I see that some read messages are sent to the bus but there is no corresponding reply. From time to time, I see frames coming from 480 and 180 but that does not seem to make sense:

[17:24:13][I][readSignal():159]: READ "SOMMERBETRIEB" (0xfdb4) FROM MANAGER (0x480 {0x91, 0x00}): 91, 00, fa, fd, b4, 00, 00                                       
[17:24:17][I][readSignal():159]: READ "STUNDE" (0x0125) FROM MANAGER (0x480 {0x91, 0x00}): 91, 00, fa, 01, 25, 00, 00                                              
[17:24:20][I][readSignal():159]: READ "WW_ECO" (0x027e) FROM MANAGER (0x480 {0x91, 0x00}): 91, 00, fa, 02, 7e, 00, 00                                              
[17:24:25][I][readSignal():159]: READ "PROGRAMMSCHALTER" (0x0112) FROM MANAGER (0x480 {0x91, 0x00}): 91, 00, fa, 01, 12, 00, 00                                    
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    CAN_FEHLERMELDUNG:      1024    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    INDEX_NOT_FOUND:        512     (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    CAN_FEHLERMELDUNG:      1024    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2560    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    INITIALISIERUNG:        18      (et_little_endian)                                                                 
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2560    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2560    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    INDEX_NOT_FOUND:        16      (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    INITIALISIERUNG:        18      (et_little_endian)                                                                 
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                                                                                                          
[17:24:25][I][processCanMessage():107]: 480:    INDEX_NOT_FOUND:        -759    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    INITIALISIERUNG:        18      (et_little_endian)                                                                 
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2560    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 480:    INITIALISIERUNG:        18      (et_little_endian)                                                                 
[17:24:25][I][processCanMessage():107]: 480:    BUSKONFIGURATION:       2304    (et_default)                                                                                                                                                   
[17:24:25][I][processCanMessage():107]: 180:    BUSKONFIGURATION:       2304    (et_default)                                                                       
[17:24:25][I][processCanMessage():107]: 180:    INITIALISIERUNG:        18      (et_little_endian)
[17:24:26][I][readSignal():159]: READ "JAHR" (0x0124) FROM MANAGER (0x480 {0x91, 0x00}): 91, 00, fa, 01, 24, 00, 00
[17:24:28][I][readSignal():159]: READ "SEKUNDE" (0x0127) FROM MANAGER (0x480 {0x91, 0x00}): 91, 00, fa, 01, 27, 00, 00
[17:24:28][I][readSignal():159]: READ "MINUTE" (0x0126) FROM MANAGER (0x480 {0x91, 0x00}): 91, 00, fa, 01, 26, 00, 00
[17:24:29][I][processCanMessage():107]: 480:    INITIALISIERUNG:        18      (et_little_endian)

Also, after a while, the heat pump stops sending anything to the bus!? I must power cycle the heat pump to get things back on the CAN bus. I have noticed that when the heat pump sends to the bus, the signal is at ~2.5V peak-to-peak, but when the MCP2515 sends, the signal drops to something like 1.5V peak-to-peak (I don’t remember exactly, I need to double check again). This seems weird but I have zero experience with CAN bus.

Has anyone already experienced anything like this?

This ist very interessting to me, thanks for this thread. :slight_smile:

My parents own a Stiebel ELTRON Heatpump with WPM and ISGweb. Sadly there is no FET installed. I wonder if i can send the indoor temperature and humidity-values from Home Assistant to the WPM via Can-Bus. Would this be possible with this project without buying an FET?

sorry for late answer. I don’t get it working. Every time I try so send the CAN message to set the hot-water temperature the heat pumps shows fault on the LCD. It seems I don’t have properly CAN addresses for my WPM4.
Actually I just wish to start/stop the heating element to warm the hot water with solar power. But I don’t know how to do it.

@Kassel have you tried to scan you CAN bus?

No, I’m using MCP2515 with Wroom - so no Scan is possible.

Maybe I can help you as soon as I have set up everything. I will read the can bus using an USB device. So I can perform a scan. Bit it will take some time. i will weite you.

Based on the instructions given in this thread, I’ve been controlling and reading my WPF07 for warming the house and water. Now I’m receiving this yellow error message:

[22:11:29][W][component:214]: Component canbus took a long time for an operation (0.07 s).
[22:11:29][W][component:215]: Components should block for at most 20-30ms.

I replaced MCP2515 with a new one, but the error message did not disappear. The delay the system get varies 0.05 → 0.09 s. At this point I do not see any actual harm, but clearly the message tells there is some trouble. Any advice how to proceed? Thanks!

EDIT: It seems the communication with the WPF07 is disturbed. The pump does not react to all the commands as earlier. The information from the pump comes as earlier. Just wondering where the trouble is… As I replaced the MCP2515, the trouble might be in the heat pump? I’ll need to change the ESP32, too, as I will receive new ones shortly.

@nieminen : how many sensor values are you trying to get at once? maybe that snippet helps: https://github.com/kr0ner/OneESP32ToRuleThemAll/blob/e2458f2adccbe1149cc9dcacf8c0d1b9607e8530/thz504.yaml#L62-L78

That might be a nice solution, thanks! This is probably an elementary question: in your code, where do you declare “Kessel” and the queueRequest function? When compiling I get these error messages:

– /config/esphome/stiebeleltronwpf07.yaml:7:20: error: ‘Kessel’ was not declared in this scope
– /config/esphome/stiebeleltronwpf07.yaml:7:28: error: ‘Property’ has not been declared
– /config/esphome/stiebeleltronwpf07.yaml:7:7: error: ‘queueRequest’ was not declared in this scope

Kessel is just the CAN target

queueRequest is simple … it just adds the params, that are usually passed to requestData function, to a global queue

It is heavily based on the code from GitHub - bullitt186/ha-stiebel-control: An ESPhome / Home Assistant configuration to monitor & configure Stiebel Eltron Heating Pumps via a CAN Interface but I introduced enums instead of strings to lower the memory footprint.

Many thanks! I’ll need to work with that, as there are quite a few sensor values that I’m fetching.

I noticed that I get these yellow error messages even though the MCP2515 is NOT connected to WPF07:

[09:23:03][W][component:214]: Component api took a long time for an operation (0.05 s).
[09:23:03][W][component:215]: Components should block for at most 20-30ms.

So the trouble is not with the pump. As I just replaced the MCP2515 component, it may be that my current problem is with ESP32. Or, for some reason, some HA update in esphome etc. made that I simply have too many sensors and I’ll need to work according to the kind advice from kr0ner (which is reasonable at any case).

@nieminen

While looking at the datasheet/impl
I came across this functionality

It should be possible to make the mcp2515 only react to certain CAN messages and even parse the first two bytes of the payload(which to our luck contain the ID of the sender :sunglasses: )

The other CAN devices, like the FEK or the Front Display also request data from the WP periodically. Those requests are only relevant when trying to find out new IDs, but are not of interest after that. However they are still received and have to be transferred via SPI and parsed. It should not be a lot of work for the ESP, but might add to the runtime :man_shrugging:

Edit: saw you reply just now … so that seems to be not the issue. Will have a closer look at the MCP2525 SPI impl then.

Hi guys,

first of all, I would like to thank you all for the good work. I tried to replicate each single step but unfortunately I do not get the expected results.

I have a Tecalor THZ504 which should be the same as a LWZ504 if I am not mistaken. FEK or ISG WEB not installed.

I tried the CAN-ID: 0x680 and CAN-ID: 0x6a2 but I only get a respond on 180.

Does someone also has a 504 and give me a hint.

LOG:

[22:03:25][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[22:03:25][I][main:1363]: Antwort von 180 Hex: d2 21 fa 0 c 0 1b
[22:03:25][I][main:1364]: Antwort von 180 Float: 27.000000
[22:03:25][I][main:1365]: Antwort von 180 Dez.: 0 27
[22:03:25][I][main:1366]: Antwort klein von 180 Float: 12.000000
[22:03:25][I][main:1367]: Antwort klein von 180 Dez.: 0 12
[22:03:25][D][canbus:072]: received can message (#2) std can_id=0x180 size=7
[22:03:25][I][main:1363]: Antwort von 180 Hex: d2 21 fa 0 e 1 ec
[22:03:25][I][main:1364]: Antwort von 180 Float: 492.000000
[22:03:25][I][main:1365]: Antwort von 180 Dez.: 1 236
[22:03:25][I][main:1366]: Antwort klein von 180 Float: 14.000000
[22:03:25][I][main:1367]: Antwort klein von 180 Dez.: 0 14
[22:03:25][D][canbus:072]: received can message (#3) std can_id=0x180 size=7
[22:03:25][I][main:1363]: Antwort von 180 Hex: d2 21 fa 6 4a 0 10
[22:03:25][I][main:1364]: Antwort von 180 Float: 16.000000
[22:03:25][I][main:1365]: Antwort von 180 Dez.: 0 16
[22:03:25][I][main:1366]: Antwort klein von 180 Float: 1610.000000
[22:03:26][I][main:1367]: Antwort klein von 180 Dez.: 6 74
[22:03:26][D][canbus:072]: received can message (#4) std can_id=0x6a1 size=7
[22:03:26][W][component:214]: Component canbus took a long time for an operation (0.12 s).
[22:03:26][W][component:215]: Components should block for at most 20-30ms.
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:41][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state OFF
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:41][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state OFF
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:41][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state OFF
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:41][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state OFF
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:41][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state OFF
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:41][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:41][D][binary_sensor:036]: 'update_sensor': Sending state OFF
[22:03:41][D][sensor:094]: 'COP-Wert Warmwasser': Sending state nan a.u. with 2 decimals of accuracy
[22:03:41][W][component:214]: Component template.sensor took a long time for an operation (0.13 s).
[22:03:41][W][component:215]: Components should block for at most 20-30ms.
[22:03:47][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:47][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:47][D][binary_sensor:036]: 'update_sensor': Sending state OFF
[22:03:54][D][binary_sensor:036]: 'update_sensor': Sending state ON
[22:03:54][D][canbus:035]: send standard id=0x680 rtr=FALSE size=7
[22:03:54][D][binary_sensor:036]: 'update_sensor': Sending state OFF

@Hotdogxxxx I also have the THZ504 and most of the stuff works thanks to all the input from this thread :slight_smile:

A colleague and I are working on a full implementation for the THZ504.

Maybe this helps:

For your specific problem look into stiebeltools/communication.h and check manager & heizmodul 0x301 and 0x302 If i remember correctly. Compare the send/receive IDs with yours. Also there you need to Set the ESPclient to 0x6a2, not only in the yaml

Thanks mate! I looked through your GitHub and tried to replicate your code. By the way I really like and appreciate how clear you structured your code. I removed the watermeter, energymeter sensor and other stuff e.g. sml-reader which seems to be connected to your board and setup.

As a result I get more log information but i am still missing a lot. It seems that he stills recieves data only from can-id 180. Any idea what I shall try next.

[11:08:05][I][custom:530]: Unhandled Id 064a
[11:08:07][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:08:10][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:08:15][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:08:17][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:08:17][D][sensor:094]: 'WOCHENTAG': Sending state 4.00000  with 0 decimals of accuracy
[11:08:19][D][canbus:072]: received can message (#1) std can_id=0x6a1 size=7
[11:08:19][D][canbus:072]: received can message (#2) std can_id=0x180 size=7
[11:08:19][I][custom:530]: Unhandled Id 019a
[11:08:22][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:08:22][D][sensor:094]: 'MINUTE': Sending state 5.00000  with 0 decimals of accuracy
[11:08:55][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:09:07][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:09:10][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:09:17][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:09:17][D][sensor:094]: 'STUNDE': Sending state 11.00000  with 0 decimals of accuracy
[11:09:55][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:10:07][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:10:10][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:10:17][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:10:17][D][sensor:094]: 'WOCHENTAG': Sending state 4.00000  with 0 decimals of accuracy
[11:10:17][D][canbus:072]: received can message (#2) std can_id=0x180 size=7
[11:10:17][D][sensor:094]: 'TAG': Sending state 8.00000  with 0 decimals of accuracy
[11:10:22][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:10:22][D][sensor:094]: 'MINUTE': Sending state 7.00000  with 0 decimals of accuracy
[11:10:29][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:10:29][D][sensor:094]: 'AUSSENTEMP': Sending state 2.70000 °C with 1 decimals of accuracy
[11:10:29][D][canbus:072]: received can message (#2) std can_id=0x6a1 size=7
[11:10:29][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:10:29][D][sensor:094]: 'SPEICHERISTTEMP': Sending state 44.20000 °C with 1 decimals of accuracy
[11:10:29][D][climate:380]: 'HotWater' - Sending state:
[11:10:29][D][climate:383]:   Mode: OFF
[11:10:29][D][climate:403]:   Current Temperature: 44.20°C
[11:10:29][D][climate:409]:   Target Temperature: 2.37°C
[11:10:29][D][canbus:072]: received can message (#2) std can_id=0x180 size=7
[11:10:29][I][custom:530]: Unhandled Id 064a
[11:10:29][D][canbus:072]: received can message (#3) std can_id=0x6a1 size=7
[11:10:29][W][component:214]: Component canbus took a long time for an operation (0.06 s).
[11:10:29][W][component:215]: Components should block for at most 20-30ms.
[11:10:38][D][canbus:072]: received can message (#1) std can_id=0x6a1 size=7
[11:10:55][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:11:00][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:11:00][D][sensor:094]: 'AUSSENTEMP': Sending state 2.60000 °C with 1 decimals of accuracy
[11:11:00][D][canbus:072]: received can message (#2) std can_id=0x180 size=7
[11:11:00][D][sensor:094]: 'SPEICHERISTTEMP': Sending state 44.20000 °C with 1 decimals of accuracy
[11:11:00][D][climate:380]: 'HotWater' - Sending state:
[11:11:00][D][climate:383]:   Mode: OFF
[11:11:00][D][climate:403]:   Current Temperature: 44.20°C
[11:11:00][D][climate:409]:   Target Temperature: 2.37°C
[11:11:00][D][canbus:072]: received can message (#3) std can_id=0x180 size=7
[11:11:00][I][custom:530]: Unhandled Id 064a
[11:11:00][W][component:214]: Component canbus took a long time for an operation (0.06 s).
[11:11:00][W][component:215]: Components should block for at most 20-30ms.
[11:11:07][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:11:10][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:11:12][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:11:17][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:11:17][D][sensor:094]: 'STUNDE': Sending state 11.00000  with 0 decimals of accuracy
[11:11:17][D][canbus:072]: received can message (#2) std can_id=0x180 size=7
[11:11:17][D][sensor:094]: 'MINUTE': Sending state 7.00000  with 0 decimals of accuracy
[11:11:55][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:12:07][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:12:10][D][canbus:035]: send standard id=0x6a2 rtr=FALSE size=7
[11:12:17][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:12:17][D][sensor:094]: 'FEHLERMELDUNG': Sending state 0.00000  with 0 decimals of accuracy
[11:12:17][D][canbus:072]: received can message (#1) std can_id=0x180 size=7
[11:12:17][D][sensor:094]: 'BETRIEBS_STATUS': Sending state 1031.00000  with 0 decimals of accuracy

And what does it mean that he finds unhandled Id’s or runs into a timeout?

[11:08:05][I][custom:530]: Unhandled Id 064a
[11:11:00][W][component:214]: Component canbus took a long time for an operation (0.06 s).
[11:11:00][W][component:215]: Components should block for at most 20-30ms.
[11:08:19][I][custom:530]: Unhandled Id 019a

@Hotdogxxxx It’s still work in progress, so there is a lot of stuff missing :wink: for the THZ504 most of the stuff is sent by Kessel (0x180) … At least the things we are looking at right now.

The timeout you can ignore for now … We have to filter only for 0x180 so that it does not get spamed.

The unhandled ID you can look Up in property.h
We dont handle them in the can receive lambda

E.g. kSOFTWARE_VERSION=0x019a,

It comes in handy to add new features. Press the Buttons on the terminal, see which iD was sent, add to yaml. Profit :sunglasses:

@kr0ner I am not sure if I understand correctly. So far I get only the details of 4 or 5 entities. Basically the details which are shown on the standby screen of the terminal. I clicked through the terminal and then the Roomtemperture by night came up which was not discovered previously. Does it mean that at this point your code does not pull the data automatically and showns only what is currently shown on the terminal?

What can I do to help?

There is a fix in progress. The problem is with the update_interval of the sensor, which can be up to an hour. So the requests should always be added to on_boot as well, to issue the Initial request

edit: you can find the correct IDs for more features if you like :slight_smile: or Double check the existing ones :+1: that would really help getting it more stable

Humm… I am still not sure if the problem is related to the code or if I did something wrong with the cabling or initial setup.

Even after more than an hour I still only have 4-5 entities that get updated or at least shows up in the log file. e.g. Außentemperatur, Date, Time or Hotwater details shows up every 10 - 15 seconds. Thats basically it.

In order to receive the other entities e.g. consumption details like ‘WAERMEERTRAG_WW_SUM_KWH’ I have to scroll through the menu of the terminal. After the details are displayed on the terminal they show up in the log file and get updated in HA as long as I have the details shown on the terminal.

So the question I ask myself is, Is this a feature of your code :wink: or a bug.

Definitely a bug :sweat_smile: can you compile with verbose and DM me the log? Or just create an issue in GitHub :wink: so we dont spam too much here