Voraussetzung ist eine Python3 Installation
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
ESPhome wird als neuer Nutzer mit eigenem Homeverzeichnis installiert:
sudo useradd -rm esphome
Während die Konfigurationsdateien später im home landen, wird die ESPhome Installation selber in einem virtuellen Python-Environment im Verzeichnis /srv/esphome/ installiert.
Dazu ersteinmal das Verzeichnis erstellen und die Rechte dem neuen Nutzer esphome zuweisen.
cd /srv sudo mkdir esphome sudo chown esphome:esphome esphome
Die Installation wird dann in dem virtuellen Python Environment als Nutzer esphome durchgeführt. Wir wechseln also den Nutzer, gehen in das Installationsverzeichnis, installieren die virtuelle Umgebung und wechseln dann in diese hinein.
sudo -u esphome -H -s cd /srv/esphome python3 -m venv . source bin/activate
noch schnell ein notwendiges Python-Paket installieren mit
python3 -m pip install wheel
und im Anschluss
pip3 install esphome
et voilà! … naja, fast. Prinzipiell kann ESPHome jetzt direkt über die commandline verwendet und gestartet werden. Aber wenn wir schonmal dabei sind, dann richtig.
Erstmal wechseln mit exit wieder zurück zu unserem eigenen Account.
Damit ESPHome mit jedem Neustart des Rechners automatisch aktiviert wird, erstellen wir das System-Startscript /etc/systemd/system/esphome.service mit folgendem Inhalt:
[Unit] Description=ESPHome Dashboard After=homeassistant.service Requires=homeassistant.service [Service] Type=simple User=esphome Environment="PATH=/srv/esphome/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" WorkingDirectory=/srv/esphome/ ExecStart=/srv/esphome/bin/esphome /home/esphome/config/ dashboard --password GEHEIMESPASSWORT 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 esphome sudo systemctl start esphome
ESPHome ist jetzt aktiv und lauscht mit dem Dashboard auf port 6052. http://mei.ne.ip:6052/
Um später ESPHome zu aktualisieren
sudo -u esphome -H -s cd /srv/esphome source bin/activate pip install -U esphome
Möchte man die neuesten Funktionen nutzen, kann es Sinn machen, auch mal die Beta-Version auszuprobieren:
sudo -u esphome -H -s cd /srv/esphome source bin/activate pip install --pre -U esphome