Controlling house heating etc from electricity and weather forecast?

Its time for me to get a new electricity supplier, and I am considering an hour by hour price model, based on the nordic spot market prices. Having full control of all electrical consumers in my house, including the (heat pump) heating, I think I ought to be able to earn something from this, if anyone can.

In general, I think it is not so easy to gain any benefits by using the lower cost during nights/early mornings to make hotter water, since normally it is also colder during this time, and also heat pumps get less and less efficient with higher water temperature. Basically not worth the hassle.

But:- Now the cost in northern europe is higher than normal, at least here in Sweden. So I figure, what if also put the weather forecast into the mix. The nordic spot price for the upcoming day are set at 1500 the day before, if I understand it correctly.
Charging the car etc is super easy, do at the lowest hour fee, but the heating is much more complicated, and needs some kind of proper calculation/algorithm.
But if I look at may current total house consumption, it actually peaks during the late evening, not too far off the lowest priced hour, if I do an rough eyeball comparison between the consumption and the price.

So:- I wonder if someone has already done some work for this, and if you would like to share your experiences.

Totally different situation, but maybe an idea?:
I have two zone gas heat with zwave thermostats and thought I might save a bit by coordinating heating, so when the upstairs goes on I raise the setpoint (just one degree F) on the lower thermostat and then lower it back when the upstairs goes off. This extends the heating run a bit and I think I saved a bit of electricity (the gas furnace runs on electricity). Depending on your tolerance for variation, you could preheat a bit when rates are low, then let the temp drop a bit during high cost. I’m retired and mostly home, but if you go to work you could fit that into your plan. Also working with temperatures is tricky. I relied on @rossko57 advice. He has valuable posts on the forum to review.


Yes, exactly - preheating is what I am considering. But I think there needs to be some kind of dedicated algorithm to control this. Otherwise, it may actually be a loss, if I pre-heat e.g. 06:00-07:00 in the morning, since the house is of course “leaking” heat, at a given rate maybe the pre-heat it self will use more than the actual price a couple of hours later. But also if, say the price has one peak 11-12, and then goes down again at 13:00, the pre-heat algo should adjust its temp as best it can to reach 13:00 without having to heat during the high price.

The price of electricity is sometimes changing very much over the course of 24h. But of course also sometimes the weather, of course. So if the consumption of the house can be estimated, this ought to be possible to automate.
But yeah, maybe this is to complicated to be successful. Temps are, like you say, tricky.

I’m considering exactly the same thing (getting nordpool prices and controlling the heating in a clever way).

One (not that fun) option, is to use Tibber. It’s an electricity company that does the clever adjusting for you. There is also a binding in openhab (but only for reading data I think).

I don’t think you can configure much about the algorithm in Tibber, however. I would like to be able to set a temperature range, where the higher range gives the biggest saving.

If there would be an available algorithm to place in a openhab rule (and preferably a binding to the nordpool API), I would go ahead and implement it right away…

Well, in fact, I am now using the built in Nibe heat pump Nordpool controller software, and it works, but I would much rather do it myself, since I can then make it more tailored to my needs, and better optimizations . So Tibber would not be any better, I suppose. I use Greenely now, and they also have software for charging my car, but also that is not optimal for my situation, so I don’t use that.
I think it would be very useful to have a binding for nordpool, that can be used within rules. But I am not skilled enough to write this myself.

With the current electricity prices in the south of Sweden, I’m going to put more attention to this…

So far I’ve managed to get the nordpool prices into Influxdb through a python script, that I execute once per day using the exec binding.

Here is the script if anyone is interested:

# Import library for fetching Elspot data
from nordpool import elspot
from pprint import pprint
from influxdb import InfluxDBClient

item_name = "NordpoolSpotPrice"

# Connect to database
db_client = InfluxDBClient(host='localhost', port=8086, username='python', password='*****', database='openhab')

# Initialize class for fetching Elspot prices in SEK
prices_spot = elspot.Prices("SEK")

# Fetch hourly Elspot prices for south of Sweden and print the resulting dictionary
values = prices_spot.hourly(areas=['SE4'], end_date=None)["areas"]["SE4"]["values"]

# Create data to the placed in database
json_body = []
for value in values:
        json_body += [
                "measurement": item_name,
                "time": value["start"],
                "tags": {
                    "item": item_name,
                "fields": {
                    "value": round(value["value"]/1e3, 5),

# Write to database

@ulfwin you might be interested in this: Control a water heater and ground source heat pump based on cheap hours of spot priced electricity

1 Like