ESPHome mit Python über die Kommandozeile flashen

Philips Hue White & Col. Amb. LED Tischleuchte Go, dimmbar, 16 Mio. Farben, steuerbar via App, kompatibel mit Amazon Alexa (Echo, Echo Dot), Weiß, 1er Pack
Philips Hue White & Col. Amb. LED Tischleuchte Go, dimmbar, 16 Mio. Farben, steuerbar via App, kompatibel mit Amazon Alexa (Echo, Echo Dot), Weiß, 1er Pack
69,99 €

Für alle die nicht das ESPHome AddOn im Home Assistant nutzen um ESPHome Projekte über den Browser zu kompilieren und zu flashen gibt es noch weitere Möglichkeiten ESPHome Projekte auf den ESP zu bringen.

Die erste Variante auf die ich hier nicht weiter eingehen möchte ist die Möglichkeit, ESPHome über Docker zu installieren. Weitere Infos dazu findet Ihr in der ESPHome Dokumentation:
https://esphome.io/guides/getting_started_command_line.html

Alternativ könnt Ihr einfach Python inklusive ESPHome installieren und eure ESPHome-YAML Dateien auf der Kommandozeile kompilieren und flashen.


ESPHome für die Kommandozeile installieren

Zu erst muss Python installiert werden. Das geht natürlich auch manuell. Bei Windows empfehle ich um Probleme zu vermeiden, Python aus dem Microsoft Store zu installieren.
https://apps.microsoft.com/store/detail/python-39/9P7QFQMJRFP7

Sobald Python installiert ist, muss ein Arbeitsbereich eingerichtet werden. Dazu erstellt man an einer beliebigen Stelle einen Ordner in dem man die ESPHome Projekte später verwalten möchte. (z.B. im Dokumente-Ordner des aktuellen Benutzers)

Anschließend wechselt man im Arbeitsplatz (Explorer) in den neu erstellten Ordner und gibt oben in der Adresszeile das Kommando “cmd” ein und bestätigt mit Enter. Dadurch öffnet sich die Kommandozeile in der man sich direkt im richtigen Verzeichnis befindet.

Kommandozeile aus dem Arbeitsplatz heraus starten

Jetzt muss der Arbeitsbereich angelegt werden. Das erledigt der folgende Befehl der auf der Kommandozeile eingegeben werden muss.

python -m venv esphome-venv
.\esphome-venv\Scripts\activate

Jetzt muss der Bereich aktiviert werden. (Dieser Befehl muss immer erneut ausgeführt werden, wenn die Kommandozeile erneut geöffnet wird)

Arbeitsbereich einrichten

Nachdem der Arbeitsbereich eingerichtet und aktiviert wurde, kann nun ESPHome mit den folgenden zwei Befehlen installiert werden:

pip3 install wheel
pip3 install esphome



ESPHome Projekt kompilieren und flashen

Um nun ein ESPHome Projekt auf einen ESP zu flashen muss falls noch nicht geschehen die yaml-Datei in dem Verzeichnis abgelegt werden. Sofern darin Secrets verwendet werden, muss ebenfalls die Datei secrets.yaml mit den entsprechenden Einträgen im gleichen Verzeichnis abgelegt werden.

Wofür die secrets.yaml ist und wie sie verwendet wird erkläre ich im folgenden Video:

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Secrets.yaml


Nun kann mit folgendem Befehl die yaml-Datei kompiliert werden.

esphome run DEIN_DATEINAME.yaml

Dadurch wird eine Bin-Datei erzeugt, die anschließend mit einem Programm wie ESPHome-Flasher auf den ESP geflasht werden kann. Der Pfad an dem die Bin-Datei gespeichert wird, steht in der Ausgabe direkt über der Erfolgsmeldung.

Ausgabe des Pfades zur kompilierten Firmware


Sofern beim Kompilieren bereits ein ESP am USB angeschlossen und die entsprechenden Treiber installiert sind, wird einem direkt das Flashen angeboten.

Es werden alle zur Verfügung stehenden Com-Anschlüsse aufgelistet, welche sich mit der entsprechenden Zahl auswählen lassen. Nach bestätigen mit Enter startet sofort der Flash-Vorgang.

Flashvorgang über die Konsole erfolgreich


Video

Das flashen auf der Kommandozeile über Python habe ich auch im Stream zur RGB-Treppe gegen Ende einmal gezeigt.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

https://www.youtube.com/watch?v=RzkHVJpzZmQ&t=2258s


ESPHome Tutorial Serie

Falls Ihr noch mehr über ESPHome wissen wollt, werft doch einfach mal einen Blick in meine ESPHome Tutorial Serie auf YouTube:

Playlist:
https://www.youtube.com/playlist?list=PLtEjuZQyAkqGAvHjsM6G295CsKXetm-_Z


Ansonsten findet Ihr auch jede Menge Informationen rund um ESPHome hier im Wiki: