Daikin Altherma, ESPAltherma & Home Assistant with OpenEnergyMonitor

I’ve got my ESPAltherma uploading to emoncms via Home Assitant and worked through the MyHeatPump app configuration.

Thanks for the instructions @Stephen_Crown!

One gotcha I had: I needed to restart Home Assistant after changing configuration.yaml to get more data to appear as inputs on emoncms, a quick YAML reload was not sufficient.

It’s published on heatpumpmonitor as the Daikin 9kW in Hertfordshire:

https://heatpumpmonitor.org/system/view?id=120

@Stephen_Crown do we need two separate feeds indicate heating and hot water? I’m getting hot water marked okay, but my “Heat output” is zero

1 Like

Don’t want to be too much of a downer here but are you noticing the heat pump turning off and on regularly (blue light in hall will be on and off intermittently instead of just on all day).

From your data you may want to try reducing the temperature on the weather compensation curve or like a good few of us here with Octopus installs you may have an oversized pump.

Oh yeah, the heat pump is probably oversized and/or my radiators aren’t big enough. The reason I’m on this forum is to learn and to try and debug and improve it!

Today has been a bit of a mess and the performance shows it. I’ve been fiddling with radiator lock shields and adjusting modulation and the WD curve.

I’m using room thermostat (Madoka) control and have previously seen the heat pump more than 1C above the room target temperature. Today when I switched the modulation off, I saw shut downs before the room temperature had been reached and I don’t think the overshoot target of 4C had been reached. I’ve restored some settings and will try and leave things alone tomorrow :smiley:

Edit: with my current observations, I actually think that I need a slightly higher WD curve. I think the heat pump spends too long trying to drive down the return temperature, before eventually settling and achieving 5C dT. My system doesn’t seem to (like to) produce return water less than about 32C - it’s radiators with a volumiser. I’ve been wondering if some radiators are open too much and letting some warm water return.

1 Like

If you are on Facebook you may want to join heat pumps UK and look up Paul Spence, the attached is his guide to calculating DT based on room and radiator size (but you need an accurate heat loss for it to work). If you have not already try using heatpunk to estimate your heat loss.

If you need any advice on this I have a spreadsheet I can share

1 Like

Hi @Stephen_Crown I have modified the templates to correct the log errors I was seeing -

Entity sensor.water_pressure (<class ‘homeassistant.components.template.sensor.SensorTemplate’>) is using native unit of measurement ‘None’ which is not a valid unit for the device class (‘temperature’) it is using; expected one of [‘°C’, ‘°F’, ‘K’]; Please update your configuration if your entity is manually configured, otherwise create a bug report at Issues · home-assistant/core · GitHub

- name: "Pressure"
  unique_id:  "Pressure"
  unit_of_measurement: 'bar'
  device_class: pressure
  state_class: measurement
  state: >
      {{ state_attr('sensor.esp_altherma', 'Pressure')/10 }}

- name: "Water Pressure"
  unique_id:  "Water Pressure"
  device_class: pressure
  unit_of_measurement: 'bar'
  state_class: measurement
  state: >
      {{ state_attr('sensor.esp_altherma', 'Water pressure') }}
1 Like

hi @squarepeg77 I started this thread to dial in the daikin system, could you post your configurations to compare and build on the knowledge base? Hope it helps…

ps i changed the modulation from 2 to 4 last night, and that appears to help a little, however its been tricky lately as the outside temps have not really dropped enough to see any differences and I think I am at a point of diminishing returns.

2 Likes

@tiger_cook Noted. I have added a note in my post for now about this, and will update the files and post properly when I get a chance. Cheers!

@squarepeg77 No problem.

I’ve added two short notes in the post regarding the need to restart Home Assistant. :+1:t2:

I have another improvement to record and log COP within HA, if you take the COP sensor previously created and reference within a statistics sensor you can take an average over 5 mins (configurable), this smooths out the values when the Heat Pump goes in to a stable state ie ticking over, the Daikin fluctuates the input power in our case from ~250W to ~450W as a result the COP fluctuates from 3 to 8 as a result of ESPAltherma and the Shelly measuring at different intervals, so the average/mean COP is around 5 and this sensor would be good to log in Grafana and on your in-home display. Hope this helps and makes sense?

sensor:    
  - platform: statistics
    name: "Average COP"
    unique_id: average_cop
    entity_id: sensor.cop_true
    state_characteristic: mean
    max_age:
      minutes: 5

** update **
Here are the results from last night a much nicer graph in Grafana, Blue original template/sensor, and green the average per 5 mins sensor

** update 2 **
needed to add the following to the seed template so this sensor displays ‘0’ vs ‘unknown’ when the HP is idle, ie a COP of 0 -

  attributes:
      minute_counter: "{{ now().minute }}"
1 Like

There is a new Repo (forked as there were problems with 2024.1 and the original integration) that is cloud dependant that exposes more control (on/off function and set temp), I use this as well as the ESPAlterma (local monitor only), it’s not in HACS but WIP, installed manually.

1 Like

Yeah I use this to set offset temp and on/off more flexibly than the standard schedule.

Hi @John can you share your automation (or manual) logic for offset? TBH I have not changed any offsets yet manually.

eg
if outside temp is <2
set offset +1
else
0

and the reverse
if outside temp is >8
set offset -1
else
0

Here’s the basic YAML, I tested it but haven’t put a trigger/condition on it yet; I was planning to use it to adjust the offset before turning the pump back on to reduce the initial power load:

alias: Reset ASHP Offset to 0
description: “”
trigger:
condition:
action:

  • service: climate.set_temperature
    data:
    temperature: 0
    target:
    entity_id: climate.altherma
    mode: single

You can test it manually.

1 Like

I can’t see it mentioned in this thread, but mine isn’t connected to the X10A connector of the main unit, I’ve connected it to the X12A connector in the wiring centre in the house.

My entry in the “Show your ESPAltherma!” post:
https://github.com/raomin/ESPAltherma/issues/17#issuecomment-1256862726

2 Likes

I do apologise at hijacking this thread and the newbie question.

This is the closest help I’ve come to understanding how to get some good monitoring done on my heat pump.

I have a Daikin altherma HT 3 16kw heap pump. This has the outdoor and indoor unit. There is a separate Daikin DHW tank too.

As my unit is fairly modern I think it can communicate directly with some types of SW and HW to send all the required info vs getting external temp sensors and heat monitors.

The dumb question I have, what do I need?

Once set up I’d love to share my stats with your all. I’m in a large Victorian uninsulated house with Radiators as the only heat emitters. 250sqm plus. As you can probably imagine, the HP loves to eat up electricity, averages around 60 to 80 kWh per day in winter. (Very greedy HP!)

I am having some defrost issues, Daikin coming to check refrigerant levels. It’s set to 60o fixed flow temp, essentially on 24/7 now. Bit of a story behind WC vs fixed. Probably could do with the odd radiator upgrade but I’d like to get some decent monitoring set up first before I go charging off into changes.

Really appreciate a link to a how to to set up my HP on the relevant SW.

I also know my HP has the LAN adaptor. Ideally, is there a way to use this to get all the data but sent to another App vs the Daikin App on my phone?

Thanks,

Terry

Hi @Haggistrap Terry, if you want to DIY and save some money - 1st of all I would start with Home Assistant, spin up a small server VM, old PC, Home Assistant appliance (Yellow/Green) or Raspberry Pi, then check out some of the instruction within this thread…

or

with a bit of plumbing and electrical work - buy and install one of the following emonHP -

Many thanks. Didn’t know there was a wee box with HA already on it.

My biggest unknown currently. When I have HA on a server can I simply point it to my Daikin wireless LAN IP and it starts connecting and pulling data. Or do I need another device to do this. I’m thinking as I have wireless adapter already I don’t need that?

Think this one may help me, seems to use the wireless lan adaptor

you can use the wifi card and this integration (fork), jwillemsen/daikin_residential_altherma
you can ‘control’ the HP via HA just like the Onecta app, but you cannot calculate the COP as Daikin do not expose enough information and you need the ESPAltherma GitHub - raomin/ESPAltherma: Monitor your Daikin Altherma / ROTEX heat pump with ESP32 (ESP32) directly connected to the Monoblock.

Check out post no. 6 within this thread

Hi,

Would you be kind enough to detail how you setup ESPAltherma to send data straight into EmonCMS please? I really don’t want to set up HA if I don’t need to.
Thanks.

Sure. Assuming you have configured the PlatformIO or equivalent facility for recompiling/loading the software… the outline of actions to take is

  • Ensure you have an MQTT hub running - usually installed with EmonCMS; make sure you know the ip/port/userid/password
  • Point ESPAltherma to the MQTT hub - edit the setup.h file, to set the correct #define MQTT_… values
  • Set the appropriate MQTT topic for the ESPAltherma data item publishing - edit setup.h to enable the following lines - you can use any string for “ASHP”, it’s the group topic for the Inputs in EmonCMS
    #define ONEVAL_ONETOPIC
    #define MQTT_OneTopic “emon/ASHP/” //Keep the ending “/” !!
  • Recompile and reload

You should see these new data items appearing in EmonCMS Input screen (Setup/Inputs). Now you have to configure them into Feeds, along with an appropriate source of energy consumption information e.g. EmonTX + CT clamp on HP feed. Calculating the heat energy produced requires some transformations of the data - screenshot shows my entries for the appropriate flow temp thermistor reading, R2T in my case.

That should get you going. Note also

  • ESPAltherma also continues to send the HA-style MQTT data! Handy if you ever get into HA :crazy_face:
  • If you want to have various binary state indicators e.g. Defrost mode, you have to transform the ESPAltherma ON/OFF style messages for state e.g. Defrost to 0/1; you can either edit the formatting code (!) or use another tool to subscribe/map/republish the values to another /emonpi/ASHP/… MQTT topic and use that

Bear in mind that you should

  • Select the appropriate flow temp sensor input - R1T if you have no BUH, R2T if you have a BUH
  • Make sure you have checked the values of the selected Flow sensor and the Return sensor (R4T) for consistency - they can produce wildly mismatched values for the same water temp. The critical thing is the difference in their values i.e.g dT, so they have to be reasonably close to reality! I did a post about that somewhere. You can see my adding “1.4” to the Flow temp to match it to the Return temp sensor in the config screenshot

Finally, if you want to use emoncms.org, you will have to

  • configure Setup/Sync to include the Feeds you want to send there
  • enable a regular sync operation from your RPi to the emoncms.org site;
    Add this line to your crontab to run sync every 1hr:
0 * * * * php /opt/emoncms/modules/sync/sync_upload.php

To edit crontab you’ll need to connect via SSH then run ‘crontab -e’

2 Likes