Should I buy those Zigbee thermostats

I think that depends on the boiler. Mine does not need that.

[Edit] I might have to retract that statement. If by TRV you mean the dumb ones that just close the valve without any way of knowing whether they are open or closed, which I think you probably did.

Welcome to my personal hell Bart.

I have dreamed of a smart heating system for years and I have made it most of the way there, with some problems along the way.

My problem is I live in a reasonably large very old house so I do not want to be heating all of it all the time (my heating bill was huge until I started saving money this way). I especially don't want to be heating bedrooms that are not being used or indeed, when I am working from home in my study, I don't want to be heating most of the rest of the house.

Most of the systems on the market seem to fall a long way short of what I want. Many focus on things I am not interested in such as controlling things from my phone. An "automated" system should be one that requires very little input from me on a day to day basis, otherwise it's just remote control, not automation.

For example there was a recent Alexa (I think) advert where the family gets back to the house and says "Alexa turn up the heating". Massive Fail! My house has thick walls and stone floors in parts. If it has been allowed to cool down substantially e.g. I've been away at Christmas, it takes several hours to heat back up. If the house is not already warm by the time you get back then your heating system is not doing its job.

The other way the commercially available systems fail is not having readily changeable profiles. If you're lucky enough to be able to control individual rooms then you have to go into every room and change temperatures or times using an app. I want to be able to say "I have guests this weekend" and the guest rooms, the dining room etc all change heating profiles to suit.

Don't get me onto systems like Nest that a) usually have one thermostat for the whole house. Fine for a small flat; no good for a large house. You are either heating all of it or none of it which is a massive waste of money and b) they also try to "analyse" your schedule, which means they are actually "guessing" when you need heat. My life is not that predictable.

Sadly the system I use is not made any more. I use EQ-3 Max! valves and thermostats. Fortunately they still work fine but I will need to plan for the day when one or more components eventually fails. I control them using Homegear through a CUL, which works very reliably (even through the thick walls). Then I control Homegear from Node-Red through MQTT

You can achieve the same setup today using Homematic valves and thermostats (not Homematic IP sadly) but I'm not sure how long Homematic will still be available because EQ-3 seems to be moving to their new Homematic IP system, which I don't think is compatible.

The advantage of these valves is they store their programs in the valves themselves so they are not reliant on an internet connection. Everything is local and under my direct control. You also don't need to do your complex day-to-day scheduling in Node-Red. Node-Red is just in charge of telling the valves what schedule to follow. I have created Node-Red flows that interpret a human-readable JSON schedule using JSONata with rooms, days, default temperatures and start and end times into the format that Homegear understands and then send it by MQTT. Status can equally be read over MQTT but I actually use openHAB for that because I am using openHAB anyway (although I use Node-Red for all my rules).

This way I can have diffferent programs for different rooms all ready set up and just send them when I want. For example my son moved back home for six months yesterday. His room (normally not used and not heated at all) is now on a schedule that heats it during the day (he will be working from home) and into the evening and then drops the temperature at night. Other rooms such as the living room never get used until lunchtime; the kitchen comes on for breakfast, lunch and then in the evening. They are allowed to cool down at other times. Bedrooms are not heated during the day. At the moment, out of the 14 spaces and 16 radiators in my house, only 6 spaces are currently being heated (including two hallways) and because those spaces are mostly up to temperature, a total of only 0.7 of a radiator is open so the boiler has switched itself off. If the total % of radiators open gets over 90% (e.g. one radiator opens fully or say three radiators get to 30%) then the boiler will fire. All triggered by Node-Red flows.

Stuff still to do includes

  • a better UI using the Node-Red UI builder to show current status, to quickly apply heating profiles to rooms and to trigger the override functions such as dropping the temperature for a couple of hours if I'm going out.

  • a UI that allows me to create and edit the profiles using a timeline widget rather than editing JSON files directly (which my wife is NOT going to do!)

  • use of defined temperatures and times such as "getting up time" so I can tell the system I will be getting up an hour earlier tomorrow and the bedroom, bathroom, kitchen will come on earlier as a result, and

  • more integration into the house automation so that activity detection will keep the heating on in the bedroom and other parts of the house if it detects we haven't gone to bed yet but then shut it off when when we do (you don't want the house to go cold if you're watching a late night film and you're up later than normal).

