From the Home Assistant project page:

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.

Currently there aren't official Debian packages; see this bug report.


Initial Debian LXC container install on Turris Omnia

This assumes /srv/lxc is the mount point for LXC storage.

  1. Login to your router as root, create the LXC container:
    # lxc-create -t download -n lxc-ha

  2. You will need to specify Debian, Buster and armv7l as the choice for Linux distribution and platform.

  3. Start the newly created container and configure its hostname (we'll use ha), the reboot it:
    # lxc-start -n lxc-ha
    # lxc-attach -n lxc-ha
    # echo ha > /etc/hostname
    # reboot

  4. Get the MAC address from the network interface using the ip a command, this will be used to assign an address on your DHCP server. Reboot the container and verify it's been assigned the desired IP address.

  5. Optionally install byobu (tabbed multi-window management in terminal sessions), nano (text editor) and openssh-server on the LXC container itself, this will make it easier to remotely manage it:
    # apt install byobu openssh-server nano && byobu-enable

  6. Don't forget to harden your SSH server installation and use only public key authentication, specially if your Home Assistant server will be accessible on a public network!

Installing the required dependencies and Home Assistant

  1. Several packages are required before installing Home Assistant:
    # apt install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev sudo ash

  2. Two groups may be needed when dealing with GPIO and i2c devices. A new user used to run Home Assistant then needs to be created and added to such groups:
    # groupadd gpio
    # groupadd i2c
    # useradd -rm homeassistant -G dialout,gpio,i2c

  3. Next we'll create a directory for the installation and assign proper rights to it:
    mkdir -p /srv/homeassistant && chown homeassistant:homeassistant /srv/homeassistant

  4. Next up is to create and change to a virtual environment. This will be done as the homeassistant account:
    # sudo -u homeassistant -H -s
    $ cd /srv/homeassistant
    $ python3 -m venv .
    $ . bin/activate

  5. Once you have activated the virtual environment (notice the prompt change) you will need to run the following command to install a required python package.
    (homeassistant) homeassistant@ha:/srv/homeassistant $ python3 -m pip install wheel

  6. Once you have installed the required python package it is now time to install Home Assistant! This may take 5-10 minutes as it download and installs libraries and dependencies and is only required once.
    (homeassistant) homeassistant@ha:/srv/homeassistant $ pip3 install homeassistant

  7. Start Home Assistant for the first time. This will complete the installation for you, automatically creating the .homeassistant configuration directory in the /home/homeassistant directory, and installing any basic dependencies:
    (homeassistant) $ hass

You can now reach your installation on your network over the web interface on http://ipaddress:8123.

For more details and for automatic startup of your Home Assistant installation, make sure you fully read and understand the official manual installation instructions for a RaspberryPi, in a Python virtual environment.