Controlling Daikin Altherma 3 based on hourly electricity prices

I have earlier told you about changing our house heating to Daikin Altherma 3. Shortly after that Russia started their invasive war against Ukraine and energy markets changed totally, luckily not permanently. This lead me figuring out if I could optimize the heat pump usage against electricity market, specifically hourly markets to help both my expenses and overall energy crisis. As always this a point-in-time status of the setup that is subject to continuous improvement and new ideas.

My Daikin has a sort of a Smart Grid support. That means digital input to force or decline heating operations. I do have also the add on board that allows setting maximum input power for four preset values. All this means implementing the actual logic outside the unit. I decided to start by stopping the unit for the most expensive hours.

Electricity market for consumers is hourly priced (soon to be 15 minutes) and prices are set for the next day. To support correct number of hours to operate the heating, I looked in to the history data, that I had collected during the first year or so. As a result I calculated a correlation between outside temperature and required daily input energy.

Correlation equation between daily average outside temperature and required daily input energy

Next steps where to obtain daily weather forecast and electricity market prices. Weather forecast I decided to get from Finnish Meteorological Institute’s open API and electricity pricing from Entso-E’s API. The logic and integrations are once again built using Nodered.

Nodered logic to implement my ideas of electricity market optimization

Since I have also an electric car that I charge at home, it was obvious to include that one as well in the logic. There are some nice products available for that functionality, like Gridio. I decided to go with totally self made solution for now, even if it is not that intelligent. My logic here is to select four cheapest hours for every night and allow charger to charge only during those preselected hours. Not 100% perfect, but still better than nothing.

The following images represent components of the current setup. I have been using this for months now. It works pretty nice. I’m planning to add more user interface components and make the logic more robust. That might include a total rewrite.

Logic with source and target relations
LOGO added with electricity optimization parts. Previous failover timer applied here as well.
LOGO control panel showing automation activated and both charging and heating in blocked state.

While I have been playing around with above setup, OpenAI’s ChatGPT has started a revolution on tools available to learn and achieve targets. For the upcoming enhancements I will for sure try to take shortcuts using ChatGPT (or some implementation of it, like Bing) as my assistant!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.