It's been a fun process and I've achieved most of what I want. In particular the house is just the right temperature when and where it needs to be and I'm not spending a fortune heating all of it.!

7 Likes

This all sounds very like my own motivation for getting into Node-RED and home automation (although I did mess about with X10 lights as a burglar deterrent many moons ago).

It was literally "a dark and stormy night" a few years ago when I had to get up at about 4 in the morning to get a taxi to the airport for a work trip. Getting up to a dark, freezing house was no fun, and I had the thought that it should be possible to hook up the heating to the alarm clock to avoid this kind of thing.

As with most home projects, things go much more slowly than planned, but I'm developing a whole range of gadgets to make life more comfortable. I have temperature and light sensors in every room, and I'm planning to use Z-Wave TRVs and boiler controller to keep each room at the selected temp. This will be based on a house "mode" schedule, depending on whether I'm sleeping, spending the day in, going out, off on holiday etc. and will set each room's required temp. as needed. And of course, a smart alarm clock which will make sure I never get up to a cold house :wink:

Not so much a requirement in these work-from-home times, but a messaging system, possibly SMS or Telegram, would let me check the house status, or change schedules if e.g. we were going to the pub after work for a few hours, or I was planning on heading home earlier than normal.

I'm also automating lighting, entertainment, security and a few other things, so it should be quite the system once (if) it's finished :slight_smile:

That is the same for me.

Same here.

All of the smart systems are able to do things with almost no day-to-day interaction. I very rarely change anything. Maybe a couple of times a year to set the schedules and this is something that I will eventually do via Node-RED. Otherwise, just to occasionally boost a room. 99% of the time, no interaction is needed at all.

Indeed one of the benefits from using a commercial smart heating system is their capability of adjusting to weather and even learning the heating/cooling characteristics of the house so as to change the start/stop times of the heating cycles.

That is not what they are illustrating. They are simply illustrating the dynamic way you can change the comfort levels. If we've been away in the winter, we simply hit a button to get the heating going when we are on our way back home.

I can only comment on the Wiser system and this is indeed a failing that Node-RED can fix.

The Wiser nor the Evohome systems are dependent on the Internet.

Everything you describe is already built in to any smart heating system & optimised by a lot of R&D.

This section looks very much like some of the things I need to do as well. Though I already have some status displays that integrate with the home control dashboard.

One of the advantages of a commercial system is the ability for it to bring ML to the system so that it learns when to start heating such that the temperature is correct for when you want it to be regardless of the weather. I'm sure that can be done with Node-RED but it wouldn't be easy.

Not suggesting one way is better than another, just putting the other side of the story. The cost of the smart controller is small compared to the TRV's. Using a controller that has an API and is offline capable gives you the best of both worlds.

2 Likes

Hi Simon,
thank you for sharing your ideas. It seems like we both need a similar solution ...
Have you ever seen a (commercial or open-source) app that has an easy to use widget to setup/maintain a heating profile. If so, please share it so somebody might create a dashboard ui node that looks alike...

It is so hard to believe that there is no open source project available that implements such kind of things...

That makes sense, although then you can only buy their TRV's in the future when you want to extend your system. I assume you don't have an extensive list of systems that fullfill your requirements ...

That is mostly true. Though of course, you could still further extend using Node-RED, using a commercial system doesn't block you from that option in the future, it simply gives you a leg up. It would have taken me years probably to get to where I was in minutes with the Wiser system given the amount of available time I would have to spend on it.

I only found the two systems that met my needs though both are from vendors with a very long history in the world of heating controls and so not likely to disappear any time soon (another important point of course). Honeywell may well have been the original. Drayton (now owned by Schneider Electric) probably not far behind Honeywell.

