It’s been 5 months exactly since I first heard about Home assistant and installed it. It has a very steep learning curve, and I’m a guy who’s been a computer geek all my life, a Linux user, a hardware guy and yet still, it was really really hard.
Having said that, it’s a spectacular open source project and I’m starting to feel comfortable with it. So here are a few things that are not strictly technical in nature but just things that new users might want to consider.
-
It’s not easy, it’s going to take you a while and try not to get frustrated. The experts on this site tend to like to help other experts, I get that, that stuff is more interesting doing voice and templates etc. But they’re not quite as good at giving overviews from 30,000 ft. I happen to learn first looking at big picture and seeing how things fit together. That information is tough too get.
-
The Homeassistant guides are only moderately helpful. Each topic starts off great but then it always ends in the words “follow the instructions on the screen”. Well, half the time it’s those instructions that us newcomers need help with.
-
Get the right hardware. I wouldn’t even get a Pi4 although with external SSD storage and decent memory I suppose it’s okay. But you can get an NUC, an i5 or something equivalent with SSD storage or external NVMe storage and it’s pretty cheap.
-
If you’re new, go with the HAOS install. Forget what people tell you about Proxmox, bare metal Linux, virtual machines, Docker containers etc. It will just cause you more trouble if you’re a newcomer. I am perfectly happy with my HAOS install. Updates are simple and lots of add-ins which extend the capability of Homeassistant are included.
-
Pick your coordinator hardware carefully. Coordinators are those USB sticks that talk to all your devices although certainly some of your devices may also connect through Wi-Fi .But most things interface pretty well with ZHA (ZigBee Home Automation) or Zigbee2mqtt. I was actually successful after some struggle using two separate sticks, one for each network, and having both running on the same machine but you need to be pretty careful. The other popular communication protocol is Z-wave and that would need yet another coordinator stick. Unless there’s some device you really need that only interfaces with Z-Wave, I would stick with one of the others. However there’s no downside to having Z-Wave, The sticks are cheap enough and it gives you some additional flexibility.
-
When you purchase your computer whether it’s an RPi or an NUC, do not plug your coordinator sticks directly into that machine’s USB ports. Get a powered USB 2 hub. Yes that’s right, a USB 2 hub. And when you plug in those coordinators, the USB sticks into the USB ports, don’t plug right into the hub, use long USB high quality extension cables for each and keep them as far away from the computer and router wifi and from each other as possible to avoid interference. You also want to make sure that the hub is located somewhere central so that it can speak to the devices in your house.
-
Despite what I just said, the coordinators will probably not reach everything on their own but that’s okay. ZHA and Zigbee2MQTT create their own mesh networks, each protocol creates its own network. No sharing. That network can be extended by buying network extenders, and I have a couple, but almost any device like a switch or plug etc that is powered full-time, not battery operated, acts as an extender and builds out your network. So visualize your home, use extenders were necessary and use powered devices when possible.
8 When you’re looking for devices such as sensors, switches, plugs, bulbs, relays, TVs, valves, all those things that you want to automate, there’s a great website that list devices and their compatibility with the various protocols. The site is:
-
Always make sure you’re coordinator is updated to the newest firmware, and that goes for your end devices as well. It’s nice when a device can upgrade over the air, they can’t all and that becomes a problem because you have to take them out and flash them sometimes it’s taking them apart. Watch for that when you’re buying things.
-
Speaking of upgrades, the Homeassistant software is constantly being developed. I don’t know the numbers but it has to be one of the most active open source projects on the internet with a huge number of contributors. You are notified when updates are available. Read the release notes before installing. If they are major updates, wait a day or two and then check here to see if people are experiencing problems. Always make a backup before doing any sort of major upgrade.
-
Understand the difference between integrations, devices and entities, and understand the importance of entities. It took me a while. A device is a piece of hardware, something you can touch. An entity is an ability that a piece of hardware has (that’s a generalization because things like a weather service, weather station can have a dozen or more entities, things like temperature, humidity etc. But the weather station is not in your home, you are connected to it through an integration).
These abilities (entities) can be hidden or exposed when you first add a new device like motion sensors, switches, plugs, LED controllers, car charging stations, TVs, phone, cameras etc. Until today, I thought a lot of my devices were broken as while the motion sensor might properly expose the motion entity or room presence entity or temperature entity, none of them showed me the battery percentage. Well it turns out when you add devices there are disabled entities but you can enable them and then use them to do other things. For instance I have a Reolink camera (that’s an actual device) added through the Reolink HA Integration, and there are about 25 different entities such as zoom and pan and focus and exposure and of course the streams is themselves. So make sure you check all those entities that are hidden by default, you may need to enable them.
-
Speaking of gotchas for newbies, I only learned last week that the actual ZHA network information is not stored in Homeassistant but it’s stored on the actual ZigBee stick. While Z-Wave backs up the contents of the stick to disk with every shutdown, ZHA does not. So to the best of my knowledge, you can’t just go swapping out a new stick even if the same manufacturer, model and protocol and expecting to work. In my mind, that’s a real issue that needs fixing.
-
Homeassistant excels at allowing you to control things without going through the cloud… In other words if the internet was down, you could still have Homeassistant and all your devices up and running as long as your home network is up and running. So be careful of devices, especially no name Chinese devices because often information goes through the cloud which will slow things down, cause outages and of course has security implications. I have found everything can be done locally within my network. You may need the manufacturer’s app to do the initial setup of a new device, but after that, you want things to be local.
-
At some point you will hear about devices connected through Wi-Fi, in other words the device does not natively support ZHA or Zigbee2mqtt. That’s okay, but keep them to a minimum unless you want to end up with a lot of interference with your regular home Wi-Fi network. I think the most popular of the Wi-Fi devices are a brand called Shelly. They make high quality devices, relays and switches, but they tend to be relays that can be controlled by Homeassistant and in many cases, the most popular use case allows you to use these instead of buying smart switches, bypassing the dumb switch. It’s much cheaper and at times that’s all you need, But learn about them so you know if they are right for you.
-
Make sure you back up data to somewhere outside the machine running homeassistant, Google drive, network attached storage etc. It’s so easy to do, there’s a backup routine implemented right in the newest version of Homeassistant. You will mess up, and resetting everything, repairing devices will be a nightmare. Having a backup, you can be back up and running in 5 minutes.
-
Make sure you make daily automated backups.
-
Where you are connecting to your home network, for instance assuming your HAOS machine is part of your home network, or you have Wi-Fi or wired devices being controlled, it’s much easier to have them use static IPs… Of course for your actual HAOS computer, It should absolutely be wired by ethernet to your network, not wifi, and absolutely have a static IP.
-
Understand the difference between automations, scenes and scripts. It took me a long time, I implemented my first script today even though I’ve done quite a few automations. The script notifies my phone when any of the doors open. So I ran it manually after creating the script through a Blueprint made by a community member, and running it manually I got the message on my phone instantly. Then I went to open the door but I didn’t get the message on my phone. Stupid me. Scripts don’t run on their own at least that’s the way I understand it now. Scripts are something you can call from automations quite easily. Scripts are just reusable code.
-
Speaking of Blueprints, these are files you can import from which you can create automations or scripts. Why would you want to do that? Because some really smart people have made some fantastic Blueprints which make making automations simple. There’s one I use for almost all my lighting, the guy Blacky (Blackshome) is fantastic, the blueprint and hence the automation is so flexible and can solve almost any lighting solution. I could never have created it myself, but becoming familiar with Homeassistant Blueprints which are hosted at GitHub lets me look like a pro when I’m just a dumb schmuck.
-
There’s so much to learn and if you ask questions right providing lots of information, there are people who can probably help you out. Half the information you’ll get will be wrong, given by people who haven’t even read your post thoroughly. So be careful. There’s also several Homeassistant Facebook groups which I find not nearly as intimidating.
-
Homeassistant wouldn’t be complete without having an app for Android or iOS. It’s called the Companion app. Go to the app’s settings, there’s an extra settings sub-menu when using the Companion app which contains settings for the Companion app itself. Understand what they are and particularly understand what the entities are that you can expose so that you can do cool things like geolocating, triggering automations based on who is home or away etc.
-
Voice integration is an emerging, ever-changing crazy world, I think I will wait a year before I see how it all plays out and frankly, I don’t understand how voice is the right way to do home automation.
-
Strange as it seems, part of the success of your project will depend on the spouse factor. Test things before you implement them. Buy pretty devices, do integrations and automations that are helpful for your spouse. Don’t create lighting automation without buying proper smart switches that allow lights to turn on and off even if Homeassistant has crashed.
I hope I’ve helped out somebody with this primer. I got all sorts of responses to this post from experts telling me that I haven’t been 100% accurate or that I’ve oversimplified things. Yes that’s probably true but for a newcomer, I wish I had known these things.
[Edited to fix stuff in particular references to ZHA mistakenly confused with ZigBee]