Home Assistant is a great piece of software, and I’ve been in love with it for a few months now. While I started off using it about a year ago, I never used it for anything too crazy. I just used it for basic integrations with things I already had in my home, but that was it. Over the last few months, though, I’ve been really getting into it, to the point that I’ve gone out and bought Zigbee devices, reverse engineered some smart lights, and done so much more. Yet one of the best investments I’ve made recently was Home Assistant Cloud.
Nabu Casa, the company that provides Home Assistant Cloud, is founded by the creators of Home Assistant and Home Assistant OS. Not only does it immediately enable features that are complex and can be difficult to configure on your own, you directly support the developers of Home Assistant as well. That last point is primarily why I opted to get a subscription at first, but the features that it adds are genuinely invaluable, too.
In short, these are the features Nabu Casa adds to Home Assistant:
- Access from anywhere, no reverse proxy required
- Google Assistant and Alexa integration
- Automatic backups
- An improved text-to-speech engine
Access anywhere, security, and daily backups
One of my favorite features of Home Assistant Cloud is the ability to access it from anywhere. Once enabled, you’ll get a custom URL on the Nabu Casa domain, which will take you directly to your Home Assistant instance. There’s no reverse proxy required, SSL is handled for you, and it makes it easier to share access to your Home Assistant instance for people who may be living with you. For features like zone tracking and notifications, you don’t need to worry about being connected to your Tailscale or Wireguard, as you can connect to your instance with good old HTTPS, nothing more required.
If you use webhooks, then this feature is even more powerful. Webhooks can now be triggered from anywhere in the world with ease, simply by pointing at your Home Assistant Cloud instance. The same goes for WebRTC connections, enabling you to view your camera streams that go to Home Assistant from anywhere in the world. Even better, you can use your own domain with Nabu Casa’s remote access if you’d prefer. You just need to add two CNAME records to your domain, one pointing to your current custom address, and another containing an ACME DNS challenge. Once validated, you can access your Home Assistant cloud with your custom domain, rather than the random string of letters and numbers that you get by default.
As for security, it’s not quite the case that Nabu Casa is any safer than hosting your own instance and making a port publicly accessible. However, there are some caveats. While all of the domains are publicly traversible through certificate transparency logs, they are anonymized in that there’s no clear way to tie any specific instance to a specific person. If you were to open a port to remotely access your instance, or use a DNS A record to point to your instance, that does tie it to you in an identifiable way. That’s why it’s always good to use MFA with Home Assistant, especially if there’s any way to connect to your instance remotely, no matter how you achieve that.
What Nabu Casa does provide when it comes to security, though, is a built-in backup feature, with automatic encryption (and a randomly generated key that’s required when restoring your instance). It supports backups that are less than 5GB in size, with the caveat that only the most recent backup is kept at any given time. This feels like a little bit of an oversight, given that each account has up to 5GB of storage to use. I would guess that Nabu Casa engages in what it sees as overprovisioning to users, as my backups with a relatively built-up Home Assistant instance still come in at under 100MB. I imagine this is pretty common, and I suspect that if every user of the platform made use of that full 5GB of storage, Nabu Casa would need to invest more in storage costs, likely driving up subscription costs as a result.
As an example, when I migrated my instance from Home Assistant Container to Home Assistant OS, some features, like my database runner, broke. I got around to fixing it the next day, only to discover that my backup in Nabu Casa had been replaced by my newly-deployed Home Assistant OS instance, as it had restored my backup, along with the backup settings where it made a daily backup. It wasn’t a big deal, nor was it disastrous as I had local backups too (as part of a 3-2-1 backup strategy), but as an end user, it feels like an oversight to offer 5GB backups on the surface, for my backups to only be 100MB in size, and have no way to use that extra storage for storing additional backups, too.
Google Assistant, Alexa, and improved TTS
I use the Google Assistant a lot on my smartphone, and I have an Amazon Echo too, though the latter admittedly goes unused for long stretches of time. While it’s possible to configure and use both of those services on a Home Assistant instance without Nabu Casa, it’s a pretty complex procedure that, frankly, I really wasn’t bothered dealing with. However, I had it set up and configured within five minutes using Nabu Casa, which meant that all of my devices that were exposed to both assistants could now be controlled with just my voice. This includes lights, temperature sensors, and even my robot vacuum cleaner.
To be clear, if you’re sharing an entity with the Google Assistant, for example, it still needs to be supported. Not every device will be controllable or will work once exposed to it, but you might be surprised by what can be. For example, I can even allow devices to join my Zigbee2MQTT network from Google Assistant or Alexa, as the switch in Home Assistant that enables devices to join is understood by both services. I don’t use it all the time, but it’s nice to give voice control options to devices that I previously couldn’t control with my voice. I can even ask what the temperature is in the living room. So basically, the data goes through the following to get to my device:
- Zigbee temperature/humidity
- Zigbee2MQTT
- MQTT server
- Home Assistant
- Google Assistant
Without Home Assistant, this wouldn’t be possible. It’s really neat, and Nabu Casa makes it significantly easier to implement than it would have been had I opted to deploy Google Assistant myself. So much easier, in fact, that I probably wouldn’t even bother if Nabu Casa wasn’t an option. I find myself using this frequently, and I’m happy to pay the €7.50 a month fee ($6.50 in the US) to make it work and support the developers at the same time. The improved text-to-speech is great too, and I use it with my own Home Assistant dashboard to make announcements, like my Google Home Hub used to do.
Nabu Casa is a great addition to my smart home
As someone still somewhat caught up in the Google ecosystem, Nabu Casa is a great addition that enables me to link my self-hosted services with Google Assistant. That’s the biggest advantage of the service to me, as the integration is seamless. That, alongside the remote access that I can use with ease and can even enable me to implement webhooks is yet another positive. Even the backup system, while flawed in my view, is still better than nothing, which I suspect may be the case with a lot of Home Assistant deployments.
If you’re on the fence and you love Home Assistant, the final argument that convinced me to take the plunge was simply the idea of supporting the developers. It’s a small price to pay for a service that my home relies on at this point, and given that it’s all shared entirely for free, I can’t help but feel like I should give back something. It’s a fantastic service, and Home Assistant is a great example of what open-source can enable.