Home Assistant Core installatie in Debian 10 (Buster) met Python In dit document wordt beschreven hoe je Home Assistent Core kan installeren door middel van Python in Debian 10 (Buster). Home Assistant Core bevat dus niet de Supervisor en de add-ons. Python installeren Op het moment van schrijven is voor Home Assistant Python 3.9 nodig. In Debian 10 hebben we standaard alleen de beschikking over Python 2.7 en Python 3.7. Je kan met onderstaand commando controleren welke versies van Python geïnstalleerd zijn in Debian: ls /usr/bin/python* De actieve Python versie kan je controleren met: python -V Hoe je de nieuwste Python 3.9 versie kan installeren vanuit source staat beschreven in het artikel Python installeren vanuit source in Debian 10 . Hoe je de standaard Python versie kan instellen en kan wisselen van Python versie staat beschreven in het artikel Default Python versie wijzigen in Debian 10 . Overige benodigde pakketten installeren Onderstaande uitvoeren om de rest van de benodigde pakketten te installeren: apt-get install libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 sudo Gebruiker aanmaken voor Home Assistant We gaan nu een gebruiker aanmaken speciaal voor Home Assistant: useradd -rm -s /bin/bash homeassistant -G dialout Bovenstaand commando maakt de gebruiker homeassistant aan, maakt de home directory /home/homeassistant aan en voegt de gebruiker toe aan de groep dialout. Virtuele Python omgeving aanmaken Je kunt in Python een virtuele omgeving maken die onafhankelijk draait van de rest. Het voordeel is dat je eventueel verschillende Python versies naast elkaar kan draaien. Voor Home Assistant maken we een virtuele omgeving aan in de directory /srv/homeassistant. De configuratie bestanden van Home Assistant komen te staan in /home/homeassistant. We gaan eerst het Python pakket pip updaten (pip is de package installer voor Python) en vervolgens het pakket virtualenv voor het maken van de virtuele Python omgeving. We gaan in onderstaande handelingen uit van een geïnstalleerde Python 3.9 ve rsie. python3.9 -m pip install --upgrade pip pip3 install virtualenv We voeren het volgende uit om de directory aan te maken en de gebruiker homeassistant eigenaar te maken van deze directory: cd /srv mkdir homeassistant chown homeassistant:homeassistant homeassistant Vervolgens gaan we de virtuele Python omgeving maken. Dit doen we onder de gebruiker homeassistant. Let op dat je de juiste python versie kiest, in ons geval python3.9. Je kunt het juiste pad controleren op de commandline met: which python3.9 sudo -u homeassistant -H -s cd /srv/homeassistant virtualenv --system-site-packages -p /usr/local/bin/python3.9 /srv/homeassistant source bin/activate Merk op dat we in de virtuele omgeving zitten door de prompt die je nu ziet. In mijn geval is dat (homeassistant) homeassistant@hass:/srv/homeassistant$ Nu de virtuele omgeving is aangemaakt kunnen we nog een benodigd Python pakket installeren met: python3 -m pip install wheel En uiteindelijk installeren we Home Assistant Core met: pip3 install homeassistant Start Home Assistant Core nu eenmalig door: hass De installatie wordt nu afgemaakt en de configuratie directory /home/homeassistant/.homeassistant wordt ook aangemaakt. Je kunt nu met je webbrowser naar http://:8123 om de eerste gebruiker aan te maken voor Home Assistant. Let op dat het even kan duren voordat je dit scherm krijgt. Home Assistant is dan nog niet klaar met de installatie, dus heb even geduld. Wanneer je kan inloggen en Home Assistant werkt, dan kan je het nu afbreken met Control-C . Verlaat de virtuele Python omgeving nu met exit of . Home Assistant Core automatisch starten met systemd We maken nu een bestand aan zodat Home Assistant automatisch start bij het opstarten van de PC. Open de editor: nano /etc/systemd/system/home-assistant@homeassistant.service Hier plaatsen we het volgende in: [Unit] Description=Home Assistant After=network-online.target [Service] Type=simple User=%i WorkingDirectory=/home/%i/.homeassistant ExecStart=/srv/homeassistant/bin/hass -c "/home/%i/.homeassistant" [Install] WantedBy=multi-user.target Vervolgens voeren we het volgende uit: systemctl --system daemon-reload systemctl enable home-assistant@homeassistant.service systemctl start home-assistant@homeassistant.service Controleer of de service nu actief is met: systemctl status home-assistant@homeassistant.service Home Assistant updaten Er komen regelmatig nieuwe updates uit van Home Assistant. De update kan vanaf de commandline uitgevoerd worden binnen de virtuele Python omgeving. We doen dit onder de gebruiker homeassistant en gaan daarna naar de virtuele omgeving: sudo -u homeassistant -H -s cd /srv/homeassistant source bin/activate Controleer of je ook daadwerkelijk in de virtuele omgeving zit door de juiste prompt die je krijgt: (homeassistant) homeassistant@hass:/srv/homeassistant$ Daarna kunnen we Home Assistant updaten met het commando: pip3 install --upgrade homeassistant Als dit succesvol is verlopen kan je de virtuele omgeving verlaten met of exit. Hierna dient men Home Assistant te herstarten met: systemctl restart home-assistant@homeassistant.service Automatisch naar virtuele omgeving gaan voor homeassistant Om niet iedere keer bovenstaande handelingen uit te hoeven voeren als je Home Assistant wilt updaten kunnen we het bestand ~/.bashrc gebruiken in de home directory van homeassistant. Hiervoor gaan we eerst naar de home directory toe: cd /home/homeassistant Onderstaande commando’s zorgen ervoor dat er twee regels toegevoegd worden in het bestand .bashrc die er voor zorgen dat we direct in de virtuele omgeving zitten zodra we inloggen met de gebruiker homeassistant: sh -c 'echo "cd /srv/homeassistant" >> ~/.bashrc' sh -c 'echo "source /srv/homeassistant/bin/activate" >> ~/.bashrc' Log nu in als gebruiker homeassistant met: sudo -u homeassistant -H -s Je zou nu in de virtuele omgeving moeten zitten, herkenbaar aan de prompt. Bronnen Home Assistant – Installation Autostart using systemd Updating Home Assistant