I installed Home Assistant supervised on an Orange Pi 3B one week ago. So far so good, here’s the story.
This is not an officially supported solution.
Why
I was trying to find a sweet spot to run Home Assistant with all features on a dedicated system. I only want to run core home automation logic on this system, and use separate hardware for advanced and exotic services.
I believe that Orange Pi provides a good alternative to Raspberry Pi in general and looking at other reference hardware, I believe that the OrangePi 3B provides all I should need at a very reasonable price.
Hardware: OrangePi 3B
- OrangePi 3B
- 64Gb eMMC (the official module for Orange Pi 5 Plus / Orange Pi 3B*)
Total cost $50 including case (below), which is half the price of the Home Assistant green with exactly the same specs (I have more eMMC)
Bonus: the OrangePi 3B also comes with Wifi and Bluetooth interface (and antenna which is typically not pictured).
OS: Armbian
It’s specialized for ARM boards and likely to provide the best performance for Home Assistant on your Orange Pi 3B.
It won’t be officially supported by Home Assistant, but only vanilla Debian is anyway, the Debian distro for Orange Pi would be our next best choice, that should be close enough.
Accessoires
Case: Used this aluminium case Geekworm Orange Pi 3B Case with Fan & Heatsink (N510) which costs less than USD $10 and is really nice. But the fan is noisy and not usefull for this use case, so I removed it. If I were to add one, I would go for a JST 1.25mm 2-pin so I can use the dedicated plug on the Orange Pi board.
Zigbee dongle: Sonoff ZBDongle-E
1. Install Arabian on Orange Pi 3B eMMC
Debian-based Bookworm latest release at the time. Download here: Orange Pi 3B – Armbian
- Used Balena Etcher
- First boot HDMI output not working but found on network (ETH wired to my rooter)
- ssh in with root/1234
Change root password and all…
2. Copy OS to eMMC
With root user:
/usr/sbin/nand-sata-install
Select ext4 file system.
Shut down after install.
** 3. System upgrade**
sudo apt-get update
sudo apt-get upgrade
reboot
4. Firmware Update and restart
Use the armbian-config utility to update the firmware:
armbian-config
In the interactive menu, select System>Firmware
Ready to go!
5. Install Home Assistant Supervised
Installed logged in as root
5.1 Update the OS name
Only Debian is supported by HA supervised, so we need to fake the OS name, otherwise install will fail on check:
in /etc/os-release update ARMBIAN_PRETTY_NAME:
ARMBIAN_PRETTY_NAME="Debian GNU/Linux 12 (bookworm)
5.2 Give a host name if you like
hostnamectl set-hostname yourhomeassistant
5.3 Configure AppArmor and cgroupv1
I am not going to explain what and why, this has beed discussed here before (see links below).
apt install apparmor
echo "extraargs=apparmor=1 security=apparmor systemd.unified_cgroup_hierarchy=false systemd.legacy_systemd_cgroup_controller=false" >> /boot/armbianEnv.txt
update-initramfs -u
reboot
Check if that worked:
systemctl status apparmor.service
aa-status
5.4 Install Home Assistant Supervised
Essentially follow the official instructions there: GitHub - home-assistant/supervised-installer: Installer for a generic Linux system.
Install dependencies:
apt-get install jq wget curl udisks2 libglib2.0-bin network-manager dbus apparmor-utils systemd-journal-remote lsb-release systemd-resolved -y
Install OS Agent:
wget https://github.com/home-assistant/os-agent/releases/download/1.5.1/os-agent_1.5.1_linux_aarch64.deb
dpkg -i os-agent_1.5.1_linux_aarch64.deb
Install Docker CE:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
Install Home Assistant Supervisor:
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb
Chose raspberrypi4-64
After a few minutes on port :8123, I get the “Preparing Home Assistant” screen.
Installs in about 5mn
6. Post installation fixes
I have two issues after installation
- Unhealthy system - Unprivileged
- Unsupported system - systemd-resolved issues
…Which I think was really one and was resolved by enabling systemd-resolved.service and a network restart:
systemctl enable systemd-resolved.service
systemd-resolve --flush-caches
/etc/init.d/networking restart
reboot
7. Connect to a wifi network
Well, since we have wifi, let’s see if it works.
List the wifi networks available where I am with:
nmcli dev wifi list
And connect to your network:
nmcli dev wifi connect '<SSID>' password '<PASSWORD>'
Summary
No warnings, freeze or unexpected behaviour. The system takes about 20 seconds to boot and one minute start all Home Assistant services.
I haven’t deployed a full scale home automation yet, but I have been playing around quite a bit with the system, countless plugin install and sudden restarts, nothing I can complain about…
I hope someone find this helpful and any feedback is welcome!