Calculating COP using system temperatures

Hi everyone!

The system I would like to monitor is an ASHP. Currently I am monitoring the HP’s power use with a CT sensor as well as the heat output using a heat meter and the outside air temperature. Using these feeds I have set up the my heatpump app. However, I saw on the learn guide a section on how to set up a simple heat pump model (Learn | OpenEnergyMonitor) and was trying to get it to work to compare the approximate value I get here to the one on the app. However, I am getting VERY different values hopefully someone can point me in the right direction!

Here is what I did:
First I wasn’t very sure whether the T_flow was the HP’s supply to the radiators (hot) temperature or return (cold) temperature. So I created two feeds to see which one got me closer to the COP that i was getting on the app (spoiler…none).

In the website it says the following:

Since the temperatures from my sensors are in Celsius I converted to Kelvin before adding the 4K. Here is how my process list looks like with the two T_flow I mentioned above:

Next I did I similar conversion of units for the T_evaporating feed using the input equivalent to that of the outside air temperature:

Lastly I calculated the COP (using the temperatures already in Kelvin) and then the practical COP.
This is what the full input process list looks like when I used return flow temperature as T_flow:

This is what the full input process list looks like when I used supply flow temperature as T_flow:

Finally here is how the approximated COP look like vs the COP using the app:


ps. A_COP corresponds to that obtained from supply temperature and Approx_COP from return temperature.

Any idea as to which one would be the correct temperature to use and why the COPs are so different? Thank you!!

Hello @Rolop nice work trying to get this to work with input processing! You want to use the flow temperature not the return temperature. Flow being the temperature of the water coming out of the heat pump, sometimes called the outlet temperature as well.
Can you check the result against your heat meter?

I have actually just added last week this equation into the MyHeatpump app to make it possible to get an idea for the COP and heat output if you don’t have heat metering. Here’s a quick demo of it in action comparing actual heat meter readings with simulated heat output values calculated using the carnot COP equation on my system here. In general it appears to work pretty well:

Note this is in the emoncms master branch, you may need to switch the branch in Admin > Components > App to master:


In addition to the basic carnot equation the above tool only calculates a heat output if the heat pump electricity consumption is above a certain threshold, I’ve selected 100W for mine. I found that I needed it to be higher on a larger system that I was also testing this on.

Im planning on extending this to estimate the flow rate from the simulated heat output as you can work your way backwards using:

heat output = specific heat of water x deltaT x flow rate

Then the next step would be to use the flow rate and the flow and return temperature to simulate heat being lost during defrosts which is something the current basic approach used by the app doesn’t yet handle well…

Hello @TrystanLea the app looks fantastic! IS it accessible through I can’t find Admin > Components > App.

I am beginning to suspect that something might be wrong with the HP… this is what the approximated COP looks like:

However this is what the heatpump app looks like:

Notice how most days the electricity consumption is above the heat output and therefore most bars are blue.
Here is the bar graphs for each feed:

Any suggestions as to what might be happening? I will get in touch with the property manager to look into it on site as well.


Thanks @Rolop

Yes, just click on Apps > New > My Heatpump, then select the relevant feeds, you dont need them all, flow & return temperature and electrical consumption is enough to get it working. I assume you got that far from the second screenshot?

Perhaps skip using the input processing calculated COP for now and try the COP simulator within the my heat pump app.

Those COP’s look fine, the calculation of approximate COP is going to fail around the edges so I wouldn’t read too much into that. Can you share some graphs of electrical power input and flow an return temperatures? it would be easier to tell from that if the heat pump appears to be doing the right thing or not?

Out of interest what kind of installation is it, size of heat pump, rads or underfloor, type of building?

Hello @TrystanLea,

Sorry I meant I don’t know how I can access the COP simulator from Is it possible?
Of course, here are the graphs:

It appears that the baseload on the HP is 250W so perhaps the demand is just too low? Why does this not reflect on the approximate COP though? It also seems that the return temperature for months where demand has been low has been higher than supply temperature as well.

The system consists of a 14kW ASHP which supplies SH and DHW (radiators) to 6 dwellings.

Thank you!

Hello @Rolop the temperature graphs look like they are missing a lot of data, it might be worth switching on averaging on the graph page to improve the view:

Yes it’s possible from Apps > + New > My Heatpump, then configure with relevant feeds and finally ‘Show Detail’ > Enable the simulator.

Hello @TrystanLea,

I have found the COP simulator. However, the results are not what one would expect:

Have you got any suggestions as to what could be causing this? Increasing the starting power does increase the COP. This is as close as I have managed to get it through trial an error for a specific time frame:

However, if I use the same value for another period of time it is now off by quite a bit:

Is there a way to know what starting power you should put based on your HP power?


Hello @Rolop it looks like you have a lot of missing data in those feeds. I’ve made a couple of modifications to the way the app works so that it deals with the missing data a bit better.

Out of interest what heat metering are you using? and are you using an AC-AC adapter with the CT sensor for electric power measurement?


Hi Trystan,

I’ve been waiting for the "simulation option like xmas :slight_smile: thanks for that.

In my system I have all the temp and electric consumption but not the heat power meter, so it would be great that when we set the heatpump_heat to [DISABLED] that it enable the “simulated/calculated” COP as default and then shown in the app.

Thanks for your work on the emon solution.