NOTE: The links to Amazon in this guide provide a commission. For most of the items if you just search the name on Amazon you can find them without my links - but the commission does not impact the cost of the item and helps support this channel. Thanks!
I have been slowly working to take more control over devices in my house, and a big step to that was moving to Home Assistant. It can be a little painful if you already have a lot of smart devices, because not everything works perfectly, and in some cases you still need to use the manufacturer’s app along with Home Assistant. I have been slowly converting devices, and when I add new ones it is really easy to check compatibility on the Home Assistant website.
But there are a lot of benefits too. The customizations and optimizations are endless. You can build your own dashboards and automations tailored to your specific needs. And if you are familiar with Docker you can get it running really really fast! Even if you are not familiar with Docker it is really easy. I have a few guides on getting Docker installed on Linux which I’ll link below. I also use Portainer which is a GUI to Docker which I cover in my guides as well.
Keep in mind that for Home Assistant to be available, whatever PC you install it on must be left on. I have a lot of things running in Docker so I have a dedicated PC that stays on all the time and that is where I typically install these types of things. The minimum requirements are fairly low. If you have a modern-ish CPU, 4-8G of RAM, and 32G of storage you are basically good to go. For my setup I started with a BeeLink MiniPC that I’ve been using for years. It has a 4C Atom based CPU which seems to pack plenty of power for this. I upgraded the ram to 32G and added a 2T SSD. It gets the job done.
I also added a SONOFF Zigbee Dongle to it. This one is pretty cheap, is used by a lot in the Home Assistant community and has great reviews:
https://amzn.to/3XvuzjN (If you click this and buy it I receive a commission which helps out with my Substack and YT Channel, you can also just search SONOFF on Amazon)
Passing this device to Docker is really easy as well. Just plug it in, identify the ID and then pass it through to Docker with a single line in the docker-compose file.
To get things going open up Portainer, or if you are just using Docker create a docker-compose file and add the following:
services:
homeassistant:
container_name: homeassistant
image: "homeassistant/home-assistant:stable"
volumes:
- homeassistant_config:/config
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/serial/by-id/[YOUR ID]:/dev/ttyUSB0
environment:
- TZ=[YOUR TIMEZONE]
restart: unless-stopped
network_mode: host
volumes:
homeassistant_config:
If you do not have any devices you want to pass, you can delete out the ‘devices’ section. If you do, you need to add each of them here. To get the ID you can run the following command:
ls -l /dev/serial/by-id/
You should see a long id - something like:
usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_42b8e69e1aafed11a4da394e71c9e7b5-if00-port0
Then an arrow to where it’s mounted, for me it was ../../ttyUSB0. The device line can get a bit long, but copy and paste the ID into the docker-compose. Next, fill in your Timezone. And that’s it! You can simply deploy the docker-compose and start setting up Home Assistant. It can take a bit of time to deploy, as it first needs to download the images which are a bit big.
Once it deploys, you can access it using the IP address of the PC and the port 8123. Because we deployed it on the host network, we do not need to pass any of the ports through on Docker. For me, the PC was on 192.168.69.100, so I entered 192.168.69.100:8123 in my browser and I the “Welcome!” onboarding page showed up. At this point you should click “Create My Smart Home”
As you would expect, fill everything in and create your account. Click Next and select the location of your house.
Select whatever data you would like to share with Home Assistant. I am usually okay with sharing as it is anomymized and I like to help out since this is all provided for free. Finally you will see some devices that were automatically found, click Finish to be brought to your Overview and get started.
Some of the devices that I have that work really well are:
Shelly Plugs:
https://amzn.to/3zngtsU
These have energy monitoring which is great. They also have relays you can wire into your switches to convert them to smart switches (https://amzn.to/3XAnNcL)
ReoLink Doorbell Camera:
https://amzn.to/4eqtvVl
Love this doorbell. I still use the ReoLink app for this as they are more privacy focused. However they do have an integration which I will cover.
ReoLink 180 Degree Camera:
https://amzn.to/47AU0W4
Same as above - works great and there is an integration
BeeLink MiniPC
https://amzn.to/4e3OKfQ
I use something like this for my Home Assistant host, but it is not necessarily required if you already have a server or something you can host it on.
The guide ends here, but there is a lot of information out there on how to add devices and set up dashboards. I’ll do a few tutorials in the future on dashboard creation and customizations. There is so much to do, but I have found that adding devices and starting out with a really basic dashboard is best. Make small changes overtime and get things exactly how you want them.
Hopefully this tutorial helped!