Home Assistant
Home Assistant stand for Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
Which Home Assistant edition?
Home Assistant comes in different flavours and so called editions.
There are three ways:
- Dedicated hardware
- Virtual Machine
- Docker container
The docker container approach has some limitations, like being unable to manage add-ons, which is quite limiting. The Virtual Machine approach can be useful if you don't have or don't want to use dedicated hardware, but it comes with the downside or requiring USB pass-trough for hardware devices like ZigBee/Z-Wave, modbus or similar devices.
I choose to use dedicated hardware because i want my smart home to be independent from my home-server services. In a way, the smart home needs to be operative even if/when my home IT services are down or the internet is not working.
Where to run Home Assistant
Home Assistant offers different ways to self-host a standalone instance of Home Assistant on dedicated hardware. The easiest, which is also a good way to support the project itself, is tu buy a Home Assistant Green or Home Assistant Yellow.
The green is a fully functional hardware with small form factor ready to plug & run. The yellow is quite similar, but you provide yourself a Raspberry Pi4 CPU board.
I choose to self-host Home Assistant on my own hardware, i picked an oldish laptop to leverage the low-power conusmption. As requirements, i can recoment the following:
- One wired ethernet card (as WiFi will interfere with ZigBee and similar networks)
- 8GB RAM (officially, 2GB is the minimm required)
- Any (even small) SSD/NVWE. A traditional HDD will also do the job, but be more power hungry.
- At least one, better two or three, USB ports
You can place this computer in a strategic point in your house, to maximize the ZigBee or Z-Wave rage and signal distribution. You can start anywhere, and then move it if needed, this is specially easy on a laptop where you don't have to power it down.
Install Home Assistant
Follow the official installation instructions which are well written and comprehensive. I suggest you use an USB stick for the installation, or leverage an existing linux installation on the target machine.
As a general note, Home Assistant does not provide an installer. So, you don't actually install it, rather you image it on the target hard drive.
I already had a Linux installed, so i just downloaded the IMG file from Home Assistant download page and flashed it with a typical:
dd if=home-assistant.img of=/dev/sda
Beware: the above command will destroy your computer operating system and replace it with Home Assistant. You will not even be able to reboot, only power cycling will work.
Make sure your wired network is plugged, as after the first boot you will need to fire up a web browser and locate your Home Assistant IP (see your DHCP logs…). In any case, you can check Home Assistant console output on Home Assistant computer screen: it should tell you which IP address it is using. You can also perform basic maintanance tasks, which includes IP changes, from this CLI.
Setup Home Assistant
The initial setup is described in detail on these pages, you should follow it carefully to get started.
Some notes:
- Choose a static IP
- Choose a nice hostname (ex: ha.mydoimain.com)
Then you should plug-in your protocol dongles, for example your ZigBee coordinator and set those up as well. See the dedicated pages.
At this point you can start designing your rooms and areas. I suggest you define at this point all the floors and rooms that you have, so adding devices, lights and switches will be easier later on.
You will want to install the File Editor extension, and sooner or later you will need to edit your configuration.yaml file by hand.