DIY Weather Compensation - Anyone done it?

Hi all,

I was just wondering if anyone had written a complex rule to do some sort of weather compensation for their heating system? I live in the UK, have a heatpump (this has weather compensation for the flow temperature) but find my self constantly playing with the thermostats. When its a warmer day i don’t need it to be set as high but when cooler i do and due to the longer heat up time of the heatpump its hard not to have the thermostat higher most of the time.

I was thinking openhab could deal with problem with some clever code writing? Or is anyone using anything else to deal with this? I know the Nest does this along with some others smart stats but Heatmister (Neo Stats) haven’t seem to caught up. I have 7 of them controlling a UFH manifold and two rads (using e-values), along with the neohub so they can all talk to openhab. - However i don’t think the current binding can change the temp, just On/Standby…?

Ditching the lot and going with one or two Nests has crossed my mind, the house isn’t that big and having all the zones seems to be over the top.

Be great to hear if anyone is got any ideas or advise?

1 Like

I’ve been thinking about the same thing - just something simple like turning off the heating in the morning when a clear bright day is forecast. Like you, I have a heatpump with weather compensation (but that only really kicks in when seriously cold outside) and UFH. I had the old wifi heatmisers which I controlled with a script, but which I eventually decided were just too useless and so replaced with zwave heatit devices.

I´ve got a similiar problem, apart from the heatpump. When I set my room temperature to 21.0° in the morning and the sun shines directly into my windows… I got an actual temperature of around 28° and need to open the windows before I melt away.

It would be cool to have the chance to use a weather forecast for the current day to get an idea if the day will be bright and sunny and the morning is just a little bit cold… (then it would be easier to reaise the rollershutters and let the sun warm the room)

I do something like this but relatively simpler and more focused on what the state of the world is now as opposed to the forecast. That is partially because it works and partially because the best forecasts here in the mountains is not terribly accurate.

We don’t have an air conditioner but we do have a basement and the forced air furnace is in the basement. In the summer the basement is a good ten degrees F cooler than the main floor which is a good five degrees F cooler than the top floor.

The one Nest is on the main floor.

To start I just wrote some rules to remind us to open the windows when the inside temp (according to Nest) was warmer than the target and the inside temp is cooler than outside or close the windows and blinds when the outside temp is warmer than the inside temp and the inside temp is at or below the target temp.

Then I added a rule to turn on the forced air fan when the main floor temp gets five degrees F warmer than the basement.

On top of all of this, I use the cloudy parameter as reported by wunderground to turn on/off the lights when it is cloudy.

Since then I’ve added some arduino temp and humidity sensors to the top floor and the basement and now use the temp differential between the top floor and the basement to turn on/off the house fan.

To address some of your specific ideas:

One of the challenges I think you will face is that many of the algorithms you would want to use for this (AI, Markov chaining, etc) are not easy to implement in rules. So you would probably want to implement the smarts in an external program that communicates with OH. There are several threads on this forum discussing integrating AI and the like with OH.

But if you are after something simple (e.g. if the forecast temp today is X degrees over tgt, lower tgt by 1 degree) rules can handle it no problem.

Thanks for the reply’s, its interesting to find out how your automating your heating controls / habits.
There are two main things i want from the weather compensation…

  1. When the heating is due to turn on in the morning i want it to switch on earlier if its due to be colder morning, as it takes longer for the house to heat up. Currently i have “Time to Temp” feature from Heatmiser but this is no good if we go from a cold spout to a warm morning. I think the nest does look at a 5 hour forecast to deal with this.

  2. The colder the day is i also have to up the set temperature to keep the house comfortable, only talking between 20 - 22c (maybe lower in 19 as wont want in on) but be good to get this automated. I think this would be a simple ones with rules.

What i really want is to draw a graph with the outside temp on one axis and the desired inside temp on the other and openhab follow that graph.

I think at this moment in time switching to nest may be best, however i need to check if their UK model supports heatpumps with the “heatpump balance” and how that would work without AUX heat. Shame really as own a fair amount of Heatmiser Neo stuff, if only they did a better time to temp feature. Also don’t know if anyone plans on improving the binding as could do with a few improvements to match the options available from IFTTT for example.

Well, you can coffee your graphs as equations in your rules if that is what you are after. A great is just a representation of an equation after all.

I’m not sure what you are after with IFTTT. The point of IFTTT is to take events from one service and cause events on another. And that is exactly what oh rules are for as well. I wouldn’t expect a single binding to do more than talk to a single service or technology.

Yes i might have a go at coming up with an equation, just need to figure that bit out.

With regards to IFTTT, i just meant the neo binding only supports 2 swiches, standby and away. Where as the IFTTT has many more, temp hold, set temp, boost timer, away, home and standby. As i cant currently set temp on each thermostat directly by the binding its hard to start introducing stuff like this for me.

Note that the equation doesn’t have to be a set continuous thing. You can use a different approach for different temp ranges and temperature differentials.

As for IFTTT, given the native OH binding is so limited at this time, are you aware that you can integrate OH with IFTTT through and the openHAB Cloud Connector add-on. You could then have a virtual switch in OH that kicks off an IFTTT recipe (or whatever they are calling it these days) to set the temp. It isn’t ideal but ultimately gives you the functionality you need while waiting.