RTJC
(RoyC)
November 7, 2023, 7:16pm
1
Hi,
I would like to calculate the COP from newly installed heatpump (ecodan mitsubishi). I cannot do this ‘realtime’ since I only get the data right after 00:00 hours from the day before.
I do have a realtime kWh meter (shelly EM3 pro), but how do I compare those 2 values with each other AFTER the moment I get the energy generation data from the heatpump at 00:00?
Thanks!
This is the current script I’m using which gives me unreal values:
#COP Helper sensors
- platform: statistics
name: "Heating Energy COP Helper"
entity_id: sensor.shelly_pro3em_total_active_energy
state_characteristic: change
max_age:
hours: 24
sampling_size: 100
precision: 2
- platform: statistics
name: "Heat Pump Electric Energy COP Helper"
entity_id: sensor.heat_pump_dailyheatingenergyproduced
state_characteristic: change
max_age:
hours: 24
sampling_size: 100
precision: 2
#Current COP
- platform: template
sensors:
heating_cop_current:
friendly_name: 'Current Heating COP'
value_template: >
{% set q = states('sensor.heat_pump_electric_energy_cop_helper') | float %}
{% set w = states('sensor.heating_energy_cop_helper') | float %}
{% if q >= 0 and w > 0 %}
{{ (q / w) | round(2) }}
{% else %}
0
{% endif %}
Robbie1
(Robbie De Maeyer)
November 7, 2023, 8:21pm
2
I use kind of a different formula, to calculate the cop on the fly,
first I define the delta T, using diffence in In, and outlet temperatures:
'#############deltat ##############
{% set In = states(‘sensor.lucht_water_h_p_in_water_temperature’) | float %}
{{ (Out - In)}}"’
Next, I calculate the heatoutput using the delta T and a COP formula (the value 130000 is the fixed flow of the waterpump)
'#############heatoutput ##############
{{ (1300000 * 4.18 * helper / 3600 | float)}}"’
last but not least:
'#############copwp ##############
platform: template
sensors:
copwp:
friendly_name: "COP WP"
value_template: "{% set wpoutput = states('sensor.cophelper') | float(0) %}
{% set wpinput = states('sensor.wpmeteringzb_power') | float(0) %}
{{ (wpoutput / wpinput) | round(2)}}"
unit_of_measurement: "CoP"
platform: filter
name: “COP”
entity_id: sensor.copwp
filters:
- filter: range
lower_bound: 0
upper_bound: 8
#########dailycopwp #######
'- platform: template
sensors:
dagcop:
friendly_name: "daily COP"
value_template: "{% set dayinput = states('sensor.wpmeting_dag') | float %}
{% set dayoutput = states('sensor.heat_kwh_wp_dag') | float %}
{{(dayoutput / dayinput) | round(1, default)}}"
unit_of_measurement: "Daily CoP"'
the daily cop gets more accurate at the end of the day.
Good luck!
RTJC
(RoyC)
November 7, 2023, 10:19pm
3
Hi Robbie,
looks a little complicated. How is the flow calculated? 130000 liters per year?