Perfect Home Automation

People often ask me about my vision for Home Assistant. Before I can describe where I want to go with Home Assistant, I should first talk about how home automation would look in my ideal world. This will be the aim of this post. I’m not going to focus on protocols, networks or specific hubs. That’s all implementation details. Instead, this post will focus on what is most important: the interaction between the users and their home.

You should not have to adapt to technology.

When people start using home automation, they always experience home control first: being able to control devices in new ways using a phone or computer. They believe the future is now and their app will be their remote for their lives. They only focus on what they are getting, not on what they are losing. You install some light bulbs and all of a sudden you are no longer able to use the light switches. You’ll arrive at home at night and have to pull out your phone, open the app, let it connect and finally you’ll be able to turn on the light. All while turning the light on could have been a switch away.

Yes, you can solve this with presence detection. What if your phone runs out of battery? You’ll have to resort to the switch again.

If you find that using your new home devices is cumbersome, the promise of home automation technology has failed you. Your lights should work with both a switch (or button) at the entrance of your room and via presence detection. Honestly, there are hardly any valid use cases for being able to control lights from your phone except for showing off.

You are not the only user of your home automation.

People tend to forget that they are not the only ones in their home. As the developer of your house you’re enthusiastic about the possibilities and are willing to overlook flaws. Chances are very high that the other people in your household have different hobbies and just want to mind their own business.

This means that everything you automate has to work flawlessly. If you successfully manage to cause a response to some stimulus 90% of the time, you’re going to have a disproportionately poor experience 10% of the time. A common automation that fits this pattern is to fade the lights when you start watching a movie or series in the living room. It only works if everyone is watching.

Limit the impact of false positives and negatives.

With every automation, you always have to think: what will be the impact if it doesn’t work? Home automation is composed of many different systems by many different vendors that speak many different protocols: things will go wrong. It’s up to you to make sure that they have a limited impact when they fail. Ideally, devices should fall back to a pre-smart home experience. A Philips Hue bulb will act like a standard white light if turned on/off using a normal switch or when not connected to a hub. If things get worse when your system is out of order, your users will revolt. Take for example the Nest thermostat that had a bug in the beginning of January which caused it to stop heating the house, yikes!

The perfect app is no app.

Home automation should blend with your current workflow, not replace it. For most devices, there is no faster way to control most devices than how you are already doing it today. Most of the time, the best app is no app. The only interface that can be more convenient, and is accessible for visitors of your home of all ages is a voice interface. The industry has realized this too and there are some major players focussing on voice interaction. Take Apple for example: the only way to control your HomeKit devices is with Siri. Amazon has taken it one step further with the Amazon Echo, providing an always-listening connected speaker/microphone for the living room. I expect a lot more companies to join this segment in 2016.

Voice interfaces are not perfect either. The speed at which you can issue commands is low because you have to wait for a response. There are also issues with the discoverability of commands, recognition of accents and dependency on the cloud for processing your voice. I believe that all but the first one are problems that are going to be solved eventually.

This however doesn’t mean there isn’t a place for apps, there definitely is. They are perfectly well-suited for checking in while you’re away, browsing the state changes of your house or making the lights go all funky when there are kids visiting.

Your system should run at home, not in the cloud.

The cloud is a magical thing. Somewhere in the world there are computers collecting the data that your house generates, testing them against your automation rules and sending commands back when needed. The cloud will receive updates and improve itself over time so it is able to serve you better. Until it’s not. There are many reasons why your home might lose its connection to the cloud. The internet can stop working, an update might have gone wrong or the servers running the cloud crash.

When this happens, your house should be able to keep functioning. The cloud should be treated as an extension to your smart home instead of running it. That way you’ll avoid awkward situations like when Amazon AWS was down and the Amazon Echo stopped working.

Good home automation never annoys but is missed when it is not working.

Thanks to Chris LaRose for this feedback and comments.


This is a companion discussion topic for the original entry at https://home-assistant.io/blog/2016/01/19/perfect-home-automation/
28 Likes

This is a great article. Very practical and if not followed either can expect a divorce or forced to get rid of all automation gear

2 Likes

Very well put. It’s so easy to get sucked in to all the tackiness and show-offs on the internet these days and forget what was really the point of home automation.

I wrote a similar post in December last year: The real motivation behind Home Automation

1 Like

The article does perfectly explain how home automation should be and it is really good to read that home assistant has the user and the use cases in mind and not (only) the technology.

1 Like

This article was written a few years ago, but everything in it will always hold true. I’ve been using Home Assistant for about 3 years and prior to that, I was looking around and was just … well, disillusioned. Everything commercial was focused on using an app to control the home. I would just think "Where is the automation? Where is the “Smart”? " It was all just glorified remote controls to do what the existing switch does.
Being able to actually have a “brain” in the home that is capable of looking at data and responding accordingly makes more sense than a light switch on the phone, or just saying “Hey [insert voice assistant here] Turn on the light”

2 Likes

