Can you tell me the CAN codes you use to turn on the relais?
I don’t find a way on my Heatingpump to find it out.
0x0693 on 0x180 → 0/1 = Testmode off/on
0x067a on 0x180 → 0/1 = Pufferladepumpe off/on
0x067a on 0x180 → 0/7 = NHZ1 off/on
0x067a on 0x180 → 0/8 = NHZ2 off/on
If I turn NHZ on the Pufferladepumpe turns on automatically. But if I turn it of sometimes it runs for some minutes until I stop it manually
0x4e5e on 0x480 holds the status of the relais as bitcoded value.
NHZ1 = bit 11.
NHZ2 = bit 10.
Pufferladepumpe = bit 8.
All counted from 0.
Use on your own risk!!
There are non of the set temperature limits active using this.
You need to ensure that the NHZ turns off before systemtemperature is too high.
That are adresses for a wpm3i.
There is no quarantee that they are the same on your device.
I made a fork for English translation of the ESP-code. I had to heavily modify the code to get it running on WPC5 pump.
Still lot of sensors are unavailable or shows -255 value. How to get pressure sensors etc. working?
Here is my current config:
Still lot of sensors not working:
Here is my fork:
valexi7/ha-stiebel-control: An ESPhome / Home Assistant configuration to monitor & configure Stiebel Eltron Heating Pumps via a CAN Interface
Hi Stefan
31 00 fa c0 f4 00 00
- platform: template
name: "Verdichterstarts"
id: VD_starts
unit_of_measurement: "a.u."
icon: "mdi:counter"
device_class: "power_factor"
state_class: "measurement"
lambda: |-
id(send_state)[0]=0x31;id(send_state)[1]=0x00;id(send_state)[2]=0xfa;id(send_state)[3]=0xc0;id(send_state)[4]=0xf4;id(send_state)[5]=0x00;id(send_state)[6]=0x00;
id(update_sensor).publish_state(true);
id(update_sensor).publish_state(false);
return {};
update_interval: 2h
accuracy_decimals: 0
- can_id: 0x180
then:
- lambda: |-
if( x[0]== 0xd2
and x[1]== 0x22
and x[2]== 0xfa
and x[3]== 0xc0
and x[4]== 0xf4 ) {
float VD_x =float((int16_t((x[6])+( (x[5])<<8))));
id(VD_starts).publish_state(VD_x);
ESP_LOGD("main", "Verdichterstarts received over can is %f", VD_x);
}
Thank you! Looks like it has a different address on my heating pump
I get
pi@raspberrypi:~ $ ./canprogs-master/can_scan can0 680 180.c0f4 trace
elster-kromschroeder can-bus address scanner and test utility
copyright (c) 2014 Jürg Müller, CH-5524
680 00 [7] 31 00 fa c0 f4 00 00 1......
0 1.1.1970 34:36:26.051 180 00 [7] d2 00 fa c0 f4 80 00 .......
680 00 [7] 31 00 fa c0 f4 00 00 1......
2 1.1.1970 34:36:26.051 680 00 [7] 31 00 fa c0 f4 00 00 1......
3 1.1.1970 34:36:26.051 180 00 [7] d2 00 fa c0 f4 80 00 .......
send ComfortSoft: 0d00030100fac0f4000002bf can232: t68073100FAC0F40000
recv ComfortSoft: 03000d0200fac0f480000340 can232: t1807D200FAC0F48000
value: 8000
While having ~19400 starts at the moment.
Have you found the total amount of hpurs spent for heating, warm water generation and defrost? In German VD Heizen, VD Warmwasser and VD Abtauen?
I enabled the DEBUG logging for the ESP32 to see all the CAN messages, but when I use the heating pump display the log window is empty.
The values are changed in the heating pump display so there is definitely traffic in the CAN network.
I can only read messages and then I will get response. Why is that?
Hello everyone,
I have a problem: I receive a lot of messages via CAN bus. I can also send requests. But I don’t get a response every time. Is this the same for you? Or is there something wrong with my MCP2515? For example, if I query the outside temperature every minute, I may get a response every 3rd-5th time. Or is my ESP8688 too slow? Do I have to use a shielded cable for the bus line?
Can you describe how it is with you?
I use CAT6 cable, so cable is shielded and CAN wires are twisted to avoid interference.
Can you show log, what kind of messages you get? I get only response when I send request. And show your configuration how you get also messages that are not requested…
Are we speaking about updated CAN Messages? Or Updates in HA? Because the sensor value in HA will only be updated If the value Changes.
I don’t use a shielded cable. And I don’t think it’s required.
I know that behavior even with an ESP32-S3 + SN65HVD230 and the internal twai interface and debug log for errors on.
I think sometimes you don’t get answers to values because they don’t have changed since last request. Maybe there is also a internal minimum time between two equal answerses to reduce traffic on the bus.
The other messages you see is the normal traffic on the bus I guess.
Do I understand correctly that if you query the outside temperature every 60 seconds, you won’t get an answer every time?
After a few days, the set temperature for hot water was adjusted. I am still looking for the problem. I have only made 0x31 queries
@kr0ner I‘m speeking about Updates CAN-Messages!
In theory you should always get a reply from the heat pump when you ask for a value. I can query as often as I want, but limit it on purpose. Outside temp won’t change that fast anyways I doubt that a 8266 is capable of running the full stack with more than 100 sensors. So why going through all the trouble if an ESP32 costs less than 10€ ?
With regards to the hot water temp: do you use schedules (day/night) directly in your heat pump? If yes, it might be related to Hot water needs to be split into two entities by kr0ner · Pull Request #90 · kr0ner/OneESP32ToRuleThemAll · GitHub
I’d recommend to use all-day-mode to have a single control for the temps that does not require knowledge about the current time of the day.
Or ECO mode kicks in and lowers the temp for you
What also can produce strange problems is Bad WiFi connection. I experienced a problem some time ago where packets got lost because the ESP was busy with sending values over slow WiFi.
Wifi is also better with an ESP32. With the S3 better than with the S2 to my experience.
I would also suggest you to switch to an ESP32 to be sure. I sugges to take the ESP32-S3 WROOM-1-N16R8 ESP32-S3-DevKitC-1. You get it around 5€ from AliExpress and around double price from Amazon/eBay.
It’s a bit overkill but you will be future proofe
Hello all,
may I ask you guys to post some screenshots with warm water temperature? I observe the temperature lowering in the water tank 180L of my WPE-I 06 HW water pump from Stiebel even in the night without any consumption. It doesn’t matter in circulation pump runs or not.
The temperature drop is about 1 grad every 2,5 hours. Is it normal behaviour?
That is normal. It is stated even on the sticker on the side of the buffer what to expect
I assume the Temperature sensor is at the bottom of the storage tank. So the water cools down slowly at the wall of the tank and sinks down.
If you only measure at the bottom it looks like this. But your sensor value does not represent the temperature in the whole tank.
I have self isolated puffer tanks with much more isolation around. This happed there too.
If you would measure at the top of the tank it would be much less.
Here you see the effect in numbers.
Here a long therm test with some interruptions because of testings

4 temperature sensors evenly spread over the buffer tank.
Maybe someone can help me.
We have a WPL15 with HSBC200 and (presumably) WPM3.
After a few attempts, I now have the headpump.yaml running in English with the Stiebel tools.
ESP32 is connected to the CAN and I get a few values. But not many.
EDIT:
I think I need to adjust the names. But I’m not sure.
Maybe there are already lists, but I can’t find anything.
I recently added basic support for WPL13 … maybe it is similar