Here is my personal Daikin Altherma → ESPAltherma → Home Assistant → EmonCMS setup:
I hope that it is of value to others, but do feel free to modify things, try other things out. I am not stating this is the only way of doing it.
In fact, this very site has a shop which sells billing grade metering options, which will no doubt be more accurate.
I chose to go the ESPAltherma route for a few reasons:
- can’t find a plumber generally round here willing or wanting(!) to work on a heat pump (hence I went the Octopus route for installation)
- I wanted to learn some new skills
- I wanted data and information on behaviour and relative performance, not precision of the data.
With that out of the way….
Electrical power monitoring
A qualified/certified electrician may be required for this step, especially if the cable you’re looking to connect the Current Transformer (CT) inside a consumer unit
You will need a separate electrical power monitor as the data from the device is not even nearly sufficient as detailed in this thread over on the ESPAltherma GitHub discussions page. It is not accurate enough due to manay factors unfortunately.
For example, I use a Current Transformer (CT) around the cable going from the consumer unit to the Daikin Heat pump sub-consumer unit, and this is linked to the myenergi system and service which I already had in place due to owning a Zappi EV charger.
I then pull this data into Home Assistant, and send on to EmonCMS. Other electrical power monitoring systems are available, including on the OpenEnergyMonitor shop
Hardware
I ordered the following hardware, and this has been sufficient:
note: I won’t link to the shop here, as I’m not sure if it is against the rules, but the screenshot should help you find whats needed:
And the RasberryPi 3 I have, and was already using it with standard Home Assistant.
ESPAltherma
Mostly documented really well over on the repo in GitHub:
Thanks go to @Raomin for this work.
However, specific points such as wifi details and MQTT details (which is in the Home Assistant part of this post) are here:
The below is the zipped file shown above, which is what I modified to expose more sensor data:
ALTHERMA(EBLA-EDLA EWAA-EWYA D SERIES 9-16KW).zip (2.8 KB)
Then below add (as uncommenting wouldn’t work as was not included!) the following line:
Use the instructions on GitHub to complete the build using VSCode for example.
M5Stick-C installation
Before completing this step, please ensure the power is turned off, ideally at both the isolator next to the outdoor unit, and as a failsafe the circuit breaker that feeds the isolator
You will want to ensure that you have a very strong wifi connection very close if you are installing the M5Stick-C inside the Daikin outdoor unit, as the external metal casing along with a presumably small and low power wifi chip means a weak signal or a high noise environment may not allow this to work.
Others in this thread have added details of how they mounted the M5Stick-C externally in an IP rated box with outdoor rated CAT5/6 network cable. That seems like a great workaround for this issue.
The below photos at various zoom levels shows where the X10 connector is located on Daikin Altherma EDLA/EBLA 9-16 models, and shows my M5Stick-C in position (for now - I might make this more permanent to be fair):
Home Assistant
You will need the Home Assistant MQTT Add-on installed, and make a note of the user/password and IP/port:
The below is how you can tell if anything at all is coming through from ESPAltherma:
Going into that entity should look like the below
Note: only sections in red will show if not yet connected it to the Daikin outdoor unit, i.e. testing inside first, which is a good idea
Once all the sensor data is pulling through, next is amending config files to be able to consume the data:
-
Configuration.yaml
(note you’ll need to just take the relevant section from my file and to yours as long as you double check entity names match those in your system, but uploaded the whole file so you can see full context) -
Template.yaml
(I think you should be ok to add this in “as is”, however, do note that the sensor names match up with the ESPAltherma.h
file contents further up this post)
The below is where the EmonCMS_History integration occurs, allowing for sending sensor data collected by HA over to EmonCMS cloud service.
These show up in your EmonCMS account as inputs
(which are transient and are not stored, but are free)
You will need to create feeds
from inputs
which then persist, and these have a cost.
The below is where the new data from MQTT Add-in is processed to create new sensors in HA:
Here are the files I am using as of today December 12 2023:
configuration.zip (1.1 KB)
template.yaml.zip (2.3 KB)
Pay very special attention to entity names, I’ve had a few fixes due to names not coming through correctly/as expected. If something is not working as expected, it’s possible an entity name mismatch
e.g.
the below does not have an underscore showing here, but does in the .h
file and subsequently needs it for sensor creation:
This is the device in Template.yaml
:
This is in the .h
file:
Also:
The below has a “_2” on the end due to my own trial/error getting this working, so if you get this working 1st time, you will NOT have the added _2 at the end
binary_sensor.3way_valve_on_dhw_off_space_2
Screenshot for full context
This particular point was relevant in trying to get the 3 way valve data and then send to EmonCMS to register the feature for automatic identification of DHW cycles per example below:
Please ensure you restart Home Assistant to get the latest version of configuration.yaml to be active.
I have been contacted (thank you!) as it has been noted I have some minor errors on sensors in the template.yaml
which they’ve fixed further down this thread, however as I don’t actively use them I hadn’t spotted these. I will fix them (including uploading a fresh template.yaml
) and update this post to reflect those errors corrected when I get a chance on my laptop
EmonCMS - Cloud Service
Thanks to @glyn.hudson and @TrystanLea and probably others not mentioned for this fantastic service to show the data in an informative way with features added regularly.
note: there is also a local private EmonCMS version you could run instead with info linked here, but that’s not the scope of this guide
You will need to create an EmonCMS Cloud Service account, and setup the My HeatPump
app within it.
There is a concept of Inputs
and Feeds
in EmonCMS
Inputs
are transient in nature, take external data sources, not stored and used primarily to provide data to a Feed
, using the Log to Feed
processing function (and some as detailed below use a few more processes than just this)
Feeds
are persistent in nature, and store the data for as long as you pay for the feed (in EmonCMS cloud version anyway), and are then consumable from EmonCMS apps such as the MyHeatpump app.
You will also need to purchase credits @ £1.20 incl. VAT per feed, per year from the OEM shop
I have ~12 active feeds, so that is ~£14.40 incl. VAT/year costs for this element.
EmonCMS Write key is here and you need this for one of the steps above in Home Assistant to add to configuration.yaml
:
EmonCMS Inputs
you see (hopefully) are derived from the Home Assistant configuration.yaml
section where your sensors are listed for sending to EmonCMS.
(remember you need to restart Home Assistant to get the latest configuration.yaml update to become active)
The important ones are highlighted in the screenshot below (I have personally added others for my own use but they are not needed for this setup) and are the ones (albeit sensor names might be slightly different) you will need to process
(spanner symbol):
Note:
For those Daikin Altherma EDLA/EBLA (and maybe others?) models with a backup heater (BUH) (not to be confused with tank/cylinder booster heater/immersion) it is not accurate to use Leaving Water before BUH R1T
sensor for some reason.
Defaulting to R2T
(Leaving Water after BUH R2T
) sensor is the current most accurate data we have from the unit for those with a BUH
For those Daikin Altherma units without a backup heater (BUH), Leaving water before BUH R1T
sensor is all that is available, and it is advised to see if someone on this forum with a MID compliant Heat Meter can provide some correlated sensor data if possible to provide confidence in its’ usage
Here is the EmonCMS Leaving Water R2T
processing formula that initally gave me the most issues and has the most complex steps of all of them, but works really well:
Below is a link to the thread where @Timbones kindly helped me work the formula above out.
You should be able to add the My Heatpump
app in EmonCMS, and provide the Feeds
setup in the previous step:
You should then be able to launch the app and thats pretty much it:
Next step if you want to publish the system on HeatPumpMonitor.org
is to log in there with your EmonCMS account and complete the steps to carry that out.