Skip to content

Instantly share code, notes, and snippets.

@renatoccosta
Last active November 5, 2024 12:17
Show Gist options
  • Save renatoccosta/c30f0b4216c8caaf1f202b0a0561b5d3 to your computer and use it in GitHub Desktop.
Save renatoccosta/c30f0b4216c8caaf1f202b0a0561b5d3 to your computer and use it in GitHub Desktop.
Install Home Assistant on OrangePi 5

Installing Home Assistant on OrangePi 5 Board

This tutorial will enable the use of Home Assistant on an OrangePi 5 board with the following characteristics:

  • OrangePi Debian OS

  • OS running on a SDCard

  • Home Assistant Supervised Instalation

The steps are a compilation with few modifications from instructions found over the web. Links are at the end.

  1. Download Debian image from http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-pi-5.html

  2. Select latest server release. Bullseye on publication of this tutorial

  3. Unzip file and burn it to SDCard.

  4. Stick SDCard into board and start it. It takes just a few seconds to complete startup.

    • SSH is enabled by default, you can use it to access. Username: orangepi, Password: orangepi

  5. Run the following commands as root (sudo su -). Root password orangepi

  6. Update packages

    apt update
    apt upgrade
  7. Install required packages

    apt install \
    apparmor \
    jq \
    wget \
    curl \
    udisks2 \
    libglib2.0-bin \
    network-manager \
    dbus \
    lsb-release \
    systemd-journal-remote -y
  8. Run orangepi-config

    1. System → Bootenv. Add the following lines:

      extraargs=apparmor=1 security=apparmor
      systemd.unified_cgroup_hierarchy=0

      The lines enable AppArmor and CGroupV1 respectively

    2. Save it, then Install

    3. Reboot for changes to take effect

  9. Alternatively you can execute the following commands

    echo "extraargs=apparmor=1 security=apparmor" >> /boot/orangepiEnv.txt
    sed -i -e "1 s/$/ systemd.unified_cgroup_hierarchy=0/" /boot/orangepiEnv.txt
    update-initramfs -u
    reboot
  10. After reboot, check

    • Apparmor

      systemctl status apparmor.service

      You should see a line saying active (excited)

    • Cgroup

      findmnt -lo source,target,fstype,options -t cgroup,cgroup2

      You should see many lines with cgroup in source column

  11. Run as root sudo su -

  12. Install DockerCE

    curl -fsSL get.docker.com | sh
  13. Install Home Assistant OS Agent

    1. Download and install the latest version from https://github.com/home-assistant/os-agent/releases/latest. Look for aarch64.deb file. For instance:

      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
    2. Test instalation by running

      gdbus introspect --system --dest io.hass.os --object-path /io/hass/os

      Some results in JSON format should be returned

  14. Install Home Assistant Supervised

    wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
    apt install ./homeassistant-supervised.deb
    1. When prompted, select qemuarm-64 machine type. I’m not sure that’s the best option, but it works.

  15. Just wait until instalation is completed (it should take a few seconds). Some warnings are excpected, since this OS is a custom Debian build.

    1. Try to access http://orangepi5.local:8123. It should work, if not use host IP. If it still doesn’t work reboot machine and try again. If it still doesn’t work, go back to step 1 and review everything.

@Rooba
Copy link

Rooba commented Jul 12, 2024

I had an issue while trying to install:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'homeassistant-supervised' instead of './homeassistant-supervised.deb'
The following NEW packages will be installed:
  homeassistant-supervised
0 upgraded, 1 newly installed, 0 to remove and 61 not upgraded.
Need to get 0 B/7,440 B of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 /tmp/homeassistant-supervised.deb homeassistant-supervised all 1.8.0 [7,440 B]
Preconfiguring packages ...
Selecting previously unselected package homeassistant-supervised.
(Reading database ... 219022 files and directories currently installed.)
Preparing to unpack .../homeassistant-supervised.deb ...
[warn]
[warn] If you want more control over your own system, run
[warn] Home Assistant as a VM or run Home Assistant Core
[warn] via a Docker container.
[warn]
Adding 'diversion of /etc/NetworkManager/NetworkManager.conf to /etc/NetworkManager/NetworkManager.conf.real by homeassistant-supervised'
Adding 'diversion of /etc/NetworkManager/system-connections/default to /etc/NetworkManager/system-connections/default.real by homeassistant-supervised'
Adding 'diversion of /etc/docker/daemon.json to /etc/docker/daemon.json.real by homeassistant-supervised'
Adding 'diversion of /etc/network/interfaces to /etc/network/interfaces.real by homeassistant-supervised'
Leaving 'diversion of /etc/systemd/resolved.conf to /etc/systemd/resolved.conf.real by homeassistant-supervised'
Unpacking homeassistant-supervised (1.8.0) ...
Setting up homeassistant-supervised (1.8.0) ...
[info] Reload systemd
[info] Restarting NetworkManager
[info] Enable systemd-resolved
dpkg: error processing package homeassistant-supervised (--configure):
 installed homeassistant-supervised package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 homeassistant-supervised
E: Sub-process /usr/bin/dpkg returned an error code (1)

Managed to fix this by first removing the package sudo dpkg --remove homeassistant-supervised and then running sudo apt reinstall systemd-resolved

@zhekch You could try running /var/lib/dpkg/info/homeassistant-supervised.postinst directly and it should tell you what the error output is since dpkg consumes it

@PeterGamma
Copy link

Since Corona we don t trust Raspberry Pi anymore. It is highly desirable to have Home Assistant on the Orange Pi 5 as an alternative.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment