5 things I wish I knew before going all-in on Home Assistant

2 hours ago 2

I've been on the Home Assistant grind for quite a while at this stage. It's a fantastic way to automate your smart home, linking up services and devices you never would have thought possible. I have some truly magical automations that bridge services in ways I couldn't do with any other software, like using a spare slider on my GoXLR Mini to control my light brightness, or deploying my own voice assistant that sounds and acts like GLaDOS. It's amazing, and I absolutely love that for the time I've spent on it, I've got a lot out of it.

With that said, it's obviously not all perfect, and nothing ever is. I've gone all-in on Home Assistant, and these are some of the things I wish I knew before doing that.

Start with Home Assistant OS

Container is great, but HAOS makes it easier

home-assistant-os-running-proxmox

When I first started my Home Assistant journey, I deployed Home Assistant Container on my TrueNAS system. While you gain a lot of control this way, it actually makes things harder overall. There are a couple of reasons for this, with one that most people know and one that I find most people don't know. The first is pretty simple: when you run Home Assistant as a Docker container, you are in control of other services that you deploy, and because Home Assistant is merely running as a container and has no supervisor to orchestrate other containers, you can't deploy official add-ons.

None of this is really a big deal as you can deploy containers for services like Piper, Whisper, ESPHome, and whatever else suits your fancy manually, and then just link everything up by hand. With that said, users may miss the true simplicity of Home Assistant's add-ons, which are Docker containers but with everything linked up for you. While I started with Home Assistant Container, moving to Home Assistant OS has been a blessing on my Proxmox machine. And I say that as someone familiar with Docker, too; HAOS just works.

The second issue that I found, but makes total sense, is that running Home Assistant in this way means that services that might be picked up by Bonjour/mDNS aren't detected, unless you specifically enable host networking. Even then, people have run into all kinds of issues getting that working, and given how integral mDNS is to Home Assistant, it can be a mess to try and get it working properly. I eventually gave up running the Container version and set up HAOS on Proxmox, and it's so much easier. Running it in a VM means that the VM can request an IP from your router's DHCP and havei ts own networking, where mDNS will just work. After all this, I realized that I should have just started with it in a TrueNAS VM instead.

It raises the bar for smart home products

Tuya used to be good enough, but now I can't stand it

Nanoleaf Essentials A19 | E26 Smart Bulb set to the color red

I never had a lot of smart home products, but the ones that I did have were controlled by proprietary applications, such as the Tuya app in the case of my plugs and lights, and the Govee app for my lights, too. These worked fine, and I used the Tuya app practically every day for the light in my room. While Google Assistant support meant that I could also use voice controls, I still had to the app frequently. And, frankly, the app isn't great.

However, fast forward to over a year on from my initial Home Assistant venture, and I've been spoiled. Controlling my Tuya-based lights through Tuya Local is perfect, and I can turn them on and off even if my internet connection is down. My morning light turns on whenever my phone's alarm goes off, and I can turn on and off the light with a smart switch that I keep on my bedside table. Everything about this is so much better than just using the Tuya app, and has meant that when I buy a new smart light, I make sure that if it has Tuya, I can bring it into Tuya Local and then block it on my network.

I used to be completely happy to just buy a Tuya light and use it as-is, so it's pretty interesting to look at how I used to feel versus my requirements that i have now. While I'm now significantly more focused on privacy and security than I would have been back then, even from a feature point of view, the Tuya app just can't compare.

If you're using Zigbee, go straight to Zigbee2MQTT

Not Zigbee Home Automation

Zigbee devices are great, and I have quite a few of them at this point. However, they require a dongle to work, so depending on your virtualization method, it might require a bit of work to get up and running. However, I have a better suggestion: instead of using the Zigbee Home Automation integration in Home Assistant, use Zigbee2MQTT instead.

