Broken by design. Short story of bad user experience in smart home products.

CW: Tech, smart home, rant, venting

Growing gas prices has made me change the way I am heating my home to avoid heating spaces unused at a given time. The (relatively) cheap and quick solution is to find a #SmartHome solution which supports #TemperatureZoneControl. There are some available on the market. After some reading and deliberating I've chosen #Plugwise.

There is the central unit which is connected to the gas boiler (supports on/off and #OpenTherm boilers) and a bunch of thermostatic motorised valves connected to the central unit using #Zigbee protocol.

I will skip through the process of basic configuration of the central unit and pairing thermostatic valves as it is not relevant to this rant. Let's focus on setting up the temperature. The only thing you need to know is that for each room you need to configure a zone, and for each zone you need to add at least one thermostatic valve. Usually it would be one valve per zone, unless you have a big room with two or more radiators.

Adam – the central unit, there are also different ones available – has predefined 5 entities called Scenes: Home, Away, Night, Vacation, Anti frost. The list is fixed, you cannot add your own scene. Each scene allows you to define the temperature for each zone. So, the scene Home might mean 22°C in the living room and 20°C in the bedroom, and Night 18°C both in the living room and bedroom. Using the web interface (and probably application as well) you can activate the scene either for all zones at once or for single zone only. But every action is a manual one, triggered by the operator.

Next step is setting up the schedule of temperature changes, called – surprise, surprise – the Schedule. You can build the schedule using scenes, but only three of them: Home, Away and Night. You cannot use Vacation and Anti frost, which seems to be reasonable at first glance, but it will cause the confusion and problem to be solved later on. I'll get back to it, because this is the main reason for this rant.

You can define many schedules, then assign them to the zones, including assigning one schedule to many zones. If at a given time the scene Home is active, that defines the temperature for the zone. Apart from the three scenes, you can use a custom temperature in schedule as well.

That is quite reasonable solution for setting up the temperatures if you have a regular lifestyle. Every exception needs to be handled manually in more or less user friendly way. Going out for vacation means you need to activate Vacation or Anti frost scene. Then activate proper schedules for each zone when you are back. But if you need to wake up at 3a.m. to catch the early morning flight and you don't want to shiver after crawling out from under the duvet or in cold bathroom, then you need to do a modification in the schedule. Or create another one and activate it for the occasion. Then get back to original settings. Unless you are in hurry to catch the flight.

But we have #HomeAssistant which gives you infinite ways to automatise your home. The first thing I did learning how to work with Home Assistant was to create The Cyber Roster. The automatisation I've made at each sunrise activates the “find me” function in my smart vacuum cleaner which make it to emit the sound. Useful? Not at all. Silly? Yeah. Educational? Of course. Anyway, only your imagination is the limit.

So, in Home Assistance there are entities like Presence Detectors. They allow you to configure following behaviour: – when home is empty for more than 16 hours for all zones set the scene Away. – when home is empty for another 24 hour and all inhabitants are more than 50km from home, set the scene Vacation – when any inhabitant is closer than 5km from home and the scene is Away or Vacation, enable proper schedules for each zone – if the temperature in any zone is more than 3°C below the one set in the schedule, turn the heating mode to bleeding hot for 1h, then get back to economical heating.

Seems nice, right? But, unfortunately, not possible. I have no idea at this moment if this is because of the integration of Plugwise in Home Assistant, or because of what Plugwise allows in its API, but the thing is only Plugwise schedules are available in Home Assistant. So, no scenes. But one can say: “Hey, you can create a schedule from scenes, right? So you can create the schedule using only Vacation scene.” And this is the time to remind you that you cannot use Vacation and Anti frost scenes.

Of course, I can create the schedule using a custom temperature. But then why have I set the temperatures for the scenes I am not even going to use?

/@agturcz@circumstances.run/