Energy management and scheduling

Our house has a ground source heat pumps which takes the heat from a 170 meter deep hole drilled to the bedrock, which is not that sensitive to outdoor temperature changes. I have very little experience with air-to-air heat pump optimizations.

What your wrote makes sense though and the approach to block the coldest hours is probably one approach that can work, especially if the outdoor temperature is not so cold that heating can’t be blocked for that period.

I found a thesis where the COP of air-to-air pump was experimented on different outdoor temperatures and compared to what the manufacturer advertises. The results were like this:

image

So given that we know the hourly total electricity price (spot price + transfer tariffs and other price components) for day ahead, given that we know the hourly weather forecast for day ahead and given that we know (based on experience) how much heating is needed for tomorrow, it would also be possible to develop an algorithm that chooses the heating hours combining all this.

One thing that I’ve seen other folks doing with air-to-air heat pumps with spot price optimization is that they don’t switch it off during the expensive hours but they drop the set-temperature (target temperature) slightly and when it’s cheap, they increase the set-temperature. This is conceptually exactly what you are doing with your 3-4 “SG-ready” modes.

Cheers,
Markus

I’ve been thinking a lot about that but I don’t think that’s feasible in the general case.
As said, we cannot compare efficiency spread to cost spread in order to decide if to heat when one hour the cost algorithm says so but the temp algorithm does not or vice versa.
Thing is, if you forbid/postpone heating now you cannot compute when the hour to rectify/catch up will be. The amount of heat needed depends a lot on weather and the required amount of electrical energy depends on consumption of the day, plus the effect of solar (and non-solar) battery energy storage will ‘fuzz’ computations a lot.
So you cannot compute how expensive and how warm it’ll be that hour hence you don’t know if it’s better to make one or the other algorithm take precedence.

Well yes, but to dynamically adjust set-temperature requires another interface into the heat pump.
There’s proprietary IP interfaces on some pumps and even some openHAB bindings and there’s one pump I know of that implements the closed EEBUS standard, but it’s a single device only and general availability of an open such interface is what we’re far away from.

I’ve just implemented a sliding window in my energy management system for cheap hours to work with Tibber and aWATTar, the most popular dynamic tariff providers in Germany those are.

Now my flags (see post #1) aren’t computed per-day any more but forward-looking, i.e. they are set based on prices from <now> till as long as the info about forthcoming prices will last.
That should be overcoming the effect discussed here.
So now enforcing heat pump heating and EV charging will happen in the cheapest future hours (or barring during most expensive times).

Plus, I have incorporated a generic ‘catch up charging’ feature.
If consumption (+generation) forecast predicts that my (solar) battery is about to run dry the forthcoming night, I’m now charging it ahead of time when it’s the cheap hours.

It’s brand new so cannot share results yet but as preliminary info, here’s my tonight’s chart.

Thanks for diggin’ that up. So that would be an 84% increase in efficiency for my example, that’s more than we can gain from hedging tariffs.
Whoo-hoo !

1 Like

It is not clear to me how you avoid the “Tinder dilemma”, i.e. always looking for a better future alternative leading to never actually getting any. I guess the question is: “When does your algorithm make decision to start or stop the heat pump?”

I think the Tinder comparison falls short.
Combining temp and price based optimization is somewhat tricky, see above, but as long as attractivity is a single dimension (price) it’s hardly ever-falling, in practice there’s a lower limit: with very few exceptions (limited to single days) price will remain above zero so you’re quickly hitting ground.
Plus, I don’t run the pump directly. My system just tells the pump that power is either A) cheap, B) expensive or C) neither of these and unless you choose an unreasonable number of hours there’s a remainder when neither A) nor B) is signalled and your pump will decide if to heat for you in that timeframe.
So in Tinder terms, when your buffer runs dry waiting for the perfect match it’ll take the next best offer.

The price will (almost) always stay above zero is not a safe assumption anymore at least here in Finland. Now that OL3 nuclear power plant is up and running and the capacity of wind power is growing all the time, the situation is that for example today’s average price is -0.14 c/kWh. Tomorrow’s average is -0.39 c/kWh (the most expensive hour tomorrow is 0 c/kWh).

Today and tomorrow are obviously exceptional days, it’s not like this every day. But the prices in general are so much more reasonable compared to what they were last year that I’m most probably going to follow the same suit that @mstormi is doing i.e. using the the SG-ready modes and letting the heat pump to decide the exact heating times.

The only thing is that my Nibe has only two AUX inputs so if I would configure these to be the SG-ready modes, then I lose control on when the domestic hot water heating takes place. I can easily do that on the absolute cheapest hour of the day and I would like to keep this. But it might be that I opt for more comfort-weighted optimization logic this winter instead of optimizing the price like I did last winter…

Cheers,
Markus

Here’s my tonight’s chart. It shows the battery being charged at 23:00 after a cheap day.
We didn’t have much sun but still as you can see a lot of consumption (heating, washing) was moved to before sunset (around 1800) because it was the cheap hours.
Consumption was mostly from grid (better than to charge battery first as that would involve losses).
Now charging at 2300 it wouldn’t have done that if I still was on the per-day calculation basis, but given the increase in price the next day (starting right the next hour) it was beneficial.

FYI, I’m not exclusively running the heat pump at cheap times but everything controllable such as my washing machine and EV charging (if only I had an e-car :slight_smile: but at least my EMS is working fine).
My ‘available energy level’ calculation (to determine if to run any devices including the heat pump) as well as the recharge code are essentially independent of pump control.

Just sorta got hit albeit the other way round. I’ve defined to maximum-heat at most 1 hour i.e. the cheapest one in the forecast timeframe.
Now with an overall increase in tomorrow’s prices, this just resulted in 3 consecutive hours of maximum heating.
Next hour there’ll be a break. Just like I said the probability of hitting an ever-rising (or ever-falling ) timeframe is low enough to be ignorable.