My Three Laws of Home Automation
I’ve seen a lot of comments and articles and videos about how the current standard in home automation isn’t really automation. And they are right. It is closer to remote control than full automation. What I want is something that is closer to J.A.R.V.I.S. I want my house to anticipate what I am going to need or want and just do it. Unfortunately, we are ways off from that reality, but with Home Assistant and My three laws of Home automation I can get as close as possible for someone that doesn’t have Tony Stark’s cash flow.
Most people I have talked to that have started playing with Home Automation really just want the ability to have the lights turn on via Alexa or their Google Home assistants. Maybe have outside lights come on with sunset. Or the simply control their devices from their phone so they don’t have to get out of bed to turn the fan on when they get hot. And out of the box that is what most home automation platforms set out to do. But with a little design thinking it is possible to go a bit beyond that. That where I turn to My Three Laws of Home Automation.
First Law: Every automation or action should be the result of a sensor or indirect action.
Second Law: An automation can be triggered by voice command only when the First Law cannot be achieved.
Third Law: An automation or action can be trigger by a physical switch or as the result of a direct interaction only when the First Law or Second Law cannot be achieved.
At the most basic these three laws are about helping me take the human element out of the “automation” controlling the house. In the ideal setup, the humans in the house would have to do zero. No voice commands, no switches. All they should have to do is just go about their day without thinking about the house.
For example, Lights should come on when people enter rooms. Climate control system should adjust based on room occupancy and current room temperature. Security systems should arm and disarm based on who is going and coming and shouldn’t relay on keypads or alarm codes. Audible notifications should alert people of traffic or school or weather based on schedules and time of day/week/month. In short, every action taken by the home automation system should be due to a sensor or indirect action by a human or better yet a combination of both.
The way I use these three laws is every time I add a new light, switch, or other home automation device I try to automate its behavior using the First Law. If for whatever reason I can’t – typically this is because I don’t have the right sensors in place yet – I turn to the Second Law. From there I build the action to operate via a voice command. Either via a direct command like “turn on living light” or via a script that is trigger via a voice command like “activate house party protocol” which turns on all the wax warmers in the house. If voice is not an option, which rarely happens anymore considering I have Echos and Google Homes in most of the major rooms, then I try to link multiple actions to a switch. Fortunately these days, I have been able to take care of everything with either the First or Second Law.
The downside of following this design philosophy in today’s Home Automation environment is my Home Assistant config is bloated with lots of automations, scripts, and complex configurations because all of it still requires me build a giant decision tree. If you don’t believe me just look at my Home Assistant config on GitHub. It’s not very easy to follow.
But the end product is a home automation system that only requires people to flip switches when things go wrong. And thankfully that isn’t all that often. Plus it lets me pretend for a bit that I really do have J.A.R.V.I.S running the house. Or until I have to get back to updating the config. Speaking of which I need to figure out how to get the security system to not set off the alarm at 3:25am in the morning because the dog wanted to go out for a bathroom break.
So until next time…Go Automate something.