A smart home is supposed to provide automation of mundane tasks, convenience and even fun. But the problem is that there are (until Matter arrives in earnest) so many standards to choose from. This leads to fragmented home systems or even parallel operations because certain hardware just isn’t compatible the way it could or should be.
At my place, over the last couple of months, we’ve been having some fun with a couple of Raspberry Pis.
Today we’re taking a look at a way to consolidate your smart home setup by installing Home Assistant. It’s highly likely that you’ve chosen either Alexa or Assistant as the control for your smart home and, despite the multiple generations of hardware and evolution of the smart assistants, they’ve still got some issues.
So what Home Assistant?
In simple terms, Home Assistant (HA) is an operating system that is intended to be the control centre for your connected IoT and smart home devices. It can be run on a variety of hardware options including — as you’re about to see today — a Raspberry Pi. If you don’t have the hardware to do this, or already have another home-hosted option to use, HA can easily be installed in a docker container on a Windows, Mac, Linux machine or even a NAS.
Where Home Assistant takes a flying leap ahead of Alexa and Google Assistant is visibility and control. In very simple terms, it’s compatible with a lot more gear than either of the more proprietary options. You’re not losing that functionality if you switch either, you’re gaining a lot including (but far from limited to):
- Ecobee
- Google Cast
- Apple Home Kit
- Plex
- Samsung Smart Things
- Sonos
- Zigbee
- Z Wave
The full list of devices and services compatible with Home Assistant is mind-blowing. If you choose to head down this pathway, there’s a lot of time you can invest in your smart home to integrate and automate much of your life. Based on my — relatively short experience to date — this isn’t something you should just launch into without planning, and run it parallel to your existing system until you’re happy to start shutting the old system integrations and routines down.
Much like Alexa and Google Assistant, you can access the interface is via the web (within your home, don’t expose this to the outside world…) or app. It’s worth noting at this point that Home Assistant is more about the integration of systems and automation rather than the convenience of “Hey Google, play some music”.
Home Assistant had some huge advantages
Let’s start with the blatantly obvious, it’s self-hosted so you know exactly where your data is. That self-hosting also means that your controls are local and — increasing privacy for you — stay that way unless you choose otherwise. So instead of cloud-connected, often laggy, offshore-based controls for your lights, garage door, blinds, air conditioning controls or other connected equipment – you control your hardware from within your home, even if the Internet is down.
As a significant bonus to the controls being internal to your network and the privacy that provides, you’ll likely find that the controls respond a lot faster!
Before you get that far though, you’re faced with the setup of the software, integrations, automation and interface. While largely these are step by step options, one area that really stands out is the fact that you can customise your interface. It can be as simple, or as complex as you want it to be for viewing data and controlling your hardware.
Routines, Information and Automation: Home Assistant is leaps and bounds ahead
Because Home Assistant is compatible with so many standards, you’ll be stunned not just at how many items will work with Home Assistant; but just how much extra data you’ll have visibility on vs Assistant or Alexa. A simple example is my the Tesla Powerwall installed at my home, which Google Assistant and Alexa don’t recognise at all – is recognised, has a heap of information available from the array of sensors and can be reported on through messaging integrations.
I have successfully set up the integration with my solar battery to notify me when the solar shuts down if the battery is not at capacity. This gives us some early warning — if possible — to be wary of our power usage overnight to avoid exhausting the battery and drawing power from the grid.
So far, I’m yet to find anything that Home Assistant can’t handle provided your hardware is compliant with at least one of the supported communication protocols. You could have lights flash when a compatible smart plug connected to a device like a dishwasher, washer or dryer detects current draw has ceased so you can take the next steps.
Remember: Home Assistant plays well with many others like Zigbee, Z-Wave, Ecobee and Smart Things so you’re really only limited by your imagination and what you want to achieve with your smart devices.
It is honestly very easy to look at Home Assistant and — as I did for a while — think I don’t need that, or be intimidated by the massive range of functionality. One of the impressive things that Home Assistant does as a starting point is to detect your smart equipment at installation, manually install items that weren’t detected and then point you down the path of integrating them into your setup fully.
Why not just stick with Alexa or Google Assistant?
That’s a really good question and the honest answer is that I want to do more and remove some of the clumsiness. While the main two players in the smart assistant field do a very good job, they’re also pretty limited. Routines are generally manual triggers and can fail for any number of reasons. Once you get into complex routines, want multiple triggers for routines, or are using multiple devices or automation you’re really pushing the level of “smart” in your Smart Assistant or plain out of luck.
A simple case in point: If you’re controlling multiple speakers or lights, you’ll need to either:
- Have them grouped and control the group as a single entity
- Be prepared to change settings device by device
- Have a manual control option
Each of these options has its own downfall from forgetting device group labels, the tedium of individual controls and not using smart controls. To add to this, setting up routines on Assistant or Alexa isn’t particularly user friendly and modifying them later is a chore.
There’s an app for that
Yeah, of course, there’s an app for Home Assistant allowing you to control all facets of your smart home from your mobile device. Or, if you prefer there’s the dashboard that you can access via the web interface while in (or VPN connected to) your home. To take Home Assistant into the cloud is relatively simple, but does go against some of the personal reasons I’m working towards installing it and having it control everything through my home.
One size fits most…
While the interface on both Google Nest Hubs and Echo Show speakers isn’t bad, it isn’t great either. They’re designed to be voice-controlled and the touch interface seems to be near enough to be an afterthought. Then you have to navigate the pre-determined menu system to get to the controls you’re looking for. It works, but it really could use some optimisation for touch users and particularly for power users, the ability to customise the screens.
It’s a process and it is time-consuming but so far, I’m enjoying the journey and finding it worthwhile. If you’re looking at moving over, I wouldn’t hesitate to recommend you give it a go. You do need to understand though, that it’s not like installing an app and things just work – you’ll need to invest the time into your automation and in particular, your dashboard to make it work the way you want it to for you.
I chose OpenHAB for my Smart Home, love what I can do to bring everything together. I have to write some code for some of my devices (Daikin Airbase, OpenGarage, Tesla Powerwall), but I’ve had fun doing that, and others get to benefit!
Thanks for this. Very interesting.
Can you control things with voice commands with Home Assistant, or do you have to give that up?
If you sign up to Home Assistant Cloud, you can easily integrate with Google or Alexa, there is also a free way to do it, but it’s a pain..
Open source will always be better than closed source. Home Assistant is the right direction.
Moving my smart home to Home Assistant was one of my iso projects. It’s been pretty rock solid.
I find the automations run a little slower than if they were run on my SmartThings hub, but the dashboards that you can create are awesome. I have an old tablet mounted on the wall in a central location of my house which provides a nice control centre for the house. It has a tab for cameras, a tab for lights, and a tab for activities (like watching a movie or listening to music).