Zigbee2MQTT requires being set up in another container alongside an MQTT server, but you can set up both as Home Assistant add-ons if you'd prefer. I don't personally recommend it (spreading out services can be better for your smart home overall), but it will work just as well. Zigbee2MQTT has better compatibility with Zigbee devices, and where I had issues with data reporting and disconnects in Zigbee Home Automation, Zigbee2MQTT handled them perfectly.

When switching over, I had to rebuild my entire Zigbee network. That's why I wish I knew it before I started, as I had a Zigbee Home Automation setup before I eventually threw in the towel and migrated over.

Time spent building and debugging

Automations can be time consuming at first

home-assistant-proxmox-tines-automation

Home Assistant, for all its amazing capabilities, isn't a perfect piece of software, either. There's a lot of work that goes into making it all flow nicely, especially when it comes to automations. Linking up services can sometimes be difficult or confusing, and sometimes things won't work and the reason won't always be clear. Going through logs can be cumbersome and difficult, and sometimes, things just don't work and it's not clear why.

While it's not an issue for getting basic stuff set up, be prepared to learn a lot when it comes to doing anything more advanced. Templates, for example, are powerful tools that require knowledge of syntax and processing data, and are written in Jinja2 format. Even as an experienced programmer, Jinja2 can be quite difficult to wrap my head around at times, and it doesn't help that nesting Jinja2 templates inside of YAML can make things more incomprehensible.

As a result, I often end up doing a lot of research when writing a function that uses a template in an automation. It takes time, and if you're looking to do more advanced things in Home Assistant, then be prepared to spend some time on figuring out why it doesn't work. Developer tools are your friend in Home Assistant, as you can identify entities and their current states and attributes, and you can write basic templates to check your syntax and see if it pulls exactly what you want. Oh, and use traces. They're in the top right of the automation builder and one of the most important tools to make use of when building a new automation. It'll show you exactly what happens when your automations run, what variables changed, and if something failed, what exactly failed.

Buying new hardware can be addicting

New sensors, servers, and microcontrollers

My journey with Home Assistant began with a basic Zigbee dongle, some Zigbee temperature and humidity sensors, and all of my old smart devices that I had used with Tuya, like my lights. The purchase of the Zigbee dongle and sensors was done specifically to wade into the shallow end of home automation, but has since turned into a full-fledged hobby with further investments — both in a monetary sense and a time sense.

I've spent a lot of time playing with Proxmox as a result, deployed my own OPNsense platform, and turned old mini PCs into Proxmox nodes as well. While those aren't related to Home Assistant, it all started with Home Assistant, and served as a catalyst to send me down the home automation rabbit hole. I've certainly learned a lot, but I've spent countless hours on these things already. Not to mention the literal days I spent on reverse engineering a set of Govee Bluetooth lights just so I could integrate them into Home Assistant.

In a monetary sense, I've spent money on new sensors to connect to my network, more smart plugs, more smart lights, and other investments here and there. It's a hobby like any other, so it's not a problem, but I also didn't really expect to become so invested so quickly. I love how much I've learned, and it's enabled me to go down the path of developing microcontrollers and honing my skills in reverse engineering and hardware control. Just be prepared, because I absolutely wasn't.

I wouldn't ask for my time or money back

Despite all of this, I don't regret any of the time or money I've spent on working with Home Assistant. It's been incredibly educational, exciting, and there have been many aspects of my life that have been improved. While I've spent hours on these configurations (which I've enjoyed spending time on), I'm sure I've also got back some of that time thanks to the automations it's enabled me to build. My light turning on in the morning gets me out of bed faster, my ePaper display keeps me on task and ensures I finish my work in a timely fashion, and my voice assistant powered by an LLM that understands the context of my questions saves me needing to stop, take out my phone, and look for exactly what I need.

To some it's a waste of time, but to others who enjoy it, it's a hobby. Both can be considered true at the same time, as plenty of hobbies are a waste of time. The difference is that Home Assistant doesn't have to be just a waste of time; it can save you time, teach you a lot, and serve as an example of the amazing feats the open source community can pull off.

Read Entire Article