For the first couple of years, I took advantage of sales to build up a stock of TRV's having originally brought just enough for the key radiators. Since then I have brought enough for the whole house and a couple of spares.

1 Like

It would have taken me years probably to get to where I was in minutes with the Wiser system given the amount of available time I would have to spend on it.

Very true Julian. I actually went ahead and bought a starter kit for the Wiser system. I do like it and I was at the time concerned that I couldn't get my Max! system to work properly and I'd have to replace it. I have since flashed the Cube (transmitter) with CUL software and it works perfectly now so the Wiser system is sitting unused.

That's one of the reasons I've stuck with Max! (apart from the expense of changing) I can send new schedules very easily to the thermostats, that then run autonomously, so when my 25 year old son comes home (and operates on a different timetable from me) I can rejig various temperatures around the house quite easily. Just not with a GUI yet.

Do you have a method of changing the heating profile easily or do you find you don't need to? I use openHAB as the bridge to my hardware although I do all my rules-based automation in Node-Red and I hadn't found a way to hack about with the Wiser schedules from openHAB.

Have you ever seen a (commercial or open-source) app that has an easy to use widget to setup/maintain a heating profile

Bart, the Max! system did have one. It worked through a Windows app and it had a graphic interface with bar charts to show the temperatures in different sections of the day (can't post a picture now because I don't use the software any more). Each room had its own schedule but of course what I would like to do is have profiles that affect several rooms at once and that is a pain to do if you have to change every time and temperature for every day for every room (or even some of them). I've never seen a commercial package that can do that.

In a perfect world you could overlay profiles on top of each other so a higher priority profile would override a lower priority one, but only in the times when it needed to specify something different. So you activate your guest profile for the weekend and the guest rooms and the dining room heat up at times when they otherwise wouldn't but when you switch off the guest profile it goes back to the lower priority profile and whatever schedule it was following before. That might be with a son at home or it might not.

I've done quite a bit of work looking at building a scheduler in NodeRed using the power of JSONata to take JSON data with radiators, rooms, stacked profiles, defined times and temperatures and strip out when the next event will be for any room. This way it only creates events when things need to change. It can also work out what the most recent previous event was so if profile A which required a room to be heated to 21 degrees is deactivated and the next highest profile is Profile C whose most recent event (even if that was before profile A was deactivated) was to have that room at 18 degrees then it will send an event to change it but only that event.

It's a work in progress but I've been distracted with other things lately and other projects (and work!) so I've not managed to finish it. It's not straghtforward but it has promise though. The next thing would be to create a GUI to set up the profiles. I've been looking at vis.js, which has a nice interactive timeline widget. there are one or two others.

1 Like

Instead of Zigbee there is another option called Homematic IP. The Node-RED integration is done with ccu. An open source initiative named raspberrymatic supports a Raspberry based version of the gateway. MQTT and REST API (very simple one) are available. English forum

I have been using this system for many years. It is safe and very reliable with a lot of options. There are also range extenders (outlet plugs for instance).

... but it is not Zigbee.

That is no problem at all! Just gathering ideas is fine!

I change it maybe twice a year. So creating something in Node-RED is on my backlog but not that high up the list. Particularly with most of us at home most of the time during COVID. Next step will probably be simply using the app to create a suitable schedule and record that in Node-RED with a simple UI to switch between them.

That's what I was interested in doing, to be able to change the schedule, without going into the app and changing it bit by bit. Is there a way of "recording it in Node Red" and then transmitting either a recorded schedule or one created programmatically to Wiser? Even if you haven't implemented it yet? I wasn't sure whether the protocols has been opened up enough to be able to do that.

Yes - I've looked harder at Homematic IP since my post above. Apparently it is compatible with Homegear, just not with the radio I currently use for my Max! valves. I would need, as hklages said, either a CCU3 or a raspberrymatic to talk to the TRVs.

