Thanks for the effort! Unfortunately, this does not work with my THZ 404. I have also tested a different index (+/-1). The status is always OFF
Can you go to the WP and navigate to:
Diagnose ā Anlagenstatus and check, if you get the correct value there? If yes, check the logs for the correct Id
Hi @roberreiter , were you able to figure out how to read the current mode of the stiebel?
Iād like to see if/when it switches to cooling mode but iām not able to find that specific entry in the Elster table (partially because my german is terrible)
thanks!
My code is based on an older version, but maybe that helps:
sensor:
- platform: template
id: icon_state
icon: "mdi:apps"
lambda: |-
id(send_state)[0]=id(PumpCANread_id)[0];id(send_state)[1]=id(PumpCANread_id)[1];id(send_state)[2]=0xfa;id(send_state)[3]=0x01;id(send_state)[4]=0x76;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: 5min
binary_sensor:
- platform: template
name: "Icon Schaltprogramm"
id: icon_schaltprogramm
icon: "mdi:timer-sand-complete"
- platform: template
name: "Icon Verdichter"
id: icon_verdichter
icon: "mdi:tennis-ball-outline"
- platform: template
name: "Icon Heizen"
id: icon_heizen
icon: "mdi:heating-coil"
- platform: template
name: "Icon KĆ¼hlen"
id: icon_kuehlen
icon: "mdi:snowflake"
- platform: template
name: "Icon Warmwasser"
id: icon_warmwasser
icon: "mdi:water-pump"
- platform: template
name: "Icon Notheizung"
id: icon_notheizung
icon: "mdi:radiator"
- platform: template
name: "Icon Service"
id: icon_service
icon: "mdi:wrench-outline"
- platform: template
name: "Icon Fernwartung"
id: icon_fernwartung
icon: "mdi:connection"
- platform: template
name: "Icon Filter oben und unten"
id: icon_filter_oben_unten
icon: "mdi:arrow-up-down-bold"
- platform: template
name: "Icon LĆ¼ftungsstufe"
id: icon_lueftungsstufe
icon: "mdi:fan"
- platform: template
name: "Icon Heizkreispumpe"
id: icon_heizkreispumpe
icon: "mdi:play-circle-outline"
- platform: template
name: "Icon Abtauen Verdampfer"
id: icon_abtauen_verdampfer
icon: "mdi:snowflake-melt"
- platform: template
name: "Icon Filter oben"
id: icon_filter_oben
icon: "mdi:arrow-up-bold"
- platform: template
name: "Icon Filter unten"
id: icon_filter_unten
icon: "mdi:arrow-down-bold"
- platform: template
name: "Icon Aufheizen"
id: icon_aufheizen
icon: "mdi:thermometer-chevron-up"
- platform: template
name: "Icon Achtung"
id: icon_achtung
icon: "mdi:alert"
canbus:
#Icons
- lambda: |-
if(x[0]==${can_x0} and x[1]==${can_x1} and x[2]==0xfa and x[3]==0x01 and x[4] == 0x76) {
float state = float(int((x[6])+((x[5])<<8)));
id(icon_schaltprogramm).publish_state((x[6] & 0x01) != 0);
id(icon_verdichter).publish_state((x[6] & 0x02) != 0);
id(icon_heizen).publish_state((x[6] & 0x04) != 0);
id(icon_kuehlen).publish_state((x[6] & 0x08) != 0);
id(icon_warmwasser).publish_state((x[6] & 0x10) != 0);
id(icon_notheizung).publish_state((x[6] & 0x20) != 0);
id(icon_service).publish_state((x[6] & 0x40) != 0);
id(icon_fernwartung).publish_state((x[6] & 0x80) != 0);
id(icon_filter_oben_unten).publish_state((x[5] & 0x01) != 0);
id(icon_lueftungsstufe).publish_state((x[5] & 0x02) != 0);
id(icon_heizkreispumpe).publish_state((x[5] & 0x04) != 0);
id(icon_abtauen_verdampfer).publish_state((x[5] & 0x08) != 0);
id(icon_filter_oben).publish_state((x[5] & 0x10) != 0);
id(icon_filter_unten).publish_state((x[5] & 0x20) != 0);
id(icon_aufheizen).publish_state((x[5] & 0x40) != 0);
id(icon_achtung).publish_state((x[5] & 0x80) != 0);
id(icon_state).publish_state(state);
// ESP_LOGI("main", "Icons empfangen over can is %i, %i", int(x[5]), int(x[6]));
}
Hi,
I tried it out somehow last year. But I didnāt make it to a full implementation.
I think I found how to set/read cooling-function activated.
But this doesnāt help for automations.
I decided to do an alternative workout to switch my KNX-heat actors to cooling/heating state using homeassistant:
Acc. To the Stiebel-manual the pump switches to summer(cooling) or winter(heating) mode in order to to time of the outer mean-temperature over/below a set limit.
Depending of the damping-value of the house there are 3 limit-times: 24h/48h/72h
So currently Iām doing this stupid workaround:
Measure the mean-temperature outside of the last 24h.
Temperature above limit-temperature - set KNX-actor to summer, else winter mode.
If you can figure out the correct CAN-IDs, that may help.
Hi,
so after the question of Radiotechniman, I made some additional trys.
To my answer before - I just found the temperature-value to set, to switch the heat pump from summer to winter / viceversa.
If you change the temperature to a lower value (below 24/48/72h mean outside temperature) the pump switches to cooling.
If you set it high, cooling turns off.
This is the CAN hex-package for setting the idx 01bf to 15 degrees celsius:
30 0 fa 1 bf 0 96
With this, you set it to 21.5 degrees.
30 0 fa 1 bf 0 d7
idx 01bf is listed as āSW_AUSSENTEMPā in the elster table.
After switching from one temperature to the other, I received two different signals from address 480, which I would guess is heating or cooling-mode:
20 0 fa 4e 6a 0 1 (at 15 Ā°C)
20 0 fa 4e 6a 0 0 (at 21.5 Ā°C)
So I would guess, this could be returns that you receive from the pump, if it changes from one mode to the other.
But it was neither possible to set this value from my own CAN-device, nor did I get a valid response of the current value from 2100fa4e6a0000.
Additionally 4e6a is not listed in the elster-table. So I absolutely donāt know what they are exactly.
I assume the current state of cooling / heating mode can be read from any other idx, but I donāt know which one.
Correction - think I got it:
If I ask the same addres that sends the message 4e6a (heat pump manager, 9100 = id 480) I get an answer of the current state.
So
Query: 91 00 fa 4e 6a 00 00
=> response
d2 0 fa 4e 6a 0 0, when cooling mode is off
d2 0 fa 4e 6a 0 1, when cooling mode is on
Be aware - Iām not 100% sure, what exactly is delivered in 4e6a, as the idx isnāt listed in the elster-table.
But it looks promissing to be the cooling mode.
No sorry, never got it stable. Eventually just ordered the ISG for way to much money, but it works and keeps working and Iām able to control my WPF with everything I want (change modes, control heating/cooling/ hot water etc etc). And of course also monitor every detail of the system. So Iām happy
Itās been working solid for me after I connected grounds and removed the breadboard. Still running the test setup with dupont wires only.
Iāve been successfully controlling my WPF7 based on available solar power by setting the pump to emergency mode (to disable compressor) and comfort temp to max 65C. I have disabled the 2 phases of electric heaters for now as 1 phase is able to heat the water to 65C just fine during the day. Iāll add a 3 phase shelly there tho to automate it.
Iād like to still be able to read source pump status and other pump statuses to know more reliably whether itās about to start a compressor cycle. Just so that I wont ever cancel that with the emergency mode. For now Iām using the power measurement of the control phase of the pump as I can see from that when source pump is running.
I tried to find out this by listening CAN bus when switching source pump using relay test and got some readings but those same ones are not there when pump is switching the source pump on during regular cycle. Also none of the pump statuses listed in Elster file worked (all returned static 128 value).
Pump, compressor mixer states and so on are bitcoded values.
Read 0x4e5e for that.
Compressor = Bit 1
Buffer charge pump = Bit 8
Source pump = Bit 9
NHZ2 = Bit 10
NHZ1 = Bit 11
Mixer closed = Bit 12
Mixer open = B13
Mixer pump = Bit 14
Heating circuit pump = Bit 15
If the bit is 0 state is off
1 is onā¦
Meaning of each bit might be different on your deviceā¦
Good day to everyone!
I kindly ask those who have FEK to send the log of which messages pass through the bus, both from it and to it.
I am also interested in which telegrams go from it to WPM, for example, humidity recording or heating curve correction. Also, what does FEK respond every 420 seconds (if it responds at all)?
Thank you in advance.
Hello guys,
This being said I want to discuss with you what are the usefull informations to monitor on the Warmpump ?
As Iām using Water Law I donāt have indoor thermometer.
Iām thinking of :
Curve
Outside temperature
Water temperature (but wich one ?)
When the Warmpump is working ? (what is the id ?)
When the boiller is working ? (what is the id ? and how to prevent this)
may be checking if mode is Ecoā¦
What do you think is usefull ?
Hey guys,
Iām new to to CAN BUS and I would like to implement my Stiebel Eltron WPL 25 AC.
I have connected my ESP32 via ESPHome and MCP2515 and the CAN signals are comming in already.
Unfortunately, the messages canāt be matched with the parameter. I think it is because the CAN id of my heat pump is different? I tried to get the right ones but I have no idea where to find and how to interpret the incomming CAN bus messages. Maybe you have a little hint how I can continue.