Weather forecast for heating control

Hello!

Im planning to build simple as possible system that can read a temperature from some weather forecast site (accuweather for example) and convert that to analog signal. That analog signal is then used to replace outside temperature sensor of floor heating system (curently NTC-resistor).

And all this is needed because the water heated concrete floor has huge thermal mass and weather conditions here in Finland often changes rapidly. The lag of the thermal mass causes the room temperature being constantly off in one way or another..

Because the lag is not known the advance of the control should be adjustable.

Summary:

Forecasted temperature from web some hours advance --> analog signal (probably 0-5v) to existing heating controller that takes care of the adjustment currently based on outside temperature. --> More comfort room temperature and energy saving.

Ofcourse everything should run standalone from now to ethernity after install.

Any thoughts how i should approach this?
I know there's already projects parsing the current weather from web but i didn't find anything similar im after. I don't want to re-invent the wheel if this is already done :slight_smile:

Assuming you have no influence over the logic of the existing heating system control, you are restricted to tricking the heating system that the outside temperature is different to the actual temperature in order to optimise the energy input into this system.

I'd start by doing an analysis and simulations to see how this would work in practice. For example, if you know it is going to be 4 degrees warmer, compared with the long term trend, in the next 4 to 6 days, what outside temperature would you attempt to simulate and when ?
To achieve that, you'd need to know over how long a period the temperature sensor results are aggregated (maybe hours to days) for determining the energy input, in other words what the algorithm is which will probably be a function of outside temperature, time of samples , floor temperature and maybe other factors.

Anyway, if there is a huge amount of thermal inertia in the system, the scope for optimisation for short term deviations from the outside temperature trend are limited.

If you google for "ESP8266 accuweather" you'll find some projects which attempt to parse online weather resources. The design of your temperature sensor will influence the design of your add-on module to simulate a different temperature.

If you make additions to your heating system, you should attempt to design these in such a way that if your add-ons fail for any reason, the heating system continues to work in its original mode.

Hardware-wise, I would recommend a Wemos Mini.

Wind speed is the other factor you could investigate use of. It will significantly affect the rate of heat loss of your house.

You could use the Wemos to monitor the inside and outside temperature and record this to a web data service. You can learn a lot about how the temperature in your house reacts to external conditions, how quickly/slowly it reacts etc.

As for making an analog 0-5V signal, is that actually necessary? The heating system is either on or off, controlled by a thermostat? Or is it more sophisticated than that?

weather conditions here in Finland often changes rapidly.

Have you determined how accurate the forecasts are under rapidly changing conditions?

In many locations around the world, the statement "the weather will be the same tomorrow as it is today" is correct about 70% of the time, something you could check from your local Accuweather or other weather service statistics.

Assuming the day to day temperature/time correlation is roughly 0.7, using yesterday's pattern of temperatures could be quite effective in anticipating today's.

Because the lag is not known the advance of the control should be adjustable.

The lag is something you can determine very easily. Just turn up the thermostat a set amount, and measure the time it takes for the interior temperature to rise by 70% of that amount. That is the system time constant.

6v6gt:
Assuming you have no influence over the logic of the existing heating system control, you are restricted to tricking the heating system that the outside temperature is different to the actual temperature in order to optimise the energy input into this system.

Anyway, if there is a huge amount of thermal inertia in the system, the scope for optimisation for short term deviations from the outside temperature trend are limited.

If you google for "ESP8266 accuweather" you'll find some projects which attempt to parse online weather resources. The design of your temperature sensor will influence the design of your add-on module to simulate a different temperature.

If you make additions to your heating system, you should attempt to design these in such a way that if your add-ons fail for any reason, the heating system continues to work in its original mode.

The logic of existing controller goes like " Outside temp is -10 C, let's push 35 C degree water around the floor if it's - 35 C lets use 42 C." The water temp out vs. outside temp. curve is adjustable. And there's also possibility to use inside temp to fine tune the the out going water temp. It also has such failsafe limits that the pipes aren't freezing or melting if my ad-on weather gadget fails.

PaulRB:
Hardware-wise, I would recommend a Wemos Mini.

Wind speed is the other factor you could investigate use of. It will significantly affect the rate of heat loss of your house.

You could use the Wemos to monitor the inside and outside temperature and record this to a web data service. You can learn a lot about how the temperature in your house reacts to external conditions, how quickly/slowly it reacts etc.

As for making an analog 0-5V signal, is that actually necessary? The heating system is either on or off, controlled by a thermostat? Or is it more sophisticated than that?

I thought im going to use so called "real feel" temperature as it takes account things like wind and sunlight and agle.

And yes, analog signal is really needed cause it's stepper motor driven mixing valve that mixes the 60 C core water from oil burner to return water from heating system to maintain correct out going temp.

jremington:
Have you determined how accurate the forecasts are under rapidly changing conditions?

In many locations around the world, the statement "the weather will be the same tomorrow as it is today" is correct about 70% of the time, something you could check from your local Accuweather or other weather service statistics.

Assuming the day to day temperature/time correlation is roughly 0.7, using yesterday's pattern of temperatures could be quite effective in anticipating today's.
The lag is something you can determine very easily. Just turn up the thermostat a set amount, and measure the time it takes for the interior temperature to rise by 70% of that amount. That is the system time constant.

I think the forecast is mostly accurate as needed. Being few degrees off doesn't really change the result.

The problem is like i said the time it takes to change the heating power of the floor and the fact that it can be easily - 10 C tonight and + 8 tomorrow at daytime.

Yes measuring the lag is easy part in this. I believe it's something like 12 hours, so completely out of phase :slight_smile: It's kind of a design flaw of many houses around ere, and hard to fix other ways..

Good point's from everyone. The controller that drives the system itself works great and i want to leave it alone to keep things simple. It just needs to know the outside temperature in advance to make correct adjustment, and that's all i want to create.

Can you control the target temperature of the floor as well as the circulating water temperature and the target temperature of the room? Is your system zoned?

I currently heat with a boiler feeding hot water pipes in a large concrete slab floor without individual zones.
I run the floor at a base temperature taken from a floor sensor, which leaves the room comfortable most of the time. If it is cold outside I use a wood stove or supplemental electric heat.

My experience with a high mass hydronic systems would lead to recommend a faster supplemental heat source rather than trying to lead the system from the weather forecast.

recommend a faster supplemental heat source rather than trying to lead the system from the weather forecast.

Agree 100%, electric space heater or wood stove. And forecasts can be spectacularly wrong.

But that would not be as much fun for the technically minded!

But that would not be as much fun for the technically minded!

If there is spousal input about temperature and comfort, the "boiler buff" fun can quickly disappear.

Especially if the spouse doesn't want to wait 12 hours for the system lag.

cattledog:
Can you control the target temperature of the floor as well as the circulating water temperature and the target temperature of the room? Is your system zoned?

I currently heat with a boiler feeding hot water pipes in a large concrete slab floor without individual zones.
I run the floor at a base temperature taken from a floor sensor, which leaves the room comfortable most of the time. If it is cold outside I use a wood stove or supplemental electric heat.

My experience with a high mass hydronic systems would lead to recommend a faster supplemental heat source rather than trying to lead the system from the weather forecast.

Yes, it's zoned, and even capable to individually close some zones with room thermostat. There's no feedback from floor temperature though.

And yes, there is also a stove and even heat pump. And the system has been running kind of like yours for few decades now.

jremington:
Agree 100%, electric space heater or wood stove. And forecasts can be spectacularly wrong.

But that would not be as much fun for the technically minded!

Exactly that! And why not if there's a possibility to improve the system a lot with very little money while having fun :slight_smile:

And yes, i could also put more clothes on. But that's more like British or American mentality. Here in Finland if the heating is not working as desired someone goes and damn fix it :smiley:

Controlling high mass hydronic heat from a room sensor is difficult. For starters, I would get a floor sensor. Then you can control the floor temperature and the water temperature directly. You will have more control than using the room thermostat and outdoor temperature(or predicted temperature) to control the water and floor temperatures.

If you say its going to be cold in 12 hours, and increase the circulating water temperature the room temperature control will turn off the boiler and cool the floor down, if the room responds to the increased floor temperature before it gets cold.

cattledog:
Controlling high mass hydronic heat from a room sensor is difficult. For starters, I would get a floor sensor. Then you can control the floor temperature and the water temperature directly. You will have more control than using the room thermostat and outdoor temperature(or predicted temperature) to control the water and floor temperatures.

If you say its going to be cold in 12 hours, and increase the circulating water temperature the room temperature control will turn off the boiler and cool the floor down, if the room responds to the increased floor temperature before it gets cold.

Why there would be any change in heating power of the floor and room temperature before it actually gets cold outside? Because once again there's the thermal mass and the lag..

And the inside temperature sensor is not in use now because it just mess the whole thing when using said heatpump and stove.. Once again because the lag..

[And the inside temperature sensor is not in use now because it just mess the whole thing when using said heatpump and stove.. Once again because the lag..

OK.

One of the control strategies not using a floor sensor I have used is to run the boiler on a repeat cycle timer with varying on/off times dependent upon the outdoor temperature. Circulating water temperature is another variable.

You could certainly try manually adjusting cycle time based on the predicted temperature to see if you're on the right track for improving responsiveness.

I can also handle the mixing valve manually. I also already know that doing manually what i want my forecast gadget to do automatically works pretty well.

Im just wondering what would be the best way to substitute the ntc-thermistor. The possible solutions i have in my mind is either stepper motor driven mechanical potentiometer, digital pot or some other way to feed the analog voltage level to heater controller.

Mechanical pot sounds a bit stupid first, but that way i don't need to care at all about ground potential of the devices, that makes it really hard to break anything expensive and as a failsafe feature the pot can keep the last position and hopefully reasonable resistance :slight_smile:

You can get these ( Digital Potentiometers ) : Digital Potentiometer - 10K - COM-10613 - SparkFun Electronics

You'd have to define a mapping between resistance and (simulated) temperature. Some digital potentiometers 'remember' their last setting. There are plenty of code examples for using such devices with an Arduino.

I will offer a bit different approach.

what you have is mass effects.
what you cannot measure is weather in the future.
but, what you can calculate is thermal mass.
if you put in 1,000 BTU’s or Calories or whatever your preferred energy value
you can alter the space by that energy.
if you monitor the energy being introduced, the space changes and the outside changes, you should be able to develop the relationship.

the open loop control that you stated, if it drops 5 deg outside, increase temperature of the water by X degrees. is an effort to coordinate the cooling and heating by prediction of masses of energy.

as you noted, there is a time-shift. only after it gets cold, does the heat get introduced.

and I assume the reason you are here is because you found that time shift is extraordinarily predictable. and when you find any process has such a repetitive and predictable condition, you know that you can create a control to reduce the off-set.

I would offer that you make any of the various weather stations that uses the Accuweather reference predictions and then data-log the OAT and water temp and watch them for some time. I would offer that you might be able to use prevailing winds and temperatures in towns that are X kilometers away as a basis of your local temperature in a few hours. and, as you mentioned, the position of the sun (easily obtainable by any of the heliostat programs that use it) as a way of knowing when the heat source of the sun will change so you will get a uniform decrease in heat.

http://www.cerebralmeltdown.com/open-sun-harvesting-project
is one that comes to mind that calculates the sun position.

6v6gt:
You can get these ( Digital Potentiometers ) : Digital Potentiometer - 10K - COM-10613 - SparkFun Electronics

You'd have to define a mapping between resistance and (simulated) temperature. Some digital potentiometers 'remember' their last setting. There are plenty of code examples for using such devices with an Arduino.

Yea, i have a plot for stock OAT-sensor so mapping it shouldn't be too difficult :slight_smile:

dave-in-nj:
I will offer a bit different approach.
the open loop control that you stated, if it drops 5 deg outside, increase temperature of the water by X degrees. is an effort to coordinate the cooling and heating by prediction of masses of energy.
as you noted, there is a time-shift. only after it gets cold, does the heat get introduced.

I understand what you mean. Its maybe possible to get better result by monitoring temperatures closely and based on that create more precise correction between outside temperature and water temp. Since we have tried to do exactly that for many years with existing controller i doubt it's never perfect

dave-in-nj:
I would offer that you make any of the various weather stations that uses the Accuweather reference predictions

That's exactly what i'm going to do first. If i get that working as expected i'll expand it to control the heating system and see how it goes. I'm not too worried if it fails to improve anything, at least i learn something and possibly have a working weather station :slight_smile: