raomin / ESPAltherma

Monitor your Daikin Altherma / ROTEX heat pump with ESP32
MIT License
317 stars 104 forks source link

Rotex COP #386

Open pitylee opened 5 months ago

pitylee commented 5 months ago

Hi folks

On my Altherma I use the rotex definition and I met two problems as follows.

First, I do not have the flow sensor reading so I use a constant number for that.

Secondly, as it does differ a bit from the example sensor for home assistant I altered the COP calculation.

I tried multiple solutions, that either seemed logic or found on the internet, like: R2/R4 or R1/R3 if I am not mistaken.

Question is, what do you think would be the best for these sensors:

image

with this data:

{ "EV (pls)": 256, "Outdoor Fan (Upper)(rps)": 0, "Outdoor Fan (Lower)(rps)": 0, "INV Comp. Frequency(Hz)": "OFF", "Comp. Preheat": "OFF", "52C Output": "OFF", "20R (SV) Output": "OFF", "20S (4-way) Output": "OFF", "Crankcase Heater": "OFF", "Ener-Cut Output": "OFF", "Indoor Suction Air Temp.(C)": 35.1719, "Indoor Heat Exchanger Temp.(C)": 34.625, "Outdoor air temp.(C)": 41.4844, "Outdoor heat exchanger temp.(C)": 36.0156, "Discharge pipe temp.(C)": 66.5, "Fin Temp.(C)": 0.00390625, "Delta-Tr(deg)": 0.625, "R/C Setpoint(C)": 0, "Operation Mode": "Heating", "Error Code": " 0", "Thermo Off Error": " 0", "Warning Code": " 0", "Caution Code": " 0", "WifiRSSI": "-56dBm", "FreeMem": "229604" }

and this is the current sensor:

`- platform: template sensors: espaltherma_cop: friendly_name: "ESPAltherma COP" unique_id: "espaltherma_cop" unit_of_measurement: 'COP'

flow rate = kg/hour

  # (flow l per min*0.06*1.16) * (R2T-R4T) / (Amp * V / 1000)
  value_template: "{% if is_state_attr('sensor.althermasensors', 'Operation Mode', 'Heating') %} 
    {{ 
    (((28 * 0.06 * 1.16) * (state_attr('sensor.althermasensors', 'Discharge pipe temp.(C)') | float - state_attr('sensor.althermasensors', 'Outdoor heat exchanger temp.(C)')|float) )
    /
    (states.sensor.sonoff_100147b385_current.state | float * states.sensor.sonoff_100147b385_voltage.state|float / 1000))
    |round(2)
    }}
    {% else %} 0 {%endif%}"[core-ssh ~]$`