The last major element in my smart home setup is a smart thermostat. It’s something I’ve been thinking about for a while, but I’ve been struggling to decide which one to get. They all have pros and cons and it needs thought. Smart lights are fun and sensors are handy but a thermostat is important. For a long time I wasn’t sure whether to even take the plunge or stick with my old timer thermostat that is tried and trusted.
So what are the contenders? I considered five options and tried to find answers to a series of questions:
- How easy is it to install? I already have a timer thermostat wired to the boiler. The thermostat itself is battery operated and the wires just control the request for heat from the boiler. Does the replacement require additional wiring into the boiler itself?
- What is the fallback default if the product’s cloud service is down or I lose the internet? Do I have some level of control?
- How well does it integrate with other services? Is there an API? Does it work with Amazon Echo and IFTTT?
Hive and Nest
I’m lumping Hive and Nest together although they’re very different products. Hive is one of the less smart systems, that allows scheduling and remote control but doesn’t add much intelligence of its own – even the geolocation option doesn’t turn the heating off when you go out but rather sends you a notification to warn you.
It’s supplied by British Gas with a rather long wait period for installation, although you can buy from other suppliers. The hub can also act as a hub for other devices such as lights, sensors and plugs.
Nest is at the other extreme. After a learning period in which you set the temperature manually it learns your schedule and takes over. I’m not sure I’m ready to give up that much control, especially when it was a victim of the recent AWS outages. Like Hive, Nest can also act as a hub for other smart devices.
I ruled both of them out for the complexity of installation. Both require remote receivers wired to mains output on the boiler, and that’s not a job I’d tackle. I’m OK with programming, but my real world DIY skills aren’t up to much and a boiler is a far too expensive thing to be taking any chances.
So that left me looking for straight replacements for a wired thermostat.
Tado and Netatmo
If the internet connection is down, they both revert to being manual thermostats. The Netatmo will follow the last known schedule. I couldn’t confirm that with the Tado – the documentation I found only refers to manual operation – but I’d expect it to be similar.
Both have IFTTT and Amazon Echo support and both have documented APIs to build integration with other systems, including HomeAssistant. There are already components for both in HomeAssistant, although the Tado component only allows HomeAssistant to use Tado’s device tracking whereas the Netatmo component shows current temperature and set point.
Tado’s selling point is geofencing. It uses your phone’s location to determine when you go out in order to turn the heating off. As you get closer to home it will turn the heating back on, gradually warming the house to achieve your target temperature by the time you arrive.
Netatmo has simpler scheduling and an “away” mode you can set manually in the app (or via other integrations such as IFTTT). It will gradually learn the heating characteristics of your house and, together with the forecasted outside temperature, learn how long it takes to heat up in order to reach the desired temperature at the scheduled time.
Both looked like strong options, but I considered a real wild card…
DIY with ZWave
I found a ZWave thermostat that would replace my current wired thermostat. I could then connect it to HomeAssistant with the ZWave USB controller in my home server. The climate component in HomeAssistant would record the temperature and change the target temperature.
I would then have to implement all of the scheduling as automations within HomeAssistant, as well as building automations that could be triggered by presence detection if I wanted that feature. The scheduling automations are pretty simple, but changing them would mean editing a YAML file – no slick GUI, and no means of remotely changing the schedule.
The main advantage would be no cloud service in the background. It would operate entirely under my control.
With enough time, I figured I could also build the reporting that the other products offer and even a front end for scheduling using a custom panel within the HomeAssistant GUI.
I even thought about implementing features to learn the heating characteristics of my house. I figured if I recorded the actual temperature, outside temperature and target temperatures I could calculate how long it takes to heat my house to a given temperature in different weather conditions. I could then use that data to automatically adjust my schedule accordingly, turning the heat on at the right time to achieve the target temperature.
I was getting quite enthusiastic about it. It felt like a fairly major project, but one that was within reach.
So why didn’t I go down that route?
In the end it felt like reinventing a wheel that had been comprehensively invented already. It’s also early in my adventures with HomeAssistant, and I’m not fully up to speed with the more complex customisations.
Finally, while I think HomeAssistant is a great piece of software, it is evolving rapidly and I’m not sure I’m ready to rely on it just yet. It’s a great add-on to give a single dashboard and control of other systems, but at this stage I think an off the shelf product would suit me better.
So which did I choose?
I went with Netatmo, and next time I’ll be offering a full review and talking about the installation process.in Home Automation