The following installation instructions, for Home Assistant Supervised on Raspberry Pi OS, will produce an unsupported version of Home Assistant.
Why? Because official support is provided exclusively for Home Assistant Supervised on Debian and no other version of Linux (not even any derivative of Debian).
The resulting system will be marked ‘Unsupported’ and if you encounter any problems with it you may seek assistance from the community but not from the development team (who reserve the right to reject any bug reported for an unsupported system).
If you want a supported system, follow the official installation instructions for Home Assistant Supervised on Debian.
Here I leave you a guide for the installation of HA Supervised.
This guide is just intended to be use with experimental purposes, probably the best choice for most of us would be using HA OS.
Hopefully It will be useful to some of you!
Step 0: Upgrade your system
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
Step 1: Install the following dependencies with this command:
sudo apt-get install \ apparmor \ jq \ wget \ curl \ udisks2 \ libglib2.0-bin \ network-manager \ dbus \ systemd-journal-remote -y
Then reboot and wait a little bit, the Rpi will reboot a few times.
Step 2: Install docker (important! Do not install portainer, it will make your installation unhealthy and you won´t be able to install add-ons):
curl -fsSL get.docker.com | sh
Then create Docker group and add your user to the Docker group:
sudo groupadd docker
sudo usermod -aG docker $USER
Step 3: HA Supervisor depends on a particular Docker CGroup v1, so we make sure that we install it that way. (CGroup Version - Home Assistant)
To solve this problem we need to add the following lines in two different files:
A- Add “systemd.unified_cgroup_hierarchy=false” to /etc/default/grub:
sudo nano /etc/default/grub
and paste: systemd.unified_cgroup_hierarchy=false
B- Add systemd.unified_cgroup_hierarchy=false to the end of /boot/cmdline.txt.
sudo nano /boot/cmdline.txt
Step 4: Install the OS-Agent (ver. 1.4.1):
a- First: download the correspondig os-agent acording to your CPU architecture, in this case aarch64 (RPi4)
b- Second: Install the downloades package
dpkg -i os-agent_1.4.1_linux_aarch64.deb
c- Third: To check if it was installed
gdbus introspect --system --dest io.hass.os --object-path /io/hass/os
If it prints something back, everything went OK
Step 5: Get Home assistant supervised
Step 6: Install home assistant supervised
In this step if you are connected through wifi you will loose connection, you need to be using LAN!!!
dpkg -i homeassistant-supervised.deb
Step 7: If you get an error during the instalation:
sudo apt --fix-broken install
That will fix it and a blue screen will appear, choose your model of RPi
Finally wait several minutes until HA is available at http://[your_IP]:8123
If you can access HA you should reboot your Rpi and the wifi connection should be available after rebooting, if not go to the following step.
## If wifi is not working ##
Step 8: Fix the interfaces file
Remove everything but first ‘source-directory’ line in /etc/network/interfaces.
sudo nano /etc/network/interfaces
Use CTRL+K to delete lines, CTRL+O to save, and CTRL+X to exit nano editor.
Step 9: Enable dhcpcd
Enable ‘dhcpcd’ with:
sudo systemctl enable dhcpcd
Step 9: Disable networking
sudo systemctl disable networking
Step 10: Restart Raspberry Pi
Restart the Pi to have the changes take effect.
Done! WiFi should work now.
Hopefully you will be as happy as I was after figuring everything out.
Federico, PhD in biology from Argentina and nowadays living in Germany.