I must say I can very much relate to you first post and about 4 years ago I lived with those same ideals ( if you can call it like that ) when it comes with home automation. But the more I worked on this I realized this whole concept does not only applies with home automation but with every piece of technology. In my own mind I think any form of cumputing should be a slave to us, we humans should not be a slave to our technology , its here to serve us not the other way around. Therefore with any piece of hardware I buy I always think how can it serve me and my household without losing any convenience as much as possible.

This is exactly my thinking, take for instance my lights automation, with a little extra effort it becomes transparent. For instance, the lights turn on of an evening about an hour before sunset. There’s your first point sunset not time because sunset is different every day. Then when we tell google bedtime all the lights turn off. However if noone is home come 10pm my HA picks a random time between 10pm and midnight and turns the lights off. Voila, my lights function as expected when were home and when we’re away on vacation they still handle themselves, when I go away I don’t have to think about setting my home to vacation mode or anything like that. So that’s just one example of many.

1 Like

Well… FINALLY someone I see eye to eye to on these things. I tried to home-brew something along these principles and didn’t get too far - too much work for a single person hobby project. Home Assistant fits the gap.

One note tho - while Alexa is nice - I have 2 of them in my house - I am only one in the house able and willing to talk to them. Speaking English at a level that Alexa understands is not really universal - nobody else in my immediate circle does as we dont live in an english speaking country. And even language barrier aside - raising a child with speech impediment is enough to know - voice interface has it’s place - but its no replacement for physical control.

1 Like

The text “in the beginning of January” needs to be updated. It was actually in the beginning of January 5 years ago! :see_no_evil:

1 Like

This explanation is so clear and insightful. Someone has clearly dabbled in the dark art of home automation. I have hope that my marriage will survive this journey thanks to these insights.

This platform truly answers more questions than it creates. I don’t believe that cloud based services will ever be free from the shackles of an internet connection or a fatal bug in an update.

A very usefull explanation and so true. The reason, I never started till now to automate was the fact that there was ( and still is ) to much variation in systems making you dependent of one or more constructors and their cloud services. Living in a +25 year old house, I wasn’t willing to go changing my entire installation. So automation needs to blend in and use the installation as is. Lamps are going to remain stupid. Switches might being changed to buttons, but that is as far I wanna go with changes.
My wife’s view is also that you turn the light on and off with the available switch, not with a phone or any other funky method.

@balloob I’m wondering if your opinion/vision on this also has changed during the past years. A lot of cloud related issues could perhaps be solved and maybe some of the potential advantages are bigger than the disadvantages/risks.

I like to idea to have my whole Hassio running in the cloud instead of having the hardware like an Intel Nuc or Pi in my house. It would also make it more simple for people to start with Home Assistant as you can just sign-up, buy a gateway if needed and start automating.

You would only need one ore multiple simple (low power usage) gateway devices where you connect your Z-Wave/Zigbee/RF/BT receivers to via USB and they can send/receive the data to the cloud instance. You can even run without hardware if you have only cloud polling integrations. Plus: if you have multiple of these simple gateways then you can place them close to where you need them (e.g. with Bluetooth range from the ground floor to the attic).

I won’t answer for @balloob , but I think this suggestion goes against the very ethos of HA.

I believe the answer is likely to be “no my view has not changed” and I pray I am correct.

2 Likes

@nickrout Not asking for @balloob to change his mind on the vision but there’s a big difference between having your Home Assistant instance in the cloud and having cloud API’s like Google Nest (which I dislike and avoid).

Also there’s no need to pray for sticking to an opinion from 2016. The tech constantly changes and it can only become better if the community is discussing it. Furthermore the option to run your HA instance in the cloud can be offered next to having your own hardware.

If you prefer the cloud then accept the possible disadvantages but it also brings advantages. If your internet or the hosted solution is having downtime you can also find a solution like:

  • NabuCasa providing an excellent hosted HA that minizes the risk of downtime (SLA, distribute across multiple providers like AWS and Azure)
  • Fallback internet connection
  • Or even: fallback local Home Assistant instance (mirrored to the hosted version)

I think it’s important to distinguish between what’s practically possible vs. a philosophy.

You can totally set up HA for example running in AWS — and there are posts on this forum about this. There are also many integrations making use of Cloud services. Part of the issue with Cloud services is vendor lock-in. Perhaps if the IETF or someone can define open standards for IoT use, or all vendors use good, existing standards and protocols (e.g. MQTT) then perhaps this becomes more feasible. It also seems utterly unnecessary that (for example) a security camera stream, light or doorbell needs to make a round-trip via the Internet when I’m at home.

As for the vision of HA, I bought into what’s written here so I would like to see it remain the vision. To me it’s much more about freedom of choice: I can use Cloud services but don’t have to.

2 Likes

I try to keep the cloud out as much as possible

3 Likes

Agree on that routing a camera stream to your cloud HA instance wouldn’t be very efficient.
Avoiding cloud service / cloud polling integrations is a totally different discussion by the way. I’m just talking about HA in the cloud.

Having HA in the cloud is a ridiculous idea. Everything would be slower. I could list all the disadvantages but there is no need.

Local is far better and I sure hope HA stays that way.

8 Likes

If you have children who leave lights on, being able to know that they’re on and turn them off when you’re not in the room is very useful.