Announcement

Collapse
No announcement yet.

Looking for advice on more intelligent central heating control

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Looking for advice on more intelligent central heating control

    Hi,

    I have what is turning into a relatively complex central heating control system. When I set off into this world of home automation, I was advised to not try to integrate and automate central heating controls myself as that was deemed too complicated. Of course I ignored the advice and set off trying to make it work. Fast forward 5 years and I am still at it. Admittedly, I have been very lax in getting it to work and I relied on some Nest controllers to bodge something together for several years. Long story short, what I am trying to achieve is intelligent individual room by room heating control, with individual thermostats, temperature set points, sensors etc and what will hopefully end up being a more efficient heating system.
    I have a mix of underfloor heating (for tiled floors) and radiator heating (for carpeted floors). Focusing on the radiator heated rooms, each room has a Aeotec multi-sensor, Aeotec/Eurotronic Spirit z-wave radiator thermostat, virtual thermostat in Homeseer HS4 (using SDJ-VStat plugin). HSTouch app or myhs.homeseer.com login controls the virtual thermostat settings.
    I am UK based and my central heating system is a condensing gas boiler, pressurised hot water cylinder and it has 5 zone valves for heating. The gas boiler heats water in a pressurised heating system and each zone valve controls an aspect of the overall heating system -
    1. Hot water cylinder heating loop
    2. Towel radiator heating loop
    3. Downstairs radiators
    4. Upstairs radiators
    5. Underfloor heating

    Ignoring 1, 2 and 5 for now, this leaves 2 zone valves for downstairs radiators and upstairs radiators. Working on the assumption that upstairs and downstairs radiators work in the same way, let's ignore 4 for now as well and focus on 3 - the downstairs radiator heating loop.
    The main controller for the downstairs heating loop is a Nest thermostat (Gen2 or 3 I think), I also have a Fibaro z-wave relay switch that can control the zone valve as well, which is what allows me to enable room by room control.

    The lazy mode is for the Nest thermostat to control all the radiators on the downstairs heating loop (4 rooms in total), but obviously this is not good if certain rooms are not in use, or if you want the rooms at different temperatures.

    Each room has a single radiator z-wave TRV, z-wave temperature sensor and virtual thermostat. The basic operation then is for any room to be able to call for heat and open up their radiator TRV. As the downstairs heating loop runs into each downstairs room, those rooms that don't require heat need to shut off their radiator TRVs, thus preventing overheating, if other rooms are calling for heat.

    In essence -

    When the room sensor measured temperature goes below the virtual thermostat setpoint for a room, the room heating indicator (a HS4 virtual device) is turned on and the radiator TRV is opened.
    When the room sensor measured temperature goes above the virtual thermostat setpoint for a room, the room heating indicator is turned off and the radiator TRV is closed.

    If any room heating indicator is on, then the downstairs radiator zone valve z-wave relay switch is turned on
    If all room heating indicators are off, then the downstairs radiator zone valve z-wave relay switch is turned off

    Any zone valve being opened up automatically controls the call for heat signal wire to the boiler.

    This effectively reduces the functionality of the radiator TRV down to a simple on/off switch.

    The main issue I have is with the radiator TRVs. I tried the Popp radiator thermostats, but these just didn't respond to commands unless the valve was awake and the valve was only awake when a button was manually pressed, or very briefly every ~30 minutes. Control commands were also not queued for when the valve woke up, which meant they were largely useless to me.

    The Eurotronic/Aeotec valves are better, but they use more power and occasionally miss commands (about 1 in 5 didn't go through correctly). I have worked around this by having a HS4 event poll the status of the radiator valve every 5 minutes, to see if it is correct in relation to the room heating indicator. If not then the valve status is set to be correct. Whilst this is horribly inefficient and clunky, it is the only solution that so far has worked.

    What I now want to do is build motion sensing into the heating controls for each room, but I would like some advice on where to start. A basic implementation would be to reduce the room virtual thermostat setpoint down by say 5 degrees, if the motion sensor is inactive for a period of time. My concerns with this are that it takes time to heat the room back up again and this could lead to someone sitting in a cold room for some time. I have motion sensors in every room of the house, so I could collate multiple sensors together to try and better track activity in the house? Is there anything else I can use to create a more intelligent control system i.e. time of day? Room power consumption or whether the lights are on or off (at night) might be a good indicator of activity as well?

    Any ideas are welcome or if anyone has a similar working system then I would appreciate a description of your own solutions.

    I will write up a how-to guide, when it is largely working, for anyone that is interested.

    If you have got this far, then I thank you for your time and hopefully your thoughts.😀

    #2
    This might be something to look into....
    https://medium.com/@epraveenns/real-...n-b2f541accc8e
    Wade

    "I know nothing... nothing!"

    Comment


      #3
      Originally posted by SeriousPigeon View Post
      Hi,

      I have what is turning into a relatively complex central heating control system. When I set off into this world of home automation, I was advised to not try to integrate and automate central heating controls myself as that was deemed too complicated. Of course I ignored the advice and set off trying to make it work. Fast forward 5 years and I am still at it. Admittedly, I have been very lax in getting it to work and I relied on some Nest controllers to bodge something together for several years. Long story short, what I am trying to achieve is intelligent individual room by room heating control, with individual thermostats, temperature set points, sensors etc and what will hopefully end up being a more efficient heating system.
      I have a mix of underfloor heating (for tiled floors) and radiator heating (for carpeted floors). Focusing on the radiator heated rooms, each room has a Aeotec multi-sensor, Aeotec/Eurotronic Spirit z-wave radiator thermostat, virtual thermostat in Homeseer HS4 (using SDJ-VStat plugin). HSTouch app or myhs.homeseer.com login controls the virtual thermostat settings.
      I am UK based and my central heating system is a condensing gas boiler, pressurised hot water cylinder and it has 5 zone valves for heating. The gas boiler heats water in a pressurised heating system and each zone valve controls an aspect of the overall heating system -
      1. Hot water cylinder heating loop
      2. Towel radiator heating loop
      3. Downstairs radiators
      4. Upstairs radiators
      5. Underfloor heating

      Ignoring 1, 2 and 5 for now, this leaves 2 zone valves for downstairs radiators and upstairs radiators. Working on the assumption that upstairs and downstairs radiators work in the same way, let's ignore 4 for now as well and focus on 3 - the downstairs radiator heating loop.
      The main controller for the downstairs heating loop is a Nest thermostat (Gen2 or 3 I think), I also have a Fibaro z-wave relay switch that can control the zone valve as well, which is what allows me to enable room by room control.

      The lazy mode is for the Nest thermostat to control all the radiators on the downstairs heating loop (4 rooms in total), but obviously this is not good if certain rooms are not in use, or if you want the rooms at different temperatures.

      Each room has a single radiator z-wave TRV, z-wave temperature sensor and virtual thermostat. The basic operation then is for any room to be able to call for heat and open up their radiator TRV. As the downstairs heating loop runs into each downstairs room, those rooms that don't require heat need to shut off their radiator TRVs, thus preventing overheating, if other rooms are calling for heat.

      In essence -

      When the room sensor measured temperature goes below the virtual thermostat setpoint for a room, the room heating indicator (a HS4 virtual device) is turned on and the radiator TRV is opened.
      When the room sensor measured temperature goes above the virtual thermostat setpoint for a room, the room heating indicator is turned off and the radiator TRV is closed.

      If any room heating indicator is on, then the downstairs radiator zone valve z-wave relay switch is turned on
      If all room heating indicators are off, then the downstairs radiator zone valve z-wave relay switch is turned off

      Any zone valve being opened up automatically controls the call for heat signal wire to the boiler.

      This effectively reduces the functionality of the radiator TRV down to a simple on/off switch.

      The main issue I have is with the radiator TRVs. I tried the Popp radiator thermostats, but these just didn't respond to commands unless the valve was awake and the valve was only awake when a button was manually pressed, or very briefly every ~30 minutes. Control commands were also not queued for when the valve woke up, which meant they were largely useless to me.

      The Eurotronic/Aeotec valves are better, but they use more power and occasionally miss commands (about 1 in 5 didn't go through correctly). I have worked around this by having a HS4 event poll the status of the radiator valve every 5 minutes, to see if it is correct in relation to the room heating indicator. If not then the valve status is set to be correct. Whilst this is horribly inefficient and clunky, it is the only solution that so far has worked.

      What I now want to do is build motion sensing into the heating controls for each room, but I would like some advice on where to start. A basic implementation would be to reduce the room virtual thermostat setpoint down by say 5 degrees, if the motion sensor is inactive for a period of time. My concerns with this are that it takes time to heat the room back up again and this could lead to someone sitting in a cold room for some time. I have motion sensors in every room of the house, so I could collate multiple sensors together to try and better track activity in the house? Is there anything else I can use to create a more intelligent control system i.e. time of day? Room power consumption or whether the lights are on or off (at night) might be a good indicator of activity as well?

      Any ideas are welcome or if anyone has a similar working system then I would appreciate a description of your own solutions.

      I will write up a how-to guide, when it is largely working, for anyone that is interested.

      If you have got this far, then I thank you for your time and hopefully your thoughts.😀
      Hi,

      That sounds like an interesting and ambitious setupJ

      I do something similar, albeit on a smaller scale. It used to be more complex spread over two houses with lots of zones but since I retired a year or so ago, we have downsized considerably. The new house doesn’t warrant anything quite so complex.

      The central heating in our current home only had one zone but I have supplemented that with VStat controlled radiator valves in several rooms.

      I also use SDJ-VStat (not surprisingly) with a main VStat controlling the general heating supplemented with VStats in individual rooms directly controlling Spirit radiator valves. The VStats in individual rooms, as well as allowing different temperature set points, respond to windows being opened in their particular rooms shutting off the local radiators.

      I use HSTouch screens on old iPhones mounted on the walls in individual rooms to show temperatures and control the VStats, when necessary. Mainly these are just used for temporarily overriding the current target temperature or boosting the heating. Effectively like conventional wall thermostats, although with more information and control possibilities.

      The Spirit radiator valves are controlled directly from the VStats, mainly just opening and closing them, although not necessarily to 100%. I have tried some different Z-Wave valves over the years and, whilst the Spirit valves are far from perfect, I find they work pretty well. Most others I have tried were nigh on useless! Whilst I get the odd Z-Wave warning I haven’t ever noticed any failures to respond to commands. However, they do all have direct communication with the controller. They don't have brilliant battery life but they are monitored by SDJ-Health so I know when they need replacing

      I haven’t bothered with occupancy control on a room by room basis, although it is implemented on a whole house level using geofencing. The individual VStats’ mode changes are slaved to the main master VStat and this is set to Away mode when we both leave the local area and back to Auto when we return. If we go beyond a much larger geofence then the heating is turned on when we re-enter that larger fence, so that it has at least half an hour to start warming the house.

      I’ll be interested to follow how your occupancy detection/ heating control develops.

      One small comment on the description of your system. You say you use virtual devices as room heating indicators which are turned on and off by the VStats. Why don’t you just use the zone control child on the VStats as your heating indicator? I’m possibly missing the subtlety in what you are doing here.

      Steve

      Comment


        #4
        Originally posted by SteveMSJ View Post

        Hi,

        That sounds like an interesting and ambitious setupJ

        I do something similar, albeit on a smaller scale. It used to be more complex spread over two houses with lots of zones but since I retired a year or so ago, we have downsized considerably. The new house doesn’t warrant anything quite so complex.

        The central heating in our current home only had one zone but I have supplemented that with VStat controlled radiator valves in several rooms.

        I also use SDJ-VStat (not surprisingly) with a main VStat controlling the general heating supplemented with VStats in individual rooms directly controlling Spirit radiator valves. The VStats in individual rooms, as well as allowing different temperature set points, respond to windows being opened in their particular rooms shutting off the local radiators.

        I use HSTouch screens on old iPhones mounted on the walls in individual rooms to show temperatures and control the VStats, when necessary. Mainly these are just used for temporarily overriding the current target temperature or boosting the heating. Effectively like conventional wall thermostats, although with more information and control possibilities.

        The Spirit radiator valves are controlled directly from the VStats, mainly just opening and closing them, although not necessarily to 100%. I have tried some different Z-Wave valves over the years and, whilst the Spirit valves are far from perfect, I find they work pretty well. Most others I have tried were nigh on useless! Whilst I get the odd Z-Wave warning I haven’t ever noticed any failures to respond to commands. However, they do all have direct communication with the controller. They don't have brilliant battery life but they are monitored by SDJ-Health so I know when they need replacing

        I haven’t bothered with occupancy control on a room by room basis, although it is implemented on a whole house level using geofencing. The individual VStats’ mode changes are slaved to the main master VStat and this is set to Away mode when we both leave the local area and back to Auto when we return. If we go beyond a much larger geofence then the heating is turned on when we re-enter that larger fence, so that it has at least half an hour to start warming the house.

        I’ll be interested to follow how your occupancy detection/ heating control develops.

        One small comment on the description of your system. You say you use virtual devices as room heating indicators which are turned on and off by the VStats. Why don’t you just use the zone control child on the VStats as your heating indicator? I’m possibly missing the subtlety in what you are doing here.

        Steve
        Hi Steve,

        I assigned the SDJ-vstat "control device" to an on/off virtual device (which is the per room call for heating signal). I then "or if - on" them all together to switch the downstairs radiator zone on and "and if - off" them all together to turn the zone off. I did kind of wonder what the "zone control" bit was for 😆
        I am having issues with the battery level not reporting correctly on the spirit radiator TRVs. Currently they are either reporting fixed values of 100%, 40% or 0%, which is less than useful. I keep thinking I will have to put some code in to monitor the temperature sensor readings and track them against some expected outcome, to determine whether something has gone wrong with the TRV. So if the heating is on and the temperature in the room doesn't increase within a given timeframe, then flag an alarm somewhere.

        Comment


          #5
          If efficiency is one of the goals you may want to consider "throttling" the boiler. I have four zones of baseboard hot water heating and two zones of forced air cooling. Hard-wired Z-wave capable thermostats control centrally located zone valves and the AC with a relay board that prevents the A\C from operating if any zone is calling for heat. This all works fine for comfort and convenience but it resulted in little to no noticeable difference in my utility costs.

          What did make a big difference for me was installing an outdoor reset device that regulates the water temperature in the boiler based on the temperature outside. If it is very cold outside the boiler functions as normal and maintains the water temperature at the normal set point (around 180 degrees F). As the temperature outside rises the boiler maintains a lower water temperature (down to about 150 degrees F) resulting in significant savings and a more comfortable and consistent heat.

          There are many of these types of systems available, Mine is very simple, with an outdoor temperature sensor, a temperature sensor strapped to the boiler output, and a manual control unit to regulate the boiler. Just set it and forget it.

          Here is a good video: https://www.youtube.com/watch?v=NIsvYXdeM2g

          Comment


            #6
            Originally posted by SeriousPigeon View Post

            Hi Steve,

            I am having issues with the battery level not reporting correctly on the spirit radiator TRVs. Currently they are either reporting fixed values of 100%, 40% or 0%, which is less than useful. I keep thinking I will have to put some code in to monitor the temperature sensor readings and track them against some expected outcome, to determine whether something has gone wrong with the TRV. So if the heating is on and the temperature in the room doesn't increase within a given timeframe, then flag an alarm somewhere.
            Interesting because my Spirit Radiator valves have been about the best Z-Wave devices I have in terms of battery reporting. They start at 100% and work their way down to 0% in 5% steps. Looking back through my battery history in SDJ-Health I get about 12 months on average out of a set of batteries. In retrospect, is pretty good for a valve.
            What software versions are your valves?

            Most of mine are:
            • Application Version 0.16
            • Firmware 0 Version 0.2
            but my original valve is:
            • Application Version 0.15
            • Firmware 0 Version 0.9
            The older one with version 0.15 has an issue that it stops sending temp and valve position readings after you change the batteries. Resetting the parameters doesn't cure it, you have to factory reset and re-include into the network, which I do using the swap node method so it doesn't affect events. I used to monitor and graph these values when I was testing out the way the valve worked letting it control the valve position itself. It was therefore extremely annoying having to re-include it. However, after much experimenting I settled on using direct control of the valve, so don't actually need to know it's internal temperature. I therefore don't bother re-including the faulty one after a battery change any more.

            Steve

            Comment


              #7
              Originally posted by Alex_W View Post
              If efficiency is one of the goals you may want to consider "throttling" the boiler. I have four zones of baseboard hot water heating and two zones of forced air cooling. Hard-wired Z-wave capable thermostats control centrally located zone valves and the AC with a relay board that prevents the A\C from operating if any zone is calling for heat. This all works fine for comfort and convenience but it resulted in little to no noticeable difference in my utility costs.

              What did make a big difference for me was installing an outdoor reset device that regulates the water temperature in the boiler based on the temperature outside. If it is very cold outside the boiler functions as normal and maintains the water temperature at the normal set point (around 180 degrees F). As the temperature outside rises the boiler maintains a lower water temperature (down to about 150 degrees F) resulting in significant savings and a more comfortable and consistent heat.

              There are many of these types of systems available, Mine is very simple, with an outdoor temperature sensor, a temperature sensor strapped to the boiler output, and a manual control unit to regulate the boiler. Just set it and forget it.

              Here is a good video: https://www.youtube.com/watch?v=NIsvYXdeM2g
              Hi Alex,

              Interesting.

              I have also looked into regulating the water temperature from my boiler based on outdoor temperature. Currently I do it manually, in that I generally have it set in Eco mode, which is 60 degree C flow which keeps the return below 55 C. This keeps the boiler in condensing mode so it is at it's highest efficiency. However, if we have really cold weather it is a bit low for keeping the house at wife satisfaction level. So I manually turn it up 5 of 10 degrees for a few days.

              The boiler has a knob and a temperature gauge for adjusting the CH water temperature manually. The manufacturer (Worcester/Bosch) does sell an expensive module which fits the boiler and does, amongst other things, regulate the water temperature based on factors including outside temperature. However it is a closed system with full programmable thermostat and I don't want that.

              Each year I plan on taking the boiler apart and seeing if I could automate the water temp control but I can't do it in the heating season for fear of temporarily breaking. In the summer I forget about it
              In my case it is a gas boiler which modulates the flame rather than just switching the burner on and off. So, I can't just switch it Off and On based on the flow pipe temperature as that would be extremely inefficient.

              Steve

              Comment


                #8
                Originally posted by SteveMSJ View Post

                Interesting because my Spirit Radiator valves have been about the best Z-Wave devices I have in terms of battery reporting. They start at 100% and work their way down to 0% in 5% steps. Looking back through my battery history in SDJ-Health I get about 12 months on average out of a set of batteries. In retrospect, is pretty good for a valve.
                What software versions are your valves?

                Most of mine are:
                • Application Version 0.16
                • Firmware 0 Version 0.2
                but my original valve is:
                • Application Version 0.15
                • Firmware 0 Version 0.9
                The older one with version 0.15 has an issue that it stops sending temp and valve position readings after you change the batteries. Resetting the parameters doesn't cure it, you have to factory reset and re-include into the network, which I do using the swap node method so it doesn't affect events. I used to monitor and graph these values when I was testing out the way the valve worked letting it control the valve position itself. It was therefore extremely annoying having to re-include it. However, after much experimenting I settled on using direct control of the valve, so don't actually need to know it's internal temperature. I therefore don't bother re-including the faulty one after a battery change any more.

                Steve
                Hi Steve,
                Do you know where I can download the firmware/how to update the spirit zwave radiator thermostats?
                Thanks,

                Comment


                  #9
                  Originally posted by SeriousPigeon View Post

                  Hi Steve,
                  Do you know where I can download the firmware/how to update the spirit zwave radiator thermostats?
                  Thanks,
                  Sorry I don't.

                  I have searched the internet a few times over the years for spirit firmware updates with no success as I wanted to upgrade my older one from 0.15 to 0.16.

                  What version are yours?

                  Steve

                  Comment


                    #10
                    I have a rather complicated system with gas fired hot water radiant heat with a separate ducted air conditioning system upstairs. Downstairs most of the remodelled space is on a heat pump for HVAC. A separate apartment in the house has electrical heaters but no A/C. All of the zones are on Nest thermostats but the cental zone controllers are made by Ecojay. I have two of their 4 zone Smartzone controllers. My design decisions for all of the house systems follows the principle that they should function reliably on their own without the internet, without a running Windows PC, and without human intervention but should be controllable by those means when the human inhabitants of the space wish. The HVAC system follows that principle and has been completely reliable. You can take a look at the installation and elements of the system at my gallery on Cocoontech.

                    I have had to go through some contortions to keep the Nest thermostats controllable from Homeseer--Racine,s MyNextManager on Hubitat with the mcsHubitat plugin. Really looking forward to the upgraded Nest plugin that Spud is working on.

                    George

                    Comment


                      #11
                      I see Shelly have released WiFi radiator thermostats. If I were starting again I would consider building a Shelly heating system and controlling with mqtt using Michael McSharry's wonderful free plugin.

                      Comment


                        #12
                        Hi SeriousPigeon
                        I am in the process of doing something very similar, Having moved form a 2 bedroom, Combi with 1 zone, to 4 bedroom with 2 zones boiler and hot water.
                        Using the same hardware it would seem.

                        The 2 zones, were set up from new build and useless, when my office is on the same zone as the bedrooms, so was heating most of the house all day :-(
                        Now getting closer to room by room control.
                        The goal, is to have a VSTAT for each room. Bedrooms with en-suite's will have a mater-slave configuration.
                        I am using EasyTrigger to configure a schedule for the rooms, to switch between Auto(on/heat) and Auto(off/energy)
                        Using BLLAN, my phone is pinged to check if it is on the network, which switches a virtual device from 'Home' to 'Away'
                        If Away, All the VSTATS (using EasyTrigger) are set to Permanent EnergySaving.
                        When Home, the VSTATS are set back to AUTO.
                        I'd be curious to see what others use for geofencing?

                        This is working very well at the moment, and i keep adding more rooms. Debating on the window sensors, as i have a a few :-(


                        I do however had an extra requirement on mine, four of my rooms have AC units. One has the required module to allow HS4 to control it :-)
                        Using the IntesisWMP plugin

                        The difficulty i found is automating the AC device, which can heat and cool. For the room in question (My office) I believe i need to configure TWO VSTAT'S, one for heat and one for cool.
                        I then have to check which VSTAT is ON (Cool or Heat) being mindful to not have both. Which ever VSTAT has an Active ZONE Control will then set the AC to the desired mode, Heat VSTAT will also call for Heat on the Heating zone. I could be more configurable here, by configuring preferences on AC over Boiler or vice versa.

                        The other issue was setting the AC Temp Target. Using different values, the EasyTrigger set device to device didn't work, neither did the compare.
                        AC only goes from 18'C to 30'C so 26 event, 13 Heat and 13 Cool, to set the AC target based on the VSTAT target of the active Heat or Cool VSTAT.

                        Comment

                        Working...
                        X