Voraussetzung ist eine Python3.8 Installation. Debian 10 bringt leider nur Python3.7 mit, welche auch installiert sein sollte. Home Assistant ist damit zwar scheinbar noch lauffähig, allerdings spuckt die Installation einige Fehler und Warnmeldungen aus.
Daher installieren wir zusätzlich zur 3.7 erstmal manuell die Version 3.8.
sudo apt-get update sudo apt-get upgrade -y sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5
Eine detaillierte Anleitung zur Installation von Python 3.8, verfasst von Pascal Roeleven, der auch die Python 3.8 backports bereitstellt, findet sich unter folgendem link in der Home Assistant Community.
Daher hier nur eine schnelle Kurzzusammenfassung. Falls etwas nicht klappt, im obigen Link nachschauen.
Zuerst den PGP-key für APT bereitstellen
wget https://pascalroeleven.nl/deb-pascalroeleven.gpg sudo apt-key add deb-pascalroeleven.gpg
Anschliessend die APT-Quellen aktualisieren, d.h. folgenden Eintrag zur /etc/apt/souces.list hinzufügen ..
deb http://deb.pascalroeleven.nl/python3.8 buster-backports main
… und direkt Python3.8 installieren
sudo apt update sudo apt install python3.8 python3.8-venv python3.8-dev
Jetzt kann’s mit der Installation von Home Assistant losgehen.
Home Assistant wird als neuer Nutzer mit eigenem Homeverzeichnis installiert:
sudo useradd -rm homeassistant
Während die Konfigurationsdateien später im home landen, wird Home Assistant selber in einem virtuellen Python-Environment im Verzeichnis /srv/homeassistant/ installiert.
Dazu ersteinmal das Verzeichnis erstellen und die Rechte dem neuen Nutzer homeassistant zuweisen.
cd /srv sudo mkdir homeassistant sudo chown homeassistant:homeassistant homeassistant
Die Installation wird dann in dem virtuellen Python Environment als Nutzer homeassistant durchgeführt. Wir wechseln also den Nutzer, gehen in das Installationsverzeichnis, installieren die virtuelle Python3.8 Umgebung und wechseln dann in diese hinein.
sudo -u homeassistant -H -s cd /srv/homeassistant python3.8 -m venv . source bin/activate
noch schnell ein notwendiges Python-Paket installieren mit
python3 -m pip install wheel
und im Anschluss
pip3 install homeassistant
et voilà! … naja, fast. Prinzipiell kann Home Assistant jetzt direkt über die Kommandozeile mittels Eingabe von hass gestartet werden. Aber wenn wir schonmal dabei sind, dann richtig.
Erstmal wechseln mit exit wieder zurück zu unserem eigenen Account.
Damit Home Assistant mit jedem Neustart des Rechners automatisch aktiviert wird, erstellen wir das System-Startscript /etc/systemd/system/homeassistant.service mit folgendem Inhalt:
[Unit] Description=Home Assistant After=network-online.target [Service] Type=simple User=homeassistant WorkingDirectory=/home/homeassistant/.homeassistant ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant" Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
Dieses script wird nun noch aktiviert und direkt gestartet:
sudo systemctl --system daemon-reload sudo systemctl enable homeassistant sudo systemctl start homeassistant
Home Assistant ist jetzt aktiv und lauscht auf port 8123.
http://mei.ne.ip:8123/
Der erste Start dauert allerdings ein wenig, es kann also sein, dass die Verbindung nicht auf Anhieb klappt.
Um Home Assistant später zu aktualisieren
sudo -u homeassistant -H -s cd /srv/homeassistant source bin/activate pip install --upgrade homeassistant