I have a Vaillant Aerotherm Plus 10kW + 250L UniStor Cylinder with a designed flow of 40C @ -2.3C outside. The house is a modern 5 bed house, excellent insulation with UFH throughout over 3 floors. The system is an open loop system, weather compensated with no buffer. I’m able to monitor the system from the Vaillant App and the MyVaillant Integration with Home Assistant. I’ve had the heat pump installed for 4 months now. I’m able to keep the house warm at a constant 20C with a 0.35 Heating Curve which translates to a 35C flow temp at -2.5C (5C below the design temp).
What’s confusing me is that I’ve always assumed a low flow temp is king and naturally translates to a good COP. However, in my case even with a flow temp as low as some of the best on ‘Top of the SCOP’ (at the same outside temp) I’m getting an ‘Energy Efficiency’ from the myVailant app significantly lower than the COPs on HeatpumpMonitor.org
Take today (4th Jan) as an example, the average temp (in Southampton) was 1.2C and according to the MyVaillant App I’m getting a COP of 2.5 from an flow temp of 30C. My average COP for Dec was 3.4 and since I’ve had the system it’s never gone over 4.0. I’m beginning to question my premise that a low flow temp = good COP
One thing to note … I’ve read a lot about the Vaillant ‘Energy Efficiency’ in the App vrs COP, so I’m aware of the inconsistencies.
So my question is two fold:
Is it incorrect to assume a low flow temp = Efficient COP? If so, then what should I look for that could be throwing the efficiency of my system off?
Is there any sense in comparing Vailant ‘Energy Efficiency’ to other 10kW Vaillant system on HeatpumpMonitor.org running at a similar flow temp at similar outside temps?
Thanks in advance,
Ian
PS If you want some extra detail …
I collect metrics from the MyVaillant integration with Home Assistant and store that in a local emoncms. I’ve included a graph of Jan 4th from my local emoncms install. I don’t want to confuse people with the graph as only flow_temp, outside temp, room temp and electrical consumption are reliable. Ignore the COP value in the emoncms graph as the flow rate and return temp are extrapolated. When I refer to COP I’m referring the Electrical Efficiency value I’m getting from the myVailant app not the COP from this graph.
I’d be interested to see what your chart looks like when you enable the “Show simulated carnot heat output” - I suspect that poor temperature sensor accuracy is making the heat estimates to be way lower than they should be. Probably worth checking that the sensors are correctly fitted.
Thanks for the response, my data isn’t up on heatpumpmonitor.org, it’s on a local emoncms install running inside my Home Assistant. I didn’t want to post it as I’m extrapolating the flow_rate and return_temp as I can’t get those values from the HA MyVaillant integration. Only the electric power, flow temp, outdoor temp and indoor temp are accurate in my local emoncms.
Appreciate that doesn’t help, but I’ve never wanted to degrade the heatpumpmonitor.org data with my extrapolated data. I’ve read so many posts on getting data from the HA myVaillant integration, but I’ve always assumed anyone doing it that way, doesn’t post it to heatpumpmonitor.org. My comparisons are purely from the MyVaillant app to heatpumpmonitor.org
I did read your post beforehand, it’s a great post and I was going to look this week to see if the sensor is sitting correctly and not covered by insulation
There isn’t enough information here to calculate heat energy produced, and therefore COP. I monitor a Vaillant system this way and opted to use the Carnot COP equation to estimate how much heat is produced using only the reported temperatures.
Ignore reported COP in the vaillant app, it’s likely wildly incorrect - mine is. My reported COP is so low, impossibly so given the heatloss of my house. If you want real COP you need a monitoring system. My return temp sensor must be reading low, or else.
I also don’t see why people care about COP quote so much. You know you’re system is likely efficient, you’re flow temps are really low. Why not just look at input electric use as a metric of satisfaction of system working well. My input electric is reasonable, and so I’m happy.
Shit in, shit out. And your data (reported by vaillant) is shit. So the results are useless.
It was merely an experiment with emoncms, there’s definitely gaping holes in my assumptions. Here’s the code I used as template sensors in Home Assistant.
The flow_rate is just two constants that roughly got me to the values I was seeing in the myVailant app, I’m sure it can be improved by scaling it with electric output. Thermal output is reverse engineered from the MyVaillant COP value
# --------------------------------------------------------
# FLOW RATE (L/min)
# ---------------------------------------------------------
- name: "heat_pump_flow_rate"
unit_of_measurement: "L/min"
state: >
{% set heating = states('sensor.heat_pump_controller_heating_state') | int(0) %}
{% set dhw = states('sensor.heat_pump_controller_dhw_state') | int(0) %}
{% if dhw == 1 %}
13 {# DHW typical flow #}
{% elif heating == 1 %}
18 {# Heating typical flow #}
{% else %}
0
{% endif %}
# --------------------------------------------------------
# INSTANTANEOUS THERMAL OUTPUT (W)
# --------------------------------------------------------
- name: "heat_pump_unit_thermal_output"
unit_of_measurement: "W"
state: >
{% set power_w = states('sensor.heat_pump_unit_electrical_power') | float(0) %}
{% set cop = states('sensor.heat_pump_unit_current_cop') | float(0) %}
{% set heating = states('sensor.heat_pump_controller_heating_state') | int(0) %}
{% set dhw = states('sensor.heat_pump_controller_dhw_state') | int(0) %}
{% if (heating == 1 or dhw == 1) and power_w > 0 and cop > 0 %}
{{ (power_w * cop) | round(2) }}
{% else %}
0
{% endif %}
# --------------------------------------------------------
# ESTIMATED RETURN TEMPERATURE (°C)
# Uses FLOW RATE (L/min), not mass flow
# --------------------------------------------------------
- name: "heat_pump_controller_return_temperature"
unit_of_measurement: "°C"
state: >
{% set flow_temp = states('sensor.heat_pump_circuit_current_flow_temperature') | float(0) %}
{% set thermal_w = states('sensor.heat_pump_unit_thermal_output') | float(0) %}
{% set flow_rate_l_min = states('sensor.heat_pump_flow_rate') | float(0) %}
{% set heating = states('sensor.heat_pump_controller_heating_state') | int(0) %}
{% set dhw = states('sensor.heat_pump_controller_dhw_state') | int(0) %}
{% set cp = 4186 %}
{% set density = 1 %}
{% set mass_flow_rate = (flow_rate_l_min * density) / 60 %}
{% if thermal_w <= 100 or mass_flow_rate <= 0 or (heating == 0 and dhw == 0) %}
{{ flow_temp | round(2) }}
{% else %}
{% set delta_t = thermal_w / (mass_flow_rate * cp) %}
{{ (flow_temp - delta_t) | round(2) }}
{% endif %}
Mick, I’ve read your article so many times, thanks for putting that together it’s so helpful and insightful, to be fair, all your articles are quality and so well put together. It’s great that you go back and update them too.
Why I started questioning things actually came from your article, specifically the Vaillant charts in the section What’s a Good COP for a Vaillant Arotherm? Today its 1.7C outside, I have a flow temp of 32 and a COP of 3.44 but looking at the Vaillant charts it should be closer to 5, I’ve never actually got my system over 4 despite the crazy low flow temp I’m able to achieve and easily heat my house
I do agree with @JamesH here, everything points to the system is running very efficiently it’s just that something is a miss (maybe the temp sensor / lagging issue) and that’s throwing the COP off in the Vaillant app. One thing that goes in the favour of COP in general, is that in the complex world of heat pumps, it’s a single number to compare efficiency that hides a lot of complexity
Your formulas look correct (assuming no glycol), but rely on sensor.heat_pump_unit_current_cop which as other posters have said can be wildly inaccurate.
Here’s the formula I use for estimating the heating power with Carnot (python, so you’ll need to translate it)
Which looks something like this (for 7kW unit), and may be closer to reality:
(edit: does not account for defrosts, so may be over optimistic at times)
Ian, can you check your flow and return temperature on the device itself? I can access this data on the hydraulic station (indoor unit), I’m not sure where your controller is when you don’t have the indoor unit. In any case, if you see a difference between flow&return temperature when the compressor is off but the circulation pump is running, we can judge what the COP error is. My money is on exactly this sensor discrepancy, you wouldn’t be the first to suffer from it.
Side note: If I understand the myPyllant code correctly, the COP value shown in HA is for the current day rather than real-time. This doesn’t help explain why it’s so wrong, but worth keeping in mind.
Thanks, I’ve now implemented this, it’s a much better way of doing it. Especially given your insight that the COP is the Daily average not instantaneous. In theory your approach will be much better.
Out of interest, how do you calc flow rate. I just used two constants, but that doesn’t sit right with me and looks like the biggest hole in my calcs
I don’t calculate flow rate at all for Vaillant, though on Mitsubishi systems I have used fixed flow rates with reasonable success which works as I know their pumps run at a constant speed. I don’t know if this holds true for Vaillant, but looking at a random sample on HPMorg it seems like it might.
To be honest I just played around with these values until the COP got closer to the Vaillant COP. Now given the improvements you’ve suggested and the wrong assumption I made about the COP from MyVaillant being instantaneous, I’m thinking these are too low. I will check the values on the console. I do have a manual flow measure on the Return but I’m not sure if I read this from the Top 40L/Min or the bottom 25 L/min
More detail can be found on Zarch’s blog post: Vaillant aroTHERM | DT5 | Mass Flow Rate Triangle - can also find out the true return temperature to fine tune your formulas (with the caveat that one or both temps may be wrong).
It’s not always an exact match, and you sometimes need to fiddle with the heatpump factor to get it to fit better. It can be a useful diagnostic tool to check if the heatpump (or metering) is within expected parameters.