Twenty-two things I wish I'd known

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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:

  1. 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.

  2. 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.

  3. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Make sure you make daily automated backups. :stuck_out_tongue_closed_eyes:

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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]

8 Likes

However this does allow you to swap the existing stick into a newly restored system without having to re-pair all your devices.

And copy those bakups off the system somewhere safe. Options for automating this: https://www.home-assistant.io/common-tasks/os#copying-your-backups-to-another-location

2 Likes

It also depends on the stick you’re using…
my Conbee with zigbee2mqtt stores it locally in a HA folder🤔

1 Like

I think you are underselling zwave a bit.

There’s nothing at all wrong with zwave. the devices are usually a bit more expensive but in my opinion they tend to be less flaky than some zigbee devices.

And having the availability of both protocols allows you to be more flexible with device availability - sometimes you can find something you need in one protocol that isn’t either available or even offered in the other.

Also you are using “zigbee” and “zigbee2mqtt” as if they are equivalent but different. That’s not entirely correct.

Just to clarify Zigbee is the communication protocol. Zigbee2mqtt is a separate app that uses the zigbee communication protocol to talk to the zigbee devices then send the data to HA via MQTT.

The alternative is I think you might be referring to is ZHA. Which uses the zigbee comm protocol directly in HA to talk between the zigbee devices and HA without needing an intermediary (MQTT) app to relay the data.

3 Likes

This I wish I knew posts are so typical for Americans and Canadians but truth to be said to know anything about something you have to learn it, if you don’t know it. To learn it you have to work on it or just do it.
So, I personally don’t understand this kind of mindset.
We have one good saying about this and it goes some like after s* there is no regrets.

It is an attempt to forewarn other new users and to help them avoid common pitfalls.

It is sad that you do not understand the wish to help others.

5 Likes

I didn’t say that. I said that I don’t understand mindset that goes I wish I knew this before doing this or that. This is something that doesn’t comprehend with my views.
In every human activity failure is part and important part of success. If you think that you can succeed in anything with out failing, than I think you are very, very wrong. Failure is a good thing not a bad one if you can learn from it.

You have missed the point of the post entirely, it is not a complaint or “woe is me” post. It is a post to help others:

Absolutely, should have been referring to ZHA.

1 Like

I was thinking should I replay on your post because it can lead to a flame war, but I decide to do so. And this is way.

I know and I understand intentions of original author of this thread. He thinks that he is doing a good think writing x things I wish I knew but he doesn’t. Quite the opposite. And here it is why.

Home assistant is open-source project that works on linux computer. By any means DIY project of building smart home around your linux computer in docker environment is not easy task.

This is not an average Joe project.

Things that you should consider before going to DIY smart home:

Is this project for me? If you are asking yourself this question than it is probably not for you.

Is this hard to do? Yes, it is. It requires a lot of learning, problem solving and its very time consuming.

Who will manage my installation? You are the only one that should engineer your network, your network is your own responsibility and everything that can or go wrong is your responsibility and you are the only one that must fix it.

I have years of experience using windows, will it help? Probably not.

You must understand that using home assistant means solving problems. In the beginning problems are easy, but as you progress problems will become more and more difficult. If you see in the beginning that problems, you must solve is overwhelmed for you, then you should quit and move to something else. And this is why I find posts like this will not help anyone. It will just drive people in home assistant thinking that there is a few beginners’ pitfalls that they should solve it and everything will be great. But it will not.

This can easily end with a bunch of people stuck with a lot of devices hooked on home assistant and bunch of problems that they can’t solve. Why? Because in the beginning they didn’t learn how to solve a problems and they didn’t realize all aspects of this project. And then you will have, and this is happening already, videos and posts of people that tried to do something with home assistant, had some sort of shortcut to get things going, and now they are lost in their own smart home. Whom to blame?

I’ve found after five months that everything is working well, and people at my skill level (5 of 10) are my intended targets.

Yes, I could have added other caveats like don’t use Windows and don’t do this if you are a technophobe. But your comments are perfect to give balance and warn those off. That’s a good thing.

It is when you use HAos supervised on a dedicated machine (easiest imho).
And if you run HAos supervised in an virtual environment, the installation itself becomes a bit more complex, but recovering much easier (using snapshots).
Running a virtual machine also tackles the choice between Windows or Linux, both support it :thinking:
And if you decide to go for a Windows host, zero linux knowledge is required :thinking:

However, using dockers or venv is a whole other ballgame though.

2 Likes

I never used HAos because I didn’t saw a point of doing so. I used supervised on debian but I migrate to docker.
I’m not that sure that using this on windows host equal zero linux knowledge. As i remember, there is some ssh addon to connect to your ha environment and there you will find some linux commands. But I might be wrong as I don’t use windows. Except on working place for some minor task.
But never the less, windows or no windows, this is not average joe project.
Don’t believe me? You are on this forum every day, so you can drawn conclusions.

For low-techies like myself, I strongly recommend to get the Yellow Box. It was easy to set up.

Or the Odroid N2+ also seems good. In terms of how easy it is for a beginner, and how steep is the learning curve, remember that the developers are making automations a lot easier by making improvements in the visual editor. And that can only continue,

True, but you don’t need it, especially not when onboarding (i don’t think i ever used it, at least i can’t remember🤔)

All I wanted is to point out that for onboarding you don’t need any linux knowledge.:wink:

But i agree, getting into automation is a steep learning curve, yaml even more…but not linux related…and getting better every day :grin:

PS, i migrated from W10 (vm) to debian supervised, but actually went back to a virtual HAos, as i really like the supervisor (still on debian though, and yes using ssh there :innocent:).

The Linux is learning platform. On windows you want learn anything. This is not a learning platform nor it was ever build as one. It was build to be money gathering platform for m$ and companions. For home assistant you need knowledge because if you don’t have it you wont be able to do mostly anything even on the most easiest installation.
And when average Joe install home assistant he will became frustrated as things here will not work next → next → finish. Regardless.

For Some people, Windows knowledge means they can use Microsoft Office, do Windows Updates, stuff like that. Hey, they now have WSL, so the Windows user can have lots of Linux knowledge on his MS$ machine. So what is it that they really need? I’m not sure.

1 Like

There is one major difference between Linux and windows users. Linux users mostly learned reading documentation because this is essential thing on linux. Without it there is hardly any chance you will setup things on linux. Windows users mostly doesnt use documentation because they dont need it, or just think that they don’t need it.
For home assistant you will at least have to learn how to read documentation. And by reading documentation I don’t mean literally read it, I mean read it with understanding and implement this in you system. And this is not easy task to begin with.

i think we should stop discussing windows and linux. It just happens that HA runs on Linux, but its UI would be the same on Windows.
On what OS it runs is totally irrelevant.

Agree, MS is easier for most users, but only until a certain level. After that is becomes just as complex as Linux (on which i am pretty OK too)

I work on MS platforms professionally (so just for clarity, i am NOT a windows user, but admin and developer), but use Linux at home, and do that now for 30 or more years (hell, i started on commodore basic and AmigaOS 40 years ago :joy:)

4 Likes