{"id":11,"date":"2021-01-17T14:08:03","date_gmt":"2021-01-17T14:08:03","guid":{"rendered":"https:\/\/blog.jantle.de\/?p=11"},"modified":"2021-01-17T15:42:38","modified_gmt":"2021-01-17T15:42:38","slug":"home-assistant-core-haendisch-installieren","status":"publish","type":"post","link":"https:\/\/blog.jantle.de\/?p=11","title":{"rendered":"Home Assistant core h\u00e4ndisch installieren"},"content":{"rendered":"\n<p>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\u00e4hig, allerdings spuckt die Installation einige Fehler und Warnmeldungen aus.<br>Daher installieren wir zus\u00e4tzlich zur 3.7 erstmal manuell die Version 3.8.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">sudo apt-get update\nsudo apt-get upgrade -y\nsudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5<\/pre>\n\n\n\n<p>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 <a href=\"https:\/\/community.home-assistant.io\/t\/home-assistant-core-python-3-8-backport-for-debian-buster\/234859\">Home Assistant Community<\/a>.\n<br>Daher hier nur eine schnelle Kurzzusammenfassung. Falls etwas nicht klappt, im obigen Link nachschauen.<\/p>\n\n\n\n<p>Zuerst den PGP-key f\u00fcr APT bereitstellen<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">wget https:\/\/pascalroeleven.nl\/deb-pascalroeleven.gpg\nsudo apt-key add deb-pascalroeleven.gpg<\/pre>\n\n\n\n<p>Anschliessend die APT-Quellen aktualisieren, d.h. folgenden Eintrag zur \/etc\/apt\/souces.list hinzuf\u00fcgen ..<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">deb http:\/\/deb.pascalroeleven.nl\/python3.8 buster-backports main<\/pre>\n\n\n\n<p>&#8230; und direkt Python3.8 installieren<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">sudo apt update\nsudo apt install python3.8 python3.8-venv python3.8-dev<\/pre>\n\n\n\n<p>Jetzt kann&#8217;s mit der Installation von Home Assistant losgehen.<\/p>\n\n\n\n<p>Home Assistant wird als neuer Nutzer mit eigenem Homeverzeichnis installiert:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">sudo useradd -rm homeassistant<\/pre>\n\n\n\n<p>W\u00e4hrend die Konfigurationsdateien sp\u00e4ter im home landen, wird Home Assistant selber in einem virtuellen Python-Environment im Verzeichnis\u00a0<code>\/srv\/homeassistant\/<\/code>\u00a0installiert.<\/p>\n\n\n\n<p>Dazu ersteinmal das Verzeichnis erstellen und die Rechte dem neuen Nutzer\u00a0<code>homeassistant<\/code>\u00a0zuweisen.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">cd \/srv\nsudo mkdir homeassistant\nsudo chown homeassistant:homeassistant homeassistant<\/pre>\n\n\n\n<p>Die Installation wird dann in dem virtuellen Python Environment als Nutzer <code>homeassistant<\/code>\u00a0durchgef\u00fchrt. Wir wechseln also den Nutzer, gehen in das Installationsverzeichnis, installieren die virtuelle Python3.8 Umgebung und wechseln dann in diese hinein.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">sudo -u homeassistant -H -s\ncd \/srv\/homeassistant\npython3.8 -m venv .\nsource bin\/activate<\/pre>\n\n\n\n<p>noch schnell ein notwendiges Python-Paket installieren mit<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">python3 -m pip install wheel<\/pre>\n\n\n\n<p>und im Anschluss<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">pip3 install homeassistant<\/pre>\n\n\n\n<p>et voil\u00e0! \u2026 naja, fast. Prinzipiell kann Home Assistant jetzt direkt \u00fcber die Kommandozeile  mittels Eingabe von <code>hass<\/code> gestartet werden. Aber wenn wir schonmal dabei sind, dann richtig.<br>Erstmal wechseln mit\u00a0<code>exit<\/code>\u00a0wieder zur\u00fcck zu unserem eigenen Account.<br>Damit Home Assistant mit jedem Neustart des Rechners automatisch aktiviert wird, erstellen wir das System-Startscript\u00a0<code>\/etc\/systemd\/system\/homeassistant.service<\/code>\u00a0mit folgendem Inhalt:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">[Unit]\nDescription=Home Assistant\nAfter=network-online.target\n\n[Service]\nType=simple\nUser=homeassistant\nWorkingDirectory=\/home\/homeassistant\/.homeassistant\nExecStart=\/srv\/homeassistant\/bin\/hass -c \"\/home\/homeassistant\/.homeassistant\"\nRestart=on-failure\nRestartSec=5s\n\n[Install]\nWantedBy=multi-user.target<\/pre>\n\n\n\n<p>Dieses script wird nun noch aktiviert und direkt gestartet:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">sudo systemctl --system daemon-reload\nsudo systemctl enable homeassistant\nsudo systemctl start homeassistant<\/pre>\n\n\n\n<p>Home Assistant ist jetzt aktiv und lauscht auf port 8123.<br>http:\/\/mei.ne.ip:8123\/<br>Der erste Start dauert allerdings ein wenig, es kann also sein, dass die Verbindung nicht auf Anhieb klappt.<\/p>\n\n\n\n<p>Um Home Assistant sp\u00e4ter zu aktualisieren<\/p>\n\n\n\n<pre class=\"wp-block-preformatted wp-block-code\">sudo -u homeassistant -H -s\ncd \/srv\/homeassistant\nsource bin\/activate\npip install --upgrade homeassistant<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>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\u00e4hig, allerdings spuckt die Installation einige Fehler und Warnmeldungen aus.Daher installieren wir zus\u00e4tzlich zur 3.7 erstmal manuell die Version 3.8. sudo apt-get update sudo apt-get upgrade -y sudo apt-get install python3 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3,2],"class_list":["post-11","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-home-assistant","tag-smart-home"],"_links":{"self":[{"href":"https:\/\/blog.jantle.de\/index.php?rest_route=\/wp\/v2\/posts\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jantle.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jantle.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jantle.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jantle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11"}],"version-history":[{"count":9,"href":"https:\/\/blog.jantle.de\/index.php?rest_route=\/wp\/v2\/posts\/11\/revisions"}],"predecessor-version":[{"id":41,"href":"https:\/\/blog.jantle.de\/index.php?rest_route=\/wp\/v2\/posts\/11\/revisions\/41"}],"wp:attachment":[{"href":"https:\/\/blog.jantle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jantle.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jantle.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}