Heating panel from scratch

I've been reading the forum but can't find anyone that has built a complete heating panel from scratch in NR.

I'm going to move all my home heating from my Fibaro HC2 to Node RED and TBH I already have a plan on how to do it that will work fine.

I recently built a panel to control my instant hot water which in a sense is a simple heating panel, and it works fine.

I'm just interested to see if anyone else has done it before to see if I can pick up any nice ideas.

I get this is a very broad question and I'll keep reading through the forum. It would be great in the meantime to hear back from anyone that's done it already.

Maybe of interest, we have an ongoing discussion regarding control of a gas heating system here:

It rather depends on what you mean by that I think.

@Colin, here's the background.... I created this Node-RED panel using the dashboard nodes as an interface to the heating panel running from my Fibaro HC2. Within it I have added extra functionality that Fibaro does not offer out of the box e.g. schedule profiles (the section at the bottom), ability to control all zones at once for manual overrides etc

The panel works well, although I want to move it to uibuilder/VueJS as that's what I'm building on from now on. It's more flexible than the dashboard nodes and much more fun to develop with, however that does not mean I do not love the dashboard nodes, without them I would not be here writing this message. I am sure I would have given up with Node-RED if they were not there as diving straight into uibuilder was too much for me at first.

I have since then created a hot water flow with a VueJS interface using uibuilder:

You can read about it here, and see my code on github.

Now that I have the instant hot water flow working ie we have hot showers in the morning and instant hot water in the kitchen (at a MUCH more energy efficient setting than my plumber setup I might add),
I want to move onto moving away from using Fibaro's HC2 heating panel to entirely using Node-RED to run my heating. In fact, the engine for the hot water flow, which is about 200 lines of code, so quite small, is really a basic heating panel, so I know I can build the real mccoy (the real thing) now.

I'm thinking of the something like the following feature set for the heating panel:

Schedules/Manual Overrides/Holiday Mode

  • multiple pre-configured schedules covering all zones in the house
  • ability to manually override individual zones or all zones (plus maybe groups of zones)
  • a holiday/vacation mode which can be set at the individual zone or across all zones

Zone Schedules & Heating Profiles

  • preset ~6 different temp levels per room e.g. from OFF to BOOST
  • a nice interface to mix and match temp levels in a room to a heating profile
  • multiple pre-configured profiles for the entire house - a profile being a configuration of temp levels for every zone in the house


  • one or two (as required) nice interfaces to control all of the above + a modified version of the panel that I have pasted an image of above i.e. the main user interface

More Heating Control Functionality

  • a summer / winter override i.e. summer = all off, winter = heating on to user selected heating profile
  • an automated profile selection function to take outside temp forecasts and determine the best profile to use e.g. if it gets hot > 16C on a given day, turn all the heating off, if there is a cold snap =, boost the heating
  • room independent heating overrides based on the sun being out e.g. temp >10C + sun is shining today = turn heating off.... the reason for this last one is that I notice my kitchen (for example) gets too hot on cold days when it is sunny all day - admittedly that does not happen often in London :slight_smile:

The above is a bit of a brain dump, I probably missed stuff off the list, but if you see it in the panel I pasted above, then it will be in the new solution.

Before I started I just wanted to see if anyone had done it before, otherwise as with every one of my projects I'll just get on with it and build something.

My aim for now is to build something that works off a large touchscreen panel, so you can see the whole house at once on one screen.

I'm not so sure if I need a mobile interface as if the above works, you shouldn't really have to change the temp in a room often... and I might just use Alexa/Google Home for short term (lazy) overrides, but if I do need a mobile interface I'll create something basic for manual overrides later, it shouldn't be too hard.


Very impressive!!!

1 Like

Some thoughts from a personal point of view:

  • from ui point of view, I think having a full-fledged "engineering" ui is great when you use it yourself. But for all the other "normal" users, I would automate most of everything, keep what they can change & control at a minimum. I mean if you monitor room temperatures and regulate according to set points, manual overrides should hardly be needed or did I miss something?
  • depending on your tank size and it's capability & isolation, it might be worth to consider WHEN you heat the water. I have no idea how it is in your location but where I live, it is much, much more expensive heating up with electricity during weekdays 7am-7pm. Therefore, if I would have a similar solution, I would try to have a large well isolated tank and have at least one schedule heating up to maximum during the night so that it is finished just before 7am

No, you didn't miss anything. The idea will be to tweak the heating levels until they work and then leave them i.e. set and forget.
Then the only overrides will be things like when guest are staying or when going away from the home for extended periods, but during the tuning process I do not want to go into config files to muck about. I want it all exposed in an interactive interface.

Not a problem where I live. We heat with gas and it doesn't matter when you do it, the cost is always the same, however you did pickup on an interesting point. In my hotwater panel I do not have a separate schedule for the boiler/cylinder. I plan to add one soon, just to heat the water up first thing in the morning.

As for engineering-like interfaces, no one in my house is playing around with the hotwater except for me and TBH the interface isn't that tricky. The only thing my dad (for instance) would ever press is the override button for the zone he wants, so even though there is a lot going on in the screen it's pretty light touch to use once you get past the detail and it satisfies my requirement, which is one interface to control everything.

:+1: Wonderful, then everything will be great! What I meant and assume is just a thought, once you have tuned everything into the comfort levels you want, no one, not even you, should feel the need to touch anything if the system is perfectly tuned. But you are right, sometimes some people feel the need, so temporary raising the temperature could very well be a demand. In our house we have also a water heating system but it is with a heatpump. It's perfectly tuned and keeps the temperature very stable. But sometimes it is nice to increase the comfort so then we make a fire in our tiled stove

And if you would ever feel the need, if people are touching too much, you can always create a reduced ui

Best regards, Walter

That looks beautiful... wow!!

Yes,you are right on all fronts. Hence my thinking out loud about either using Alexa/Google to do overrides vs a mobile app. Despite all the effort to get heating right sometimes we just feel cold / not well and want it up for a few hours or vice-versa.

So the question, why build an whole house interface, mainly so I can keep an eye on it. When something goes wrong, I want it readily exposed. When I want to change something, I want to do it from a nice interface ... i've lived with my system being "hidden" away for too long.

The reality is I also have too many modules to manage easily, so the more I can see the better. My requirements probably won't apply to many other people.

This is the same as my thinking. I will be building a tabbed interface (easy to do with Vue/bootstrap) that, by default, presents something very simple but still allows me to go and look at all of the gory details if I need/want to. Even you will probably want something simple as your entry point.

One of my aims is to eventually also build some really simple ESP32 based devices that allow local control for the family.

Of course, since the Wiser app is reasonable, such interfaces have not been high on my To Do list :smiley:

I've been recently thinking about using cheap 7" android tablets, you can get them for ÂŁ30-ÂŁ40 these days. Set them up to turn on via motion detection from a motion sensor and create bespoke NR/uibuilder/VueKS interfaces..... I'll tap the mains power from wall switches, so they can always be on. Seems like a great bespoke interface for the family, that shouldn't cost much - relative to the cost of zwave modules that is.

How are you going to use your ESP32 wifi modules for interaction?

1 Like

Yep, good choice for more complex things. But you might also want to think about even simpler button interfaces because sometimes you just want to hit a button without thinking. For those situations, like turning on/off lights, a web interface on a tablet is far too slow.

Consider being able to turn everything off when the last person goes to bed for example, that person may be tired and just wants to hit the sack not be woken up by having to use a tablet. A button is quick and easy.

I have an M5stack Core which has a small screen and 3 buttons. A TTGO with a small screen and an M5stack Atom (8x8 LED matrix). I have a selection of buttons for the Atom but I also have some TTP223B Touch sensors that I may use.

All are in various states of experimentation right now :smiley:

I have a selection of 433MHz buttons (LightwaveRF and HomeEasy_EU) that have been in use for some years now and get used for controlling either individual lights or collections of them.

Please share your findings. Would love to see where you end up.

As for buttons, I've got more than you can point a stick at.... I wouldn't want to hazard a guess (and I've just eaten dinner so despite how tempted I am, I'm not going to go and count) but definitely more than 200 throughout the house :slight_smile:

No shortage of buttons and they are used for all sorts of scenes.... I'm probably going the other way to you and thinking of cool simple interfaces in certain rooms to change heating and lighting schedules, blinds and other stuff.

1 Like

I think tablets could work but make the touch buttons larger than you at first sight think is necessary. Making them for "fat fingers" is actually not bad, it will be much easier to operate correctly. You will see..

1 Like

Good point - maybe have a look at some of the work Pete Scargill has done on his blog.

Will do, thanks!

BTW interesting point. My family probably use about 10 of the switches in the entire house... Ha ha ha!!!

1 Like

Yep, it is only us OCD geeks that want masses of information and tons of controls. Most people simply want to be able to see what they are doing and have a comfortable temperature. :smiley: That really doesn't need much in the way of controls or display.

Yeah, even a 7 inches display is too big really

Wait till you start aging and the eyes start to go (hahaha)

Oooh, I haven't seen those before. And there's also a V2 with touchscreen, making it even more aesthetically/decoratively pleasing. They could definitely be nice room control units if they're flexible enough in terms of programmability. Worth having a more detailed look at when I get some time :slight_smile: