Daikin Altherma heat pump monitoring

Hi,

I Was actualy looking for the one that @raomin used, see the screenshot on the github page.

Regards

What I included is from one kind of a user manual pdf I found online for my version of Altherma. I recall Raomin’s version from the newer model’s manual, but I did not save ut unfortunately, I bet you’ll find it online somewhere!!

Hi there, I used a combination of images from Stock Photo and Image Portfolio by sivVector | Shutterstock plus other I grabbed here and there.

Hi @sahni,
Your values look legit to me but you are missing the Leaving water temp. before BUH (R1T) value which is referred to in the formula on the home page. What is the formula you’re using?

Hi @raomin, for my Altherma 3 R ECH2O I use the ALTHERMA(HPSU6_ULTRA).h definition file. Here there is no label “Leaving water temp. before BUH (R1T)” but “Outlet Water Heat Exch. Temp. (R1T)” at register 0x61,2,105,2,1 instead. Isn’t that the same value?

The formula I’ve been using to calculate COP is this:

{{
  (( state_attr('sensor.althermasensors','Outlet Water Heat Exch. Temp. (R1T)') | float - state_attr('sensor.althermasensors','Inlet water temp.(R4T)') | float ) * 1.163 * 60 * state_attr('sensor.althermasensors','Flow sensor (l/min)')  | float )
  /
  ( state_attr('sensor.althermasensors','INV primary current (A)') | float * 230 )
}}

The value should work.
But there is something wrong in your formula. It would be good for m3/h but we have liters.
So it should be /1000
Have a look at the formula on the readme:

I did a compare with the formula on the readme and adjusted it accordingly. Now it’s like this:

{{
            (( state_attr('sensor.althermasensors','Outlet Water Heat Exch. Temp. (R1T)') | float - state_attr('sensor.althermasensors','Inlet water temp.(R4T)') | float )
             * 1.163 * 0.06 * state_attr('sensor.althermasensors','Flow sensor (l/min)')  | float ))
              /
            ( state_attr('sensor.althermasensors','INV primary current (A)') | float * 230 / 1000 )
          }}

Hi, supports Altherma (no attribute) old model (2017) thank you.

And is it making sense now?

Not sure to be honest. I still get values >5 for the COP using the formula above.

For example today I had a COP of 4.2 with these values:

Current (A): 1.8
R1T (°C): 27
R4T (°C): 25.4
Flow (l/hour): 936.0

and a couple of minutes later it would spike to a COP of 14.9 with these values:

Current (A): 0.5
R1T (°C): 27
R4T (°C): 25.4
Flow (l/hour): 924.0

Obviously the current taken from the ‘INV primary current (A)’ attribute had decreased from 1.8 to 0.5 A, but I am not a Daikin expert hence don’t know whether that’s a typical behaviour for the current to hover around half an amp, or if there’s something wrong with my input/sensor data.

It’s important that you only calculate COP when it’s actually heating. The part if is_state_attr('sensor.althermasensors','Operation Mode', 'Heating') in the README formula does this.
Are you sure it was still heating at that moment?

Yes, am checking for Heating as current operation mode.

I was able to fix my calculation error with some helpful input from other users:

https://github.com/raomin/ESPAltherma/issues/17#issuecomment-937880597

Hi.

Today I placed my M5 stick. It is all working and i am getting some values. Now I am somewhat of a Home Assistant noob. How do I get the values into something that a can make graphs from? I now have these values, i want to use them in graphs

"Operation Mode": "Heating",
"Defrost Operation": "OFF",
"Outdoor air temp.(R1T)": 9,
"INV primary current (A)": 4.3,
"INV secondary current (A)": 6.3,
"Voltage (N-phase) (V)": 115,
"DHW setpoint": 47,
"LW setpoint (main)": 27.1,
"Inlet water temp.(R4T)": 22.9,
"DHW tank temp. (R5T)": 46.5,
"Indoor ambient temp. (R1T)": 21.2,
"Powerful DHW Operation. ON/OFF": "OFF",
"Flow sensor (l/min)": 15.5,
"Hybrid Heating Target Temp.": 0,
"Boiler Heating Target Temp.": 27.1,

And what are values that you all use in the cool dashboards?

can this be applied to any heat pump until ? Are you using a data bus connector to get the info?

Really interested in talking to you

Would love to talk to you about some stuff, poss opportunity

Hi @niekv! Sorry for the late reply.
I believe you found all your answers by now. If not, you should find all the necessary guidance in the readme page of ESPAltherma: GitHub - raomin/ESPAltherma: Monitor your Daikin Altherma / ROTEX heat pump with ESP32, under “Integrating with Home Assitant

Hi @micelf01,

ESPAlterma is interfacing with the serial port of the heat pump using Daikin’s diagnostic protocol.
It’s supported by most daikin heatpumps and clones (Rotex). You can reach me at
raomin [at] protonmail.com

Hi @raomin
Tried your tool on an old Altherma heat pump today (EKHBH016BA6V3 - 10 years old or something).
I thought it might work with the default definition but without luck. I have the 8pin connector, 5V powered by an external USB charger, wifi and mqtt connection fine, but I only have this kind of messages sent by the M5StickCPlus :
image

I increased the timeout to 600 like I read in some post of yours, change ground cable, uncommented every line in the def file just in case but not a single info is coming up though.

Is it because my heat pump isn’t supported ? If it is, is there a way I can make it compatible (maybe helping create a new def file) ?
Or is it because I missed something ?
Thank you for your help.

Hi @orionevo,
There is no reason for this HP not to be supported.
0x15 0xea basically is the error reply from the HP when it does not understand the query… This can be cause by a bad communication based on a wrong connection.
All the previous similar issues reported were wrong or bad connection. The most important is to join the ground of the ESP32 (your usb power) to the one of the HP.
You can also get an additional ground elsewhere.
Good luck Kevin!

Hi,
Thank you for your help and fast answer :+1:
Not better if I use another gnd on the board. When the ground is deconnected, I have a different kind of message so I think my wiring is correct (not complicated since there’s only 3 wires :joy:)
image
Tried to use the case as gnd and 5V from the HP too, without luck either. So since I tried to re-connect wires, restart the HP, set hour and date in the HP every time etc. something like 50 times, I think I’m about to give up. Too bad !
Nice job anyway, even if I can’t make it work ! :slight_smile: