Decided to make a seperate thread, to keep things clear and not mix with other issues/questions. Sorry in advance for the long text.
Introduction:
When I got Evohome (color edition, no wifi), it came as a pre-configured single-zone solution. This means there's only a Evotouch (controller) and BDR91 (boiler relay) and RFG100 (internet gateway). No HR92's or HR80's. No setup needed either, all pre-configured. So I couldn't do anything wrong.
Ever since using Evohome, I've been see'ing (and feeling!) the following behavior, wich is obviously not smart or comfortable:
There's huge overshoots wich slowly build up in periods of about 2 hours and then uncomfortable 2 hour periods of no heating at all while the room cools down again. I've tried a lot of things, including waiting a couple of weeks for Evohome to learn the house, full-reset + re-configure, swapping out parts, adding hr92's, changing location of parts (temperature sensor), talking to very friendly people at Honeywell, even had them over to the house, etc. But it didn't change the behavior. Changing back to a simple room thermostat (old wired no-internet Honeywell Round) or Tado smart thermostat makes everything works much better by the way:
However, I would still like to use zoning, wich is why I'm hoping Evohome will some day work correctly in my house
What I have learnt so far about Evohome and on/off boiler control (the theory):
If the room temperature is within the proportional band (plus or minus 1.5 degrees) of the setpoint, the controller will send a heat demand to the BDR91. The controller does not send ON and OFF requests to the BDR91. It sends a percentage. The BDR91 translates this percentage to ON/OFF cycles. For example: setpoint is 19. Room temperature is 18. BDR91 receives heat demand of 50% from the controller. BDR91 will translate this to going ON for 5 minutes, OFF for 5 minutes. Another example: setpoint is 19. Room temperature is 18.8. BDR91 receives heat demand of 25% and translates this to 2.5 minutes ON, 7.5 minutes OFF.
Interestingly, a heat demand is also sent when room temperature is above the setpoint, to prevent the temperature suddenly falling below the setpoint as the room slowly cools down and to maintain 1 steady temperature. In itself, this is smart behavior. Of course, this demand is pretty low in these cases, but there's still a demand. Example: setpoint is 19. Room temperature is 19.2. BDR91 receives a demand of 10%. Translates to 1 minute ON, 9 minutes OFF. This cycle length of 10 minutes is controlled by the setting that says how often to fire the boiler (default is 6x per hour). Another setting is the minimum-ON-time, wich defaults to 1 minute and tells the BDR91 that if it goes ON, it should go ON for at least 1 minute.
Apparently, due to this setting, even when the demand is for example only 1%, the BDR91 will still go ON for 1 minute every 10 minute cycle. It would make sense if the BDR91 would ignore such low demands and stay off. But it doesn't seem to ignore it, or the controller just doesn't send such low demand percentages. Anyway, in all the hours that I've monitored the BDR91, I've never ever seen it skipping a 10 minute cycle. Even when temperature was already more than a degree above setpoint and had been for over half an hour, it would still go ON for a minute, every 10 minutes. This is a CRUCIAL difference to the behavior I'm seeing on other thermostats. The simple wired Honeywell Round for example, it also uses 10 minute cycles. But it skips cycles when needed, to prevent the temperature from rising too much.
It seems the demand percentage sent to the BDR91 only finally reaches 0% (causing the BDR91 to stay OFF) when the room temperature is above the proportional band (+ 1.5 degrees) of the setpoint. So if setpoint is 19 and room temperature is 20, and there's still a heat demand of 1%, it still translates to 1 minute ON, 9 minutes OFF (because minimum is 1 minute). Only when temperature becomes 20.5, the BDR91 stays off.
Funny side-note: once 0% demand has been reached, it won't send a demand again untill the temperature has almost dropped down to the setpoint again. Example: setpoint is 20. Heating finally stops at 21.5. Heating won't come on again untill temperature gets to 20.1. So, while heating up the room to 20, the controller wants to add more heat even when temperature is already 21. But while cooling down, it doesn't want heat anymore. Strange choice in my opinion, I would expect the behavior in the proportional band to be equal.
So now a bit of logic:
1: If the BDR91 indeed keeps receiving a demand greater than 0% untill 1.5 above setpoint, it will go ON for at least 1 minute every 10 minutes, as dictated by the minimum-ON-time and cycles-per-hour settings.
2: If the BDR91 sends a ON-signal to the boiler every 10 minutes for 1 minute, the boiler will turn ON for 1 minute every 10 minutes.
3: If 1 minute of boiler-ON-time per 10 minutes generates enough heat in the radiators to increase room temperature, the room temperature will keep increasing up untill 1.5 above setpoint.
This is, in my opinion, the reason for these huge overshoot build ups I was seeing. If anyone disagrees with the logic or theory, please let me know specifically wich part is incorrect.
So why isn't everyone else seeing these overshoots?
A: I think it has specifically to do with line 3 in the logic. Every house is different, every boiler is different, etc. My heating is often set to a relatively low temperature, for example only 17 degrees. I'm often only heating 2 radiators in the living room, other radiators in the house are closed. The livingroom is pretty well insulated. The boiler is set to a water temperature of 60 degrees (no opentherm wich would cause lower water temperatures) and has a fixed-power pump. The result is that, in my house, 1 minute of heat per 10 minutes is enough to increase the room temperature. This probably won't be the case for many other Evohome users and these users won't have this problem. For example: if you're heating multiple rooms to a temperature of 22 degrees, then it's pretty unlikely that 1 minute of heat per 10 minutes will send enough heating energy to increase the temperature in these rooms.
B: Another factor is the use of HR92's. When I use them, they close down my radiators before being able to create such a large overshoot. The HR92's made Evohome overshoot 'only' 0.8 degrees instead of 1.5 degrees. So if you're using HR92's/HR80's, you're less likely to notice this behavior, if even happening at all in your situation (depending on A).
C: Another factor is that the temperature Evohome displays is rounded to 0.5 values and is also rounded towards the setpoint. This also makes it harder to notice anything funny happening, because the displayed temperatures will seem fine. Again: if it even happens at all in your situation (depending on A).
The fix:
So what would be needed to fix this behavior? I guess Honeywell could say the heating system has too much power and that I need to get a different boiler, or smaller radiators, or that I should start using higher setpoints. But would that really make sense? In modern houses, with good insulation... if you're going to heat only 1 room... and outside temperature isn't very low yet... and maybe suddenly a bit of sunshine into the room... then I would expect many boilers and radiators to be able to heat up a room with just 1 minute of heat per 10 minutes. So it isn't such a rare situation and a thermostat should be able to cope with it. And obviously, other thermostats do cope with it just fine.
So in my opinion it would make more sense to just fully stop demanding heat (0%!) from the BDR91 when the room is getting well above setpoint. This would make the BDR91 stay OFF for a cycle or 2 or 3 or more. In certain situations causing the boiler to, for example, go ON for 1 minute only once per 30 minutes instead of every 10 minutes. Of course, only when that's enough to maintain the setpoint temperature. Once more heat is really needed, then it's totally fine to go ON every 10 minutes, because this actually causes a very precise and comfortable control. However, if no more heat is needed, and it's about to build up an overshoot, let the boiler stay off a while.
Introduction:
When I got Evohome (color edition, no wifi), it came as a pre-configured single-zone solution. This means there's only a Evotouch (controller) and BDR91 (boiler relay) and RFG100 (internet gateway). No HR92's or HR80's. No setup needed either, all pre-configured. So I couldn't do anything wrong.
Ever since using Evohome, I've been see'ing (and feeling!) the following behavior, wich is obviously not smart or comfortable:
There's huge overshoots wich slowly build up in periods of about 2 hours and then uncomfortable 2 hour periods of no heating at all while the room cools down again. I've tried a lot of things, including waiting a couple of weeks for Evohome to learn the house, full-reset + re-configure, swapping out parts, adding hr92's, changing location of parts (temperature sensor), talking to very friendly people at Honeywell, even had them over to the house, etc. But it didn't change the behavior. Changing back to a simple room thermostat (old wired no-internet Honeywell Round) or Tado smart thermostat makes everything works much better by the way:
However, I would still like to use zoning, wich is why I'm hoping Evohome will some day work correctly in my house
What I have learnt so far about Evohome and on/off boiler control (the theory):
If the room temperature is within the proportional band (plus or minus 1.5 degrees) of the setpoint, the controller will send a heat demand to the BDR91. The controller does not send ON and OFF requests to the BDR91. It sends a percentage. The BDR91 translates this percentage to ON/OFF cycles. For example: setpoint is 19. Room temperature is 18. BDR91 receives heat demand of 50% from the controller. BDR91 will translate this to going ON for 5 minutes, OFF for 5 minutes. Another example: setpoint is 19. Room temperature is 18.8. BDR91 receives heat demand of 25% and translates this to 2.5 minutes ON, 7.5 minutes OFF.
Interestingly, a heat demand is also sent when room temperature is above the setpoint, to prevent the temperature suddenly falling below the setpoint as the room slowly cools down and to maintain 1 steady temperature. In itself, this is smart behavior. Of course, this demand is pretty low in these cases, but there's still a demand. Example: setpoint is 19. Room temperature is 19.2. BDR91 receives a demand of 10%. Translates to 1 minute ON, 9 minutes OFF. This cycle length of 10 minutes is controlled by the setting that says how often to fire the boiler (default is 6x per hour). Another setting is the minimum-ON-time, wich defaults to 1 minute and tells the BDR91 that if it goes ON, it should go ON for at least 1 minute.
Apparently, due to this setting, even when the demand is for example only 1%, the BDR91 will still go ON for 1 minute every 10 minute cycle. It would make sense if the BDR91 would ignore such low demands and stay off. But it doesn't seem to ignore it, or the controller just doesn't send such low demand percentages. Anyway, in all the hours that I've monitored the BDR91, I've never ever seen it skipping a 10 minute cycle. Even when temperature was already more than a degree above setpoint and had been for over half an hour, it would still go ON for a minute, every 10 minutes. This is a CRUCIAL difference to the behavior I'm seeing on other thermostats. The simple wired Honeywell Round for example, it also uses 10 minute cycles. But it skips cycles when needed, to prevent the temperature from rising too much.
It seems the demand percentage sent to the BDR91 only finally reaches 0% (causing the BDR91 to stay OFF) when the room temperature is above the proportional band (+ 1.5 degrees) of the setpoint. So if setpoint is 19 and room temperature is 20, and there's still a heat demand of 1%, it still translates to 1 minute ON, 9 minutes OFF (because minimum is 1 minute). Only when temperature becomes 20.5, the BDR91 stays off.
Funny side-note: once 0% demand has been reached, it won't send a demand again untill the temperature has almost dropped down to the setpoint again. Example: setpoint is 20. Heating finally stops at 21.5. Heating won't come on again untill temperature gets to 20.1. So, while heating up the room to 20, the controller wants to add more heat even when temperature is already 21. But while cooling down, it doesn't want heat anymore. Strange choice in my opinion, I would expect the behavior in the proportional band to be equal.
So now a bit of logic:
1: If the BDR91 indeed keeps receiving a demand greater than 0% untill 1.5 above setpoint, it will go ON for at least 1 minute every 10 minutes, as dictated by the minimum-ON-time and cycles-per-hour settings.
2: If the BDR91 sends a ON-signal to the boiler every 10 minutes for 1 minute, the boiler will turn ON for 1 minute every 10 minutes.
3: If 1 minute of boiler-ON-time per 10 minutes generates enough heat in the radiators to increase room temperature, the room temperature will keep increasing up untill 1.5 above setpoint.
This is, in my opinion, the reason for these huge overshoot build ups I was seeing. If anyone disagrees with the logic or theory, please let me know specifically wich part is incorrect.
So why isn't everyone else seeing these overshoots?
A: I think it has specifically to do with line 3 in the logic. Every house is different, every boiler is different, etc. My heating is often set to a relatively low temperature, for example only 17 degrees. I'm often only heating 2 radiators in the living room, other radiators in the house are closed. The livingroom is pretty well insulated. The boiler is set to a water temperature of 60 degrees (no opentherm wich would cause lower water temperatures) and has a fixed-power pump. The result is that, in my house, 1 minute of heat per 10 minutes is enough to increase the room temperature. This probably won't be the case for many other Evohome users and these users won't have this problem. For example: if you're heating multiple rooms to a temperature of 22 degrees, then it's pretty unlikely that 1 minute of heat per 10 minutes will send enough heating energy to increase the temperature in these rooms.
B: Another factor is the use of HR92's. When I use them, they close down my radiators before being able to create such a large overshoot. The HR92's made Evohome overshoot 'only' 0.8 degrees instead of 1.5 degrees. So if you're using HR92's/HR80's, you're less likely to notice this behavior, if even happening at all in your situation (depending on A).
C: Another factor is that the temperature Evohome displays is rounded to 0.5 values and is also rounded towards the setpoint. This also makes it harder to notice anything funny happening, because the displayed temperatures will seem fine. Again: if it even happens at all in your situation (depending on A).
The fix:
So what would be needed to fix this behavior? I guess Honeywell could say the heating system has too much power and that I need to get a different boiler, or smaller radiators, or that I should start using higher setpoints. But would that really make sense? In modern houses, with good insulation... if you're going to heat only 1 room... and outside temperature isn't very low yet... and maybe suddenly a bit of sunshine into the room... then I would expect many boilers and radiators to be able to heat up a room with just 1 minute of heat per 10 minutes. So it isn't such a rare situation and a thermostat should be able to cope with it. And obviously, other thermostats do cope with it just fine.
So in my opinion it would make more sense to just fully stop demanding heat (0%!) from the BDR91 when the room is getting well above setpoint. This would make the BDR91 stay OFF for a cycle or 2 or 3 or more. In certain situations causing the boiler to, for example, go ON for 1 minute only once per 30 minutes instead of every 10 minutes. Of course, only when that's enough to maintain the setpoint temperature. Once more heat is really needed, then it's totally fine to go ON every 10 minutes, because this actually causes a very precise and comfortable control. However, if no more heat is needed, and it's about to build up an overshoot, let the boiler stay off a while.
Comment