Homematic seem to have a good reputation. There are TRVs and wall thermostats to give a better measurement of the room temperature or to cope better with more than one radiator in the room. Homegear deals with the protocols to talk to the Homematic devices and linking thermostats to TRVs. Homegear is dead easy to control using mqtt from node red, giving you as much flexibility as you could want in either reporting what is going on as it runs autonomously or taking over complete control of the system.

It's probably the way I'll go if one of my valves fails or I need to add wall thermostats because homegear can mix and match the older Max! system and newer HomematicIP items

Yes, the protocol certainly allows that. You can change schedules via JSON. The complexity comes from how the data has been denormalised. Just takes a bit of thinking to re-/de-consitute it to/from human readable forms.

In fact, I've just received v4.0.0 of the iPhone app which now lets you create schedules for multiple rooms and lets you copy schedules between rules. So that will make things easier.

All I need to do is to capture the JSON for the current schedules and then when the weather turns spring-like and I next change the schedules accordingly, I can capture those. Then it should be fairly trivial to swap the schedules over.

I was trying to remember why I hadn't included these in my shortlist. A quick look on Amazon UK reminded me: Amazon.co.uk : homematic

There is little benefit over a commercial system.

https://www.amazon.co.uk/s?k=drayton+wiser

Though the Honeywell Evohome system is a little more expensive: Amazon.co.uk : honeywell evohome

EvoHome Wiser Homematic
TRVs Ā£59.62 Ā£40 Ā£49.95
Controller + themostat Ā£203 Ā£134.09 (w/ 2 TRVs) Ā£87.67 + Ā£49.95 + Ā£49.95
Thermostat Ā£76.99 Ā£74.98 Ā£49.95
12 TRVs + controller + 1 thermostat Ā£918.56 Ā£534.09 Ā£786.97
Thermostat is wall mounted rather than free standing. Switch Actuator is not a standard boiler control mount by the looks of it. Might need professional fitting.

As I said, I've picked up most of my Wiser kit when it has been on sale. I think the lowest price I got for the TRV's was Ā£25 ea.

It would also be interesting to try out the TRV's from each system side-by-side. I seem to remember some comments in forums when I was looking that suggested the Homematic TRV's were a little noisy. Certainly the Wiser ones seem pretty quiet to me. Not noisy enough to wake me up anyway.

As a reminder, I said that if I were doing this now, knowing what I do, I would actually pay the extra for the EvoHome system with its published API and more mature system.

2 Likes

Can you share with me how you interface a schedule between Node Red and the Wiser system - either reading or writing? I've read your blog and although I can see how you can change setpoints etc, I can't see how you change an autonomous schedule in Wiser and leave it to run. Or are you planning to do your scheduling in Node Red (complicated!) and send setpoints?.. it doesn't seem that you are doing that.

Everything I've tracked down so far including the HomeAssistant interface, the openHAB binding etc all just seem to control setpoints and not schedules.

If I could do that then when my Max! system fails, Wiser might be the way forward. I do agree with you that it seems the best of the commercial systems along with Evohome.

I simply use http-request nodes to do whatever I need. I've not actually set/changed a schedule yet but I believe it to be possible the same as changing anything else like a setpoint on a specific device.

The Python API is a good source of info on working with the API and it certainly says you can change the schedule:

Haha, I note that the Python API actually references my blog post, that's funny. :rofl: The Home Assistant Wiser repo has some more info on controlling schedules via the Python API.

This article has a good extended review that is worth reading as are the comments. In fact, the author asked me to collaborate on some additional articles but I really didn't have time to do them justice.

https://community.home-assistant.io/t/drayton-wiser/40358/28 also indicates that you can control schedules.

If I get any time, I'll have a go at some of this.


Oh, and the cloud part of the Wiser system is compatible with Alexa and Google Home. We can change the heat via GH.


Update: Just checked the Python API PR that added schedule handling and it all looks as straight-forward as I imagined it to be.

That's a very helpful answer thanks Julian. I'll check that out

For anyone interested in or owning a Drayton Wiser system, please see this new thread announcing a Node.js (not Node-RED yet) module for the system.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.