Heat Pump COP Calculation

Tags: #<Tag:0x00007f13f4c87530>

(Emiliano Maina) #9

I don’t think to be wrong, sorry.

(Inactive) #10

You would have to use the APIs to fetch the data and average it yourself. If you log the data to a Kwh feed with a one hour interval (stay with me here), then you can determine the average COP of any interval by dividing the difference between the start and end values by the total hours represented in the period.

For example, lets say you average COP 3 over a month. The “Kwh” feed will show an increase of 2232 COP-HOURS over that period. Arbitrarily lets say the value on Jan 1 is 12973 and the value on Feb 1 is 15205. The difference is 2232 COP-HOURS. If you divide that by 744 (31 days of 24 hours) you get 3, which is the average over that period.

The API doesn’t seem that difficult to use, but you can also get a CSV output of the daily cumulative COP-HOUR values, over any given period. Load that into a spreadsheet and you can pretty much get all the things you are looking for.

(Emiliano Maina) #11

I was already aware to do it by hand.

I’d suppose that emoncms, focused on energy, would have this automated visualization (like other).

RFC :slight_smile:

(Inactive) #12

Well, the system is open. Whenever I start with “somebody should…” my wife says that’s you. I just described how the data can be kept using the system as is. Now “somebody” needs to create an API to report the averages over that period. In the same way, that API would be useful to extract average power over any interval that is a multiple of the Kwh interval.

(Emiliano Maina) #13

I hope your wife is happy and you help her more than here … just joking :joy:

I am not asking for anything different than proposal.

Unfortunately I am not developer but a user only.

Thanks for this long and useful thread. I’ll close here and survive happy (like your wife) with my excel.

ciao !

(Niklas) #14

True, I was sloppy, mixed up input heat floe and output heat flow…

(stephen krywenko) #15

is it air to air , water to water or air to water i think air to water heat pump. you have to install either an ultra sonic flow sensor or a a normal flow sensor right in the water line, once you got the flow rate ( or an air flow meter if air to air) then temp sensor on the input side and one on the out put side then you can calculate the COP. because heat pump COP varies greatly. the same heat pump depending on the ambient temperature of the air or ground, it extracting heat from will range for COP of 1 - 6 depending how warm or how cold it is. also the operating output temp. example if I run my heat pump at as radiant floor heat source only. then my max temp of my output water only need to be between 30 - 40c and if my ground temp is 15- 20 c ( in the early fall) then my heat pump will run at COP +5 come spring time and my ground temps only 5C then my COP only around +3 but if I use the same heat pump for domestic hot water at 50 - 55C then my COP range is 2- 4 depending on time of year

(Glyn Hudson) #16

Sorry for the late repy. We have a ‘learn’ article on calculating COP:

This is the calculation we (@TrystanLea) uses for

@johncantor also has a spreadsheet on his site showing how COP is calculated:

(Trystan Lea) #17

In at the moment calculating daily, weekly, monthly COP is not really possible.

You can however calculate a cumulative kWh feed for both electricity and heat (assuming that you have heat in Watts).

You can then use the graph interface produce daily, weekly, monthly bar charts from the cumulative electric and heat kwh feeds as explained here:

If you then use csv export as @overeasy suggests you can calculate the COP.

Alternatively I have started developing an automated dashboard for this accessible at
If you have the following feed names the heatpump dashboard will enable:

heatpump_elec - heatpump electric input in Watts
heatpump_elec_kwh - heatpump electric input in kWh
heatpump_heat - heatpump heat output in Watts
heatpump_heat_kwh - heatpump heat output in kWh
heatpump_flowT - heatpump flow temperature C
heatpump_returnT - heatpump return temperature C

With these feeds it can provide the following dashboard output:

(Bob Irving) #18

I’m not awfully happy about using 0.5 * Carnot COP in general. It’s probably a safe value for heat pumps used only for heating as a starting position, but if the HP is being used for hot water then the combined COP may be substantially different…

(Antonio) #19

Hi guys, i have a hot water deposit with 300L that has 2 inputs to heat the water:

  • built-in heat pump
  • Solar panels

I’d like to measure the performance of the whole system and i’d like to calculate the real global COP of the system.

As @overeasy stated, a measure of COP is energy-out/energy-in.

So i’ve got my energy-in, a CT that measures all energy delivered to the system, including stand-by, LED’s, water pump, heat pump, everything that otherwise would not be there if didn’t have it.

Now for energy-out, from what i’ve read, i need flow meters and temperature IN/OUT for heater fluid of the energy sources.

What if! i could mesure only the resutling temperature increase and convert that to kWh?
Something like:

How many kW do I need to heat up my tank?”
volume in litres x 4 x temperature rise in degrees centigrade / 3412


So in this case (with 300L of water) the formula would be:

energy-out = deltaT_rise * 0,3517

For the deltaT_rise i would need to create a feed in emoncms that would only consider rising deltaT, multiply by a constant (0,3517) and integrate ( power to kWh) ?

So i would need to subtract the temperature value with the previous value, log to feed if positive. Integrate (power to kWh) and multiply by 0,3517.

What do you think?

(Inactive) #20

Oh-Boy! A chance to put on my mechanical engineer hat.

First, you don’t really say if you have PV solar panels or solar thermal panels. Big difference. I’m going to assume it’s PV, and that you mention it because you also heat the water with resistance.

Being in the USA, I always do these calculations using btu’s so I’ll not get into the nitty gritty of your math. It’s pretty straightforward and I think you have the concept pretty well. I’ll just make a few comments about my own experiences in this area.

First, it’s my experience that when available, manufacturer’s COP data is usually pretty good. It’s fun to calibrate, measure, and validate, but I’ve always ended up confirming what I already should have known. So take a look at what’s available, and have some respect for any variance you get from that.

Accurately measuring static tank temperature is a challenge. Any time you put a sensor in or on the tank, it becomes usually reads low after awhile unless there is some movement in the fluid. Where you might be looking at 10deg rise in the tank, 1deg can mean a big error.

Your approach requires a closed system. Heat pump water heaters usually run a long time (compared to resistance heating). If there is any use during that period, the results will be off.

I don’t have a heat-pump, I have a solar-thermal system. I’ve monitored it for years with a mind toward determining the overall contribution of the solar vs electric resistance backup. Here’s what I do:

I have a water meter on the cold water feed to the tank(s). It is a pulse type meter, and I have a datalogger that records the 1 gal pulses. I have a temperature sensor on the cold water input which varies only seasonally, and on the hot water output which is pretty consistent with a fast acting accurate mixing valve fed by the tank and the metered cold water feed.

So my net BTUs out of the system is delta T (output-input) x gallons * 8.4 (pounds/gal). Divide that by 3412 to get kWh. In fact, except for adjusting the input temperature about once per month, I could get a decent measurement with the gallons alone. You could do the same with your system. It really doesn’t matter for this metric how you add the heat to the system. To get COP, you would just divide the kWh out by the kWh into the heat pump and resistance heaters.

The other thing you might want to get a handle on is standby heat loss. That’s pretty much a constant that only needs to be measured once. I did it by recording the kWh consumed by my system over a rainy weekend when we were not at home. I reduced that to a BTU (or kWh) loss per hour. So with that, I can add the standby loss to the previous hot water energy output calculation to get the total system energy output.

I’ll be curious to see what you come up with and how it compares to the nameplate ratings and manufacturer’s data of your equipment.

(Antonio) #21

hi @overeasy thanks for your reply, I’ll have to spend some time working your comments in btu, however here are some info regarding some statements you made:

Your approach requires a closed system. Heat pump water heaters usually
run a long time (compared to resistance heating). If there is any use
during that period, the results will be off.

That’s spon on and is the weak part of this method. The COP will get worse during those periods since energy is coming in and temperature will not increase as much.

However!!! it’s the price to pay to avoid inserting mechanical dongles to measure the water/liquid flow.

First, you don’t really say if you have PV solar panels or solar thermal panels. Big difference. I’m going to assume it’s PV, and that you mention it because you also heat the water with resistance.

Solar is vacuum tube heat pipes working in a closed circuit. I’m assuming that the energy-in of such a system is the water pump working to bring the heated fluid into the deposit. I also have a resistance and i am confident i will never have to use it lol!

(Inactive) #22

I guess it was a little buried in the weeds::grin:

I use something like this.
All said and done, it’s probably equal cost/effort to a temp sensor in a well (home-brew beer suppliers have nice stainless wells for DS18B type sensors). Added benefit - the best energy saving approach is to just use less hot water, so you get a metric on that.

(Antonio) #23

So your energy-out is obtained by measuring the energy you extract from the system when you open your tap and then add some constants to account for losses? How do you scale your energy-in kWh? I mean, if the system is pumping energy into the tank for a long time, if you open your tap for 5 seconds how are you able to determine the COP of the system?

On my side, i’ve been experimenting and did the following:

  • Record the minimum and maximum values of the bottom temperature sensor.
  • create a new feed that subtracts these maximum and minimum values to obtain deltaT
  • multiply deltaT by the constant mentioned above and get energy-out
  • divide energy-out with the kWh/d recorded by the CT and get COP

Not only it does not account for the used energy on the heating period it also does not account for the fact that when the deposit is still during the night, heat is transferred to the top and the bottom temperature sensor becomes colder.

today i got a COP of 9 with this method, my heatpump has a rated COP of 4 and it worked only 2 hours to bring the temperature to a solid 47ºC. Of course the solar thermal worked all day, even though today was a very cloudy day.

I am assuming that the only energy-in of a solar thermal system is the small pump, that users about 40watt of power. The COP of such system is very very high, on pumpless systems the COP actually is infinite :slight_smile:

(Antonio) #24

Hi, i’ve managed to get a nice number with this calculations:

My available sensors are:

  • one CT measuring the whole energy consumption of the system
  • two DS18B20 temperature sensors, one on the top and another on the bottom of the tank

Today with exclusive contribution from the heat pump (no sun), the result is a COP of 2.8.
The datasheet of my heatpump, for this outside temperature (11ºC) and heating cycle ( 15ºC-45ºC) reports a COP value of around 3.

I think that if the calculations are fundamentally correct, the error is not that important, what matters is how the COP behaves as the system gets older.

Monitor Fronius Primo 5
(Inactive) #25

Slick! It’s interesting to see the efficiency drop as the tank temperature increases. The power into the heat pump increases, while the rate of rise decreases. COP probably is 3 at noon, and then down to 2.6 or so at 16:00

(Antonio) #26

Great comment, i’ve noticed the power increase of the heat pump but did not figured out what it was. It makes a lot of sense!


(Antonio) #27

Now with a little help from the thermal solar panels:

A new dark blue line indicates the output temperature of the thermostatic mixer valve fed by the tank’s hot water output and cold water feed. The COP remains very high, even with lot’s of energy going out the system for consumption. The numbers tell that with a bit less than 1kWh the system was able to generate almost 10kWh of energy, excluding consumption during that period!

(klx) #28


I’m surprised with your website emoncms/ChabrosMaina/ and I’m searching information how to implement this, Recently I have bought a hpsu rotex 508 8KW and a solar system FV and I like how can I do this

At this moment I have collected information from my fronius primo values and recover from emconcms but now I like to obtain data from hpsu, can you give detail how to do this?

Also I liek to know if you implemented smartgrid, and for example if FV is generating more power than needed yu can increase hpsu usage to use this power?