Smart/WiFi controlled Radiator Valves... self-build controller?

Joined
17 May 2013
Messages
1,370
Reaction score
26
Country
United Kingdom
I've just started looking into smart systems, so far only the Honeywell evohome range which appears quite nice. I like the idea of a TRV on each radiator which can be controlled remotely, basically... scheduling and so on is great but simply being able to turn them on/off on the phone would be the key thing.

Are there products out there that let me make my own control software? Which I suppose is like saying are there open standards/protocols any big players use for integrating systems together (smart home, IoT) or do they use secret proprietary protocols to force you to buy all their own controllers, subscribe to their platform, etc?

I'm a software developer by trade so I can see the idea of a micro-server or Raspberry Pi controlling my smart TRVs and anything else I can think of.
Can anyone help me get started with a little idea of what's available, how amenable it is to DIY efforts, etc?
 
For the evohome there is some API knocking around and some existing development done so that users can get the data from the evohome controller and integrate into their home automation software. I don't think you can directly send command to TRV's, controllers etc... but with the data you grab you can then send requests to IFTTT to do some action based on your own servers schedule/config.

Couple of links from a thread I used to monitor:

http://www.automatedhome.co.uk/vbul...ecoded-EvoHome-API-access-to-control-remotely
https://github.com/watchforstock/evohome-client
https://github.com/Infern1/evohome-munin
 
I saw the app supports IFTTT though I only just twigged what that was :) I guess this allows quite an open, programmable approach depending what triggers/actions/ingredients Evohome supports?

Does all this mean that I am reliant on both Honeywell's and IFTTT's servers even if I'm in my own home? e.g. if I have a broadband outage, will it all stop working properly?

The other thing I'm a bit confused about is how IFTTT would interact/integrate with scheduled stuff in the Evohome base controller. Let's say I have my system scheduled to switch to bed-time mode at 10pm but the wife and I decide we want an early night ( ;) ) at 8:30. I don't want to have to go through all my zones turning them off, I just want to perform one action. I can't tell if Evohome supports these kind of 'scenarios' so I can just say "switch to bed time", or if I'd have to set up an applet which directly changes each zone.
 
Think about and list what you NEED in the heating control system and then think about what you WANT in the system. Most of what ypu WANT is not essential to having a comfortable home.

I started a project to have individual heating controls for each room, while developing the hardware and software I found the cottage was comfortably warm and efficient in terms of gas used with the very basic controls that were put in as a temporary system.

The more components ( WiFi , routers, internet access etc etc ) that are in the system the more there is to go wrong. And teh harder it is to fault find and repair when it does go wrong.
 
Does all this mean that I am reliant on both Honeywell's and IFTTT's servers even if I'm in my own home? e.g. if I have a broadband outage, will it all stop working properly?
In order to use the APP or however you integrate using IFTTT, then yes you will be at the mercy of your internet connection and/or the vendors servers/services. HOWEVER the basic functionality of the TRV's, thermostats, controllers etc.. will continue to function according to the controllers schedule and you can override/control your heating still at any of these devices without an internet connection.

Regarding your other point about IFTTT / specific modes, out of the box the evohome has eco mode (reduced all zones by 3 degrees), and a custom mode (you predefine what this mode does - cant recall the full details of this though), there's others like all off, holiday mode. I assume IFTTT integrates by either settings one of these modes or it tells one/multiple zones what specific temp to aim for under the conditions you have told IFTTT to monitor

I am assuming here as I haven't implemented this yet but I think this is few examples of the way it could work with IFTTT:

e.g.

  • When IFTTT notices the weather where you live drops to 15 degrees then IFTTT sends a message to the controller to turn all zones up by 2 degrees.
  • When your own monitoring server detects ourdoor temp of 18 degrees then the server can tell IFTTT (which in turns tells the controller) to switch to economy mode.

Without internet of IFTTT then the above solution would not work but I would imagine this would not be common place. There are other things to note that I believe without your own server you can do geofencing, weather monitoring etc.. so you might not need to have your own server doing anything unless theres a feature not yet integrated with IFTTT/evohome.
 
I mean mode more to refer to a group of settings. So e.g. "getting up" is turning the bedrooms and bathrooms up, and kitchen. I want to get up early/late one day, I don't want to have to go through all my rooms one by one, I just want to move the "getting up" group to start earlier/later. Similarly I might have another scenario "eating dinner" or "watching TV" or "dinner party" where I've preconfigured which rooms are on. I'd want to be able to toggle those in one flick of a switch.

It looks like one could set up IFTTT applets to mimic this but it would be quite clunky.

It does seem daft that if I'm in my house on my WiFi, my phone app has to go through the EvoHome server. I'm not a massive privacy nut but equally I don't want to gratuitously give my data out. Part of my interest in my own controller was so it could all live on my own home network, so I'm not reliant on Honeywell... as someone who plays old computer games you often see they decide to turn their servers off after a few years. The idea that in 5 -10 years they decide EvoHome should be replaced with EvoHome2 is worrying.
 
Can't see any advantage in remote control of radiator if you are not in the home to notice any alteration?
 
I didn't say anything about controlling when I'm not in the home... for me it's about controlling when I am in the home. Ideally without telling the internet every detail.

Remote control I'm less convinced about when you're not home, though they tend to use examples like if you come home from work early. I think many bits of this are gimmicky but if you did shift work or had an irregular schedule, being able to turn the heating on as you leave work might be nice. And only turning the heating on when any radiator actually needs heat seems a good idea compared to the heating coming on every evening even if the TRVs are shut.
 
Yes IFTTT for your examples would be very clunky to achieve these groups of zones. I did a very quick google and came up with this which might offer some additional functionality over IFTTT. https://community.smartthings.com/t/release-honeywell-evohome-integration/44953 With this perhaps you can setup custom groups outside of the evohome zones and add quick action buttons to your own remote controls, smart switches etc...

That link has some github links, although I don't know if this is API calls to evohome controller or just some frontend/visual code. But I will be bookmarking it to review over the next few months to see what it adds to the evohome/HA.

Back to your point on being self reliant, unfortunately manufacturers seem to rarely offer the functionality for users to host/control their own infrastructure and seem to outright offer a free service or some cloud based subscription. I like you also have concerns should they go out of business or feel like that service is no longer profitable or want to force you to upgrade, but it seems like this is one of the very few choices we have without designing software/electronics so that no 3rd party is needed.

EDIT: seems like there's some long overdue official integration with smartthings too. https://community.smartthings.com/t/honeywell-evohome-support-coming/22362/103
 
Last edited:
I've just been reading through that huge thread on the AutomatedHomes forum and it seems like via the API I can replace the app and controller UI with something more complete (or could tweak the code to allow this). But virtually all the discussion and effort there is about talking to the HoneyWell server i.e. replacing the smartphone app, not talking to the controller directly. A few people talk about it but there's nothing mentioned I can recall.
Now talking directly to the TRVs is quite low-level as you'd need RF, but talking to the controller unit over WiFi seems like a reasonable ask. One option is to impersonate the real website but that's basically a common way that hackers try to get in. Talking to the controller would be preferable anyway since it works out when to turn the heating on, if you start overriding the TRVs you need to do much more manually.

I've only looked at EvoHome so far so I don't know if other systems are easier to tinker with, I don't even know what the other systems are!

I did come across OpenTRV which looked wonderful... but it's not available yet.
 
I didn't say anything about controlling when I'm not in the home... for me it's about controlling when I am in the home. Ideally without telling the internet every detail.
Not to mention being up s**t creek without a paddle when the manufacturer pulls the plug !
http://www.zdnet.com/article/revolv-is-dead-google-killed-it-long-live-innovation/
https://www.theregister.co.uk/2016/04/06/nests_bricking_of_revolv_a_wakeup_call/
That alone is good enough reason to avoid ANY product that relies on a third party to work properly/at all/for advanced features.

I did come across OpenTRV which looked wonderful... but it's not available yet.
Effectively they are as limited quantities for "development". At the moment it looks like they have just one unit with "Boost button not working" available.
Also, at the moment, comms is one way with OpenTRV - the valve sends data to the hub/boiler controller, but doesn't get any data/instructions back. AIUI, it's because they haven't worked out the security bits of doing that, and for their target market* it's not an important issue. There's also battery life to consider as it needs far more power to have a receiver turned on ready to receive commands that it is to just turn on the transmitter for very short times.
* Their primary target are the majority of users who don't understand existing "basic" controls, are unable to set a time clock, and for many simply don't understand the concept of a thermostat ! It's a "fit and forget", self learning device where in principle the only user interaction is to feed it with batteries, turn the dial to get the desired temperature, and occasionally press the button to warm the room up quickly.
 
I am in a similar situation. Of the 'off the shelf' systems EvoHome is probably the one I am considering at the moment (although it will be a while off before I get around to sorting it out), as I don't think it needs the internet to be able to turn your heating on and off.
 
Correct, it doesn't. But if you want to control it using your phone or anything else other than their base unit, that has to go through their server. Even if you're in the house on the same WiFi, it goes out through the internet to their server and comes back. If either your internet connection goes down or EvoHome server has an issue (the latter is not uncommon) or even gets turned off, you lose functionality which upsets me. It's entirely possible they might decide to deprecate it in 10 years despite all of your kit still working. Though I imagine if that happened, people would hack a non-server version.
 
I wonder if it would be possible to reverse engineer the protocol to the server and have a 'server' running on your home network instead of on the EvoHome 'cloud', and get your base unit to talk to that instead. It's probably encrypted though, so not sure how possible it would be.
 
I'd be certain it was possible if someone cared enough, no system is perfectly safe! It's more likely it is a security weakness than impossible to crack :)
 
Back
Top