Was ist Tasmota?
Tasmota ist eine freie Firmware, die auf Geräte installiert (geflasht) werden kann, die auf dem Chip ESP8266 basieren. Günstige smarte Steckdosen beispielsweise hängen häufig von einer nicht ganz so komfortablen China-App ab und können ggf. auch nur über das Internet gesteuert werden. Vorteile von Tasmota:
- Keine Abhängigkeit vom Internet.
- Kann vollständig im lokalen Netzwerk betrieben und gesteuert werden.
- Bietet eine einfache Weboberfläche, die im Browser aufgerufen werden kann.
- Lässt sich einfach in Smart Home-Systeme wie Home Assistant einbinden.
Dieser Beitrag zeigt den Installationsprozess von Tasmota am Beispiel der bei Amazon erhältlichen smarten Steckdosen GHome EP2-A (Kein Affiliate-Link).
Voraussetzungen
Folgendes sollte vorhanden sein, um die Steckdosen erfolgreich mit Tasmota flashen zu können:
- Ein WLAN-fähiges Gerät. (hier ein Raspberry Pi 4)
- Ein Smartphone (hier ein iPhone) oder beliebiges anderes zusätzliches WLAN-fähiges Gerät.
- Die Steckdosen, die geflasht werden sollen.
Wenn zusätzlich auch die Strommessfunktion genutzt werden soll, muss diese kalibriert werden, dazu benötigt:
- Ein Strommessgerät, von dem Daten wie Watt, Volt und Ampere abgelesen werden können.
- Einen Verbraucher, der möglichst konstante Strommengen zieht, z.B. eine 60W Lampe.
Wie man den Raspberry Pi installiert und sich damit über SSH verbindet könnt ihr in unserem Beitrag Raspberry als Server installieren nachlesen.
Benötigte Software
Zunächst muss ein wenig Software auf dem Raspberry Pi (oder einem beliebigen anderen Debian-basierten System) installiert werden. Dazu verbinden wir uns per SSH auf das Gerät. Da das Flash-Tool viele Abhängigkeiten hat, ist die Durchführung mit Docker am einfachsten. Sollte Docker noch nicht installiert sein, haben wir auch dafür einen Beitrag Docker - Installation Auf Server oder ihr nutzt den nachfolgenden Schnelldurchlauf:
|
|
Zusätzlich muss auf jeden Fall git
auf dem System sein:
|
|
Jetzt kann das eigentlich Tool tuya-convert von Github geladen werden. Dies kann einfach im Home-Verzeichnis gemacht werden:
|
|
Anschließend wechseln wir in das neue Verzeichnis:
|
|
Anpassung an tuya-convert
Jedes Gerät in einem Netzwerk hat eine MAC-Adresse. An den ersten Stellen einer MAC-Adresse (Präfix) kann man ableiten, von welchem Hersteller das Gerät kommt. Das Tool tuya-convert hat eine Liste dieser Präfixe hinterlegt, um flashbare Geräte identifizieren zu können. Die Steckdosen von GHome scheinen aber MAC-Adressen zu haben, dessen Präfixe dort noch nicht enthalten sind. Deswegen erkennt das Tool diese nicht und wir müssen die Präfixe ergänzen.
In den Amazon Rezensionen ist die Rede davon, dass der Präfix 34987A
hinzugefügt werden muss. Bei meinen Steckdosen war es der Präfix 3CE90E
. Deswegen fügen wir beide in der Liste hinzu, es kann aber sein dass ihr dort noch einen anderen Präfix eintragen müsst, dies erfahrt ihr dann aber erst später im Prozess.
|
|
und dort ganz am Ende jeweils in eine eigene Zeile die beiden zusätzlichen Präfixe eintragen. Mit STRG + O -> Eingabetaste -> STRG + X (Mac: command statt STRG) speichern und den Editor beenden.
Steckdose flashen
Jetzt ist nahezu alles vorbereitet, um den Flash-Vorgang zu starten.
.env
Um das Flash-Tool mit Docker zu starten, wird noch eine .env Datei benötigt. In unserem aktuellen Verzeichnus tuya-convert befindet sich dazu eine Beispieldatei mit dem Namen .env-template
, diese kopieren wir:
|
|
Der wichtigste Eintrag in dieser Datei ist der Name des WLAN-Adapters auf unserem System. Voreingestellt ist dort wlan0
und das sollte auf dem Raspberry Pi und vielen anderen Systemen auch genau so passen. Alle Adapter anzeigen lassen kann man sich unter anderem mit ip addr
.
Sollte der Name abweichen, müsst ihr den vorab in der neuen Datei .env
anpassen.
Docker Image bauen und Container starten
Jetzt ist endlich alles bereit für den Start. Das Docker Image wird direkt auf dem System gebaut, dann ein Container erstellt und dieser gestartet. Sobald der Vorgang abgeschlossen ist wird der Container wieder automatisch gelöscht:
|
|
Es kann sein, dass noch einige Warnhinweise bestätigt werden müssen. Sobald die nachfolgende Meldung erscheint, müssen zunächst die dort erwähnten Schritte durchgeführt werden, die nachfolgend auch detaillierter beschrieben werden, bevor es mit “Enter” weitergehen kann.
|
|
- Das Tool hat jetzt ein WLAN mit dem Namen vtrust-flash geöffnet. Mit diesem verbinden wir uns jetzt mit dem Smartphone oder einem anderen beliebigen WLAN-fähigen Gerät.
- Dann stecken wir die smarte Steckdose ist eine stromführende Steckdose. Sie sollte blau blinken und befindet sich damit im Pairing-Modus. Falls nicht, den Button an der Steckdose lange drücken, bis die smarte Steckdose einmal neu startet.
- Ist beides erledigt, kann die Meldung auf dem Raspberry Pi mit der Eingabetaste bestätigt werden.
- Jetzt läuft der vollautomatische Flashing-Prozess, bei dem vorerst nur ein minimales Zwischensystem aufgespielt wird.
Sobald das abgeschlossen ist, erscheint folgende Meldung auf dem Raspberry Pi:
|
|
Da wir Tasmota auf dem Gerät haben möchten, wählen wir Option 2 und bestätigen dies anschließend nochmal mit “y”. Jetzt wird Tasmota auf das Gerät übertragen, anschließend startet die Steckdose neu. Die Frage, ob ein weiteres Gerät geflasht werden soll, kann mit “n” beantwortet werden.
Vorgang bricht ab und findet kein Gerät
Wenn es zu keinem Problem gekommen ist, kann dieser Abschnitt ignoriert werden.
Möglicherweise erhaltet ihr folgende Meldung, bevor der Flash-Vorgang starten kann:
|
|
Damit muss in der Datei scripts/oui/esp.txt
ggf. ein weiterer MAC-Präfix eingetragen werden. Die Meldung gibt aus, welche beiden Geräte gefunden worden sind, hier:
- 3c:e9:0e:f2:23:b5
- a6:02:6b:4b:b6:38
Eins davon wird die Steckdose sein, das andere das Smartphone. Dort lässt sich leicht nachschauen, welche MAC-Adresse das Gerät hat, bei meinem iPhone war es die a6:02:6b:4b:b6:38
, damit gehört die andere Adresse zur Steckdose. Der Präfix sind die ersten drei Blöcke ohne Doppelpunkt:
3c:e9:0e:f2:23:b5
= 3CE90E
Nach der Ergänzung kann der Vorgang dann einfach wiederholt werden, ggf. muss die Steckdose wieder durch langes Drücken des Buttons in den Pairing-Modus versetzt werden.
Konfiguration
Die Steckdose läuft jetzt mit Tasmota. Jetzt folgen noch ein paar Schritte, um sie korrekt zu konfigurieren.
Steckdose mit WLAN verbinden
Um die Steckdose mit dem gewünschten WLAN zu verbinden, sind folgende Schritte notwendig:
- Die neu geflashte Steckdose öffnet ein WLAN mit einem Namen, der mit “tasmota_xxxxx-xxxx” startet.
- Das Smartphone mit diesem WLAN der Steckdose verbinden.
- Es öffnet sich nach dem Verbinden automatisch eine Webseite zum Eintragen der Login-Daten für das gewünschte WLAN, mit das sich die Steckdose verbinden soll (kann etwas dauern). Falls nicht, folgende IP im Browser aufrufen: http://192.168.4.1
- Scan for wifi networks auswählen -> Es wirkt so als wenn nichts passiert. Einfach etwas länger warten, er sucht nach WLANs und zeigt diese dann an.
- WLAN auswählen, dann das dazugehörige Passwort bei AP1 eingeben.
- Mit Save bestätigen. Die Steckdose startet neu, danach ist die Steckdose im WLAN und per Browser erreichbar.
- Die IP der Steckdose kann im Router gefunden werden.
Firmware updaten
Die geflashte Version von Tasmota ist sehr alt, deswegen ist der erste Schritt jetzt, die Firmware zu aktualisieren. Dazu öffnen wir in einem Browser die Weboberfläche der Steckdose, indem wir dessen IP eingeben. Ggf. kommt eine Warnung weil es sich um eine unverschlüsselte HTTP-Verbindung handelt, dann muss einmal bestätigt werden dass die Seite wirklich aufgerufen werden soll.
Auf der Oberfläche dann Firmware Upgrade auswählen und dann auf den oberen Button bei der OTA-URL auf Start upgrade drücken. Jetzt gibt es zwei Möglichkeiten:
- Entweder startet jetzt das vollautomatische Update und die Steckdose startet anschließend neu.
- Oder es wird eine Datei tasmota.bin.gz im Browser heruntergeladen. Dann muss im unteren Feld diese Datei ausgewählt werden und dort Start upgrade gedrückt werden, damit dann der Updateprozess startet und die Steckdose neu startet.
Template anpassen
Nach dem Update kommt man wieder auf die Weboberfläche. Damit Tasmota weiß, wie alle Funktionen korrekt angesteuert werden, muss das Template angepasst werden.
Dazu auf Configuration -> Configure other und im ersten Feld “Template” folgendes eintragen (gilt nur für die GHome-Steckdosen, bei anderen Geräten ggf. abweichend):
|
|
Direkt da drunter bei Activate muss ein Häkchen gesetzt werden. Zusätzlich können Device Name und Friendly Name 1 angepasst werden. Die Steckdose an der mein PC ist hat zum Beispiel den Namen “tasmota-pc”.
Dann wird das ganze mit Save bestätigt, das Gerät startet dann wieder neu.
Strommessung kalibrieren (optional)
Wenn auch die Strommessung sinnvolle Werte ergeben soll, muss dies einmal kalibriert werden. Wie schon erwähnt wird dazu ein Spannungsmessgerät und ein konstanter Verbraucher benötigt, wie zum Beispiel eine 60W Lampe.
Vorgehen dabei:
- Tasmota Steckdose in eine Steckdose stecken, darin dann das Spannungsmessgerät einstecken und darin dann wiederum den Verbraucher (Lampe o.ä.).
- In der Weboberfläche den Menüpunkt Console aufrufen.
In der Konsole folgende Befehle eintippen (mit Eingabetaste jeweils bestätigen):
savedata 1
VoltageSet ###.##
(in V)PowerSet ###.##
(in W)CurrentSet ###.##
(in mA)savedata 0
Anschließend wieder ins Hauptmenü gehen, dort sollten jetzt passende Stromwerte zu sehen sein.
Abschluss
Die smarte Steckdose läuft jetzt mit Tasmota und ist einsatzbereit. Sie kann jetzt problemlos über die Weboberfläche gesteuert werden, eine Einbindung in ein Smart Home-System ist ebenfalls kein Problem mehr.