Daikin Altherma, ESPAltherma & Home Assistant with OpenEnergyMonitor

Hi.
I’ve had a real try of sorting the software(coding) out and really struggling(didn’t think it’d be this hard). I’ve trawled the internet for solutions, but very n00b and a vertical learning curve. Tried various options, tweaks, resets etc but still getting error message in PlatformioIO when I try to upload to M5

I have an M5StickCPlus2, downloaded PerformioIO, copied and followed the @Raomin GitHub. The only changes to the text I’ve made are to the SSID and password and my MQQT password. MQQT server is my HA address.
I did struggle with finding this MQTT password. I am assuming, from trawling, that it is the same as my HA password?!
I did update to my HA user name(from homeassistant), but the password is always password_not_changed despite me changing it. So I have ‘left this empty if not set’

I then, underneath the unchanged @Raomin text, copy and pasted (as I have an 11kw EDLA11DA3V3) the entire sensor data shared in @Steven_Crown install guide, and have uncommented my ASHP device.
As said, I haven’t altered any other text other than described, its all in there.

Hopefully I’ve attached screen grab of PlatformioIO with error message at bottom and corresponding line of code
It is only these senor data requests that are getting errors everything else is fine

When I try to upload to the M5 from PlatformIO (I’ve tried Build first as well) I get these error messges.
I freely admit I’ve likely done a simple mistake that will become blindingly obvious.

On a lighter note, the hardware side has gone well, stress relief from coding..

Many thanks
bren

I suspect there’s a syntax error somewhere above where the errors are being reported, which obvs I can’t see! However, you say “copy/paste…” which is a distinct possible problem…

I’m not quite sure what you’ve done, but you need to

  • Fix the passwords etc as you have
  • Uncomment your ASHP-specific file name in setup.h i.e. //#include "def/Altherma(EBLA-EDLA D series 9-16kW Monobloc).h" becomes #include "def/Altherma(EBLA-EDLA D series 9-16kW Monobloc).h"
  • In the referenced ASHP-specific file, uncomment the data items you want to see, so edit /include/def/Altherma(EBLA-EDLA D series 9-16kW Monobloc).h e.g. //{0x61,4,105,2,1,"Leaving water temp. after BUH (R2T)"}, becomes {0x61,4,105,2,1,"Leaving water temp. after BUH (R2T)"},

That should do the trick. You don’t need to add any text to anything, just uncomment the relevant lines in setup.h and the relevant ASHP-specific file.

Keep going! You’re nearly there! :+1:

Thanks for the support John, I really appreciate it. I’ve been determined to share my data from when this website first appeared and I was still researching inspired watching @glyn.hudson fitting his own and reading his early data. It convinced me, and I want to add to that data pool. Tantalisingly close..

I’ve checked your suggestions, and I have all that in place, but it still doesn’t want to work.
Here are screen grabs from below my passwords(i don’t know how to hide them)
The copy and paste is opening Steven’s zip file on sensor data and copying the entirety, and pasting it directly into PlatformioIO at the end of Raomin text.
Some screen grabs





Then follows all the sensor data from Stevens .zip file till the very end

There’s gotta be a simple gotcha in there(I hope)
Again my sincere thanks to you and everyone else on this site, real brain food!!

bren

I’m not sure why you’re copy/pasting a definition file into the setup.h and uncommenting the #include file at line 84. These are doing the same job.

I’ve compared Steven’s file and the current unmodified file from the GitHub repository, the only significant difference is that he has already uncommented specific data lines in it.

If you want to use Steven’s file, then you’d be better to

  1. save it into the include/def directory, as say StevenDefinitionFile.h (this name is unimportant apart from you have to use it in step 3)
  2. re-comment the line you uncommented on line 84 (add ‘//’ at the beginning, it should go green)
  3. add a line in front of it that looks much the same as the uncommented line that has the name of your file in it e.g. #include "def/StevenDefinitionFile.h"; this line should be purple/orangey-red
  4. Remove all the stuff you pasted in at the bottom i.e. delete line 130-end in setup.h

This might just work :grin:. If you look at my instructions above, they don’t include copy/pasting anything, and I actually mention that. Doing that is too risky if you aren’t a C/C++ person, because the slightest error will generate vast numbers of errors which you’ll never resolve.

Finally got there the M5 is up and running.
Thnaks John and Ben for your support, as well as everyone else on here.
My missunderstanding of coding and reading thing properly is apparent, but I managed to muddle through
I got especially confused witht he uncommenting and setup.h, and didn’t work out step1 from John (I’m that bad!)
I went into the setup.h and uncommented individually the data lines using Steven’s suggestions in his .zip file (I have a 11kw) I noticed that all the lines that he suggested are not in there so have done all that I matched. I’m assuming greater minds have commented and changed the sensors between Steven’s first post and now. I didn’t think I could add a missing sensor, so didn’t risk it (below if of interest I hope I’m not missing anything important but if needs must..)
I’m now waiting for the electrician to come install my Shelly Pro EM-50 before using ‘Speak to the Geek’ video to get it onto emoncms. Having a show’n tell will be easier I feel.
Thanks once again, keep an eye out for an 11kw Daikin in Cardiff :face_with_monocle:
bren

Sensors uncommented;
{0x10,0,217,1,-1,“Operation Mode”},
{0x10,1,307,1,-1,“Thermostat ON/OFF”},
{0x10,1,306,1,-1,“Restart standby”},
{0x10,1,305,1,-1,“Startup Control”},
{0x10,1,304,1,-1,“Defrost Operation”},

{0x10,1,300,1,-1,“Low noise control”},

{0x10,6,114,2,1,“Target Evap. Temp.”},
{0x10,8,114,2,1,“Target Cond. Temp.”},

{0x20,0,105,2,1,“R1T-Outdoor air temp.”},
{0x20,2,105,2,1,“O/U Heat Exch. Temp.(R4T)”},
{0x20,4,105,2,1,“Discharge pipe temp.(R2T)”},
{0x20,6,105,2,1,“Suction pipe temp.(R3T)”},
{0x20,8,105,2,1,“Heat exchanger mid-temp.(R5T)”},
{0x20,10,105,2,1,“Liquid pipe temp.(R6T)”},

{0x21,0,105,2,-1,“INV primary current (A)”},
{0x21,2,105,2,-1,“INV secondary current (A)”},
{0x21,4,105,2,1,“INV fin temp.”},
{0x21,6,105,2,1,“Fan1 Fin temp.”},

{0x21,10,105,2,1,“Compressor outlet temperature”},

{0x30,0,152,1,-1,“INV frequency (rps)”},
{0x30,1,211,1,-1,“Fan 1 (step)”},
{0x30,2,211,1,-1,“Fan 2 (step)”},

{0x30,12,307,1,-1,“Crank case heater”},

{0xA0,0,119,2,1,“Suction temp”},
{0xA0,2,119,2,1,“Outdoor heat exchanger temp.”},
{0xA0,4,119,2,1,“Liquid pipe temp.”},
{0xA0,6,119,2,2,“Pressure”},

{0xA0,12,306,1,-1,“Safeguard operation”},
{0xA0,12,305,1,-1,“Crank case heater”},

{0xA0,14,105,2,1,“Compressor port temperature”},
{0xA1,0,119,2,1,“(Raw data)Water heat exchanger inlet temp.”},
{0xA1,2,119,2,1,“(Raw data)Water heat exchanger outlet temp.”},

{0xA1,4,301,1,-1,“Bottom Plate Heater”},
{0xA1,4,300,1,-1,“PHE Heater”},

{0xA1,9,305,1,-1,“Monobloc setting”},

{0x60,2,303,1,-1,“Ext. Thermostat ON/OFF”},
{0x60,2,302,1,-1,“Freeze Protection”},
{0x60,2,301,1,-1,“Silent Mode”},
{0x60,2,300,1,-1,“Freeze Protection for water piping”},
{0x60,3,204,1,-1,“Error Code”},
{0x60,4,152,1,-1,“Error detailed code”},
{0x60,5,203,1,-1,“Error type”},
{0x60,6,219,1,-1,“I/U capacity code”},
{0x60,7,105,2,1,“DHW setpoint”},
{0x60,9,105,2,1,“LW setpoint (main)”},

{0x60,11,304,1,-1,“Benefit kWh rate power supply”},

{0x60,12,306,1,-1,“3way valve(On:DHW_Off:Space)”},

{0x60,12,301,1,-1,“Water pump operation”},

{0x61,2,105,2,1,“Leaving water temp. before BUH (R1T)”},
{0x61,4,105,2,1,“Leaving water temp. after BUH (R2T)”},
{0x61,6,105,2,1,“Refrig. Temp. liquid side (R3T)”},
{0x61,8,105,2,1,“Inlet water temp.(R4T)”},
{0x61,10,105,2,1,“DHW tank temp. (R5T)”},
{0x61,12,105,2,1,“Indoor ambient temp. (R1T)”},
{0x61,14,105,2,1,“Ext. indoor ambient sensor (R6T)”},

{0x62,2,307,1,-1,“Reheat ON/OFF”},

{0x62,2,303,1,-1,“Space heating Operation ON/OFF”},

{0x62,3,105,2,1,“LW setpoint (add)”},
{0x62,5,105,2,1,“RT setpoint”},

{0x62,7,304,1,-1,“Main RT Heating”},
{0x62,7,303,1,-1,“Pwr consumption limit 4”},
{0x62,7,302,1,-1,“Pwr consumption limit 3”},
{0x62,7,301,1,-1,“Pwr consumption limit 2”},
{0x62,7,300,1,-1,“Pwr consumption limit 1”},

{0x62,8,304,1,-1,“PHE Heater”},

{0x62,8,302,1,-1,“Circulation pump operation”},
{0x62,8,301,1,-1,“Alarm output”},
{0x62,8,300,1,-1,“Space H Operation output”},
{0x62,9,105,2,-1,“Flow sensor (l/min)”},
{0x62,11,105,1,2,“Water pressure”},
{0x62,12,152,1,-1,“Water pump signal (0:max-100:stop)”},

{0x62,15,105,2,2,“Refrigerant pressure sensor”},

{0x63,14,161,1,-1,“Current measured by CT sensor of L1”},
{0x63,15,161,1,-1,“Current measured by CT sensor of L2”},

{0x63,16,161,1,-1,“Current measured by CT sensor of L3”},

{0x64,3,105,2,-1,“BE_COP”},

{0x64,9,302,1,-1,“Add pump”},
{0x64,9,301,1,-1,“Main pump”},

{0x64,14,152,1,1,“Target delta T heating”},

3 Likes

@lampylad Excellent news! At least you got there.

So you uncommented the lines in the Altherma 9-16Kw file in include/def as provided by ESPAltherma? Good plan, it’s up to date because people work on this all the time.

In respect of the vast number of items you’ll be collecting, TBH pretty much all of them are irrelevant for most folk, who’ll be interested in

  • Flow sensor (l/min), Inlet water temp.(R4T), Leaving water temp. after BUH (R2T) for heat output calculation
  • R1T-Outdoor air temp., Indoor ambient temp. (R1T) so you know outside vs. inside temp as seen by the HP
  • DHW tank temp. (R5T), DHW setpoint - actual HW temperature vs. required
  • Water pressure - handy to see if system needs topping up
  • Water pump signal (0:max-100:stop) - useful to see when HP is doing LWT sensing operations

And then various flags to tell you what the HP is currently doing:

  • Defrost Operation - is HP defrosting
  • Operation Mode - not sure I use this, but it says if it’s on or off if you don’t know
  • 3way valve(On:DHW_Off:Space) - is it doing Heating or DHW, more critical than above

IMHO, the rest is for someone who understands more about how HPs work, which might of course be you. Worth looking at the OEM Heatpump Monitor app configuration fields, if you’re thinking of using that, and working out what goes where. I don’t use HA, so can’t help you there.

Glad you got it working! Little note in case you get confused later, this sensor:

{0x61,14,105,2,1,“Ext. indoor ambient sensor (R6T)”},

is more than likely the external outdoor sensor. I submitted a fix for the label for the 8kW Daikin range, but without being able to test it for other models I didn’t modify them.

It’s for the separate external sensor if you have one, usually because the HP is in sun and its attached sensor would be inaccurate. It’s also for an internal sensor, if that’s what’s configured :zany_face: