Das Flashen von Geräten mit dem ESP8266 ist im Artikel ESP8266 – mit dem „Esptool“ .bin-Dateien unter Windows flashen bereits beschrieben. Viele fertige SmartHome Geräte wie zum Beispiel verschiedene Steckdosen bieten aber noch eine etwas bequemere Möglichkeit, wie Ihr ganz ohne Lötkolben eine alternative Firmware (zum Beispiel Tasmota flashen) könnt.
Dazu benötigt Ihr lediglich einen RaspberryPi und ggf. eine zweite SD-karte (wenn Ihr die aktuelle Installation auf dem RaspberryPi nicht verändern wollt). Außerdem muss die Steckdose (oder das jeweilige Gerät) mit der Tuya-Firmware geliefert werden. Die Tuya-Firmware ist auf fast allen günstigen SmartHome Steckdosen aus Asien installiert. Diese Firmware enthält einen Bug, welcher es ermöglicht bequem über WLAN eine alternative Firmware aufzuspielen.
Alles was Ihr dazu wissen müsst, ist im folgenden Artikel beschrieben. 🙂
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Hilfreiche Artikel:
Bevor ihr mit diesem Artikel startet solltet ihr den RaspberryPi soweit vorbereitet haben, dass dieser über das Netzwerk erreichbar und per SSH Steuerbar ist.
Die folgenden drei Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern
Benötigtes Werkzeug:
– keins
Benötigtes Material:
Die notwendige Software auf dem RaspberryPi installieren
Damit Ihr Tuya-convert nutzen könnt müsst Ihr natürlich die notwendige Software konfigurieren. Diese könnt Ihr aus einem Git-Repository herunterladen. Befolgt dazu einfach die folgenden Schritte.
Git installieren
Auf den meisten Systemen ist Git schon installiert. Falls nicht, könnt Ihr es mit folgendem Befehl installieren.
sudo apt-get install git
Mehr Informationen über Git findet Ihr im Artikel GitHub – Wie kopiere ich Dateien aus einem Git-Repository auf meinen Computer.
Während der Installation, werdet Ihr wahrscheinlich noch gefragt, ob Ihr mit der Installation einverstanden seid. Bestätigt dies mit Y und Enter.
Nun könnt Ihr mithilfe des soeben installierten Pakets die eigentlichen Dateien des Tuya-convert-Skripts herunterladen. Gebt dazu den folgenden Befehl ein.
git clone https://github.com/ct-Open-Source/tuya-convert
Der Download dauert ein paar Sekunden.
Nachdem Ihr die Dateien heruntergeladen habt, könnt Ihr nun mit folgendem Befehl in den Ordner von Tuya-convert wechseln.
cd tuya-convert
In diesem Ordner sind nun alle notwendigen Dateien enthalten.
Benötigte Pakete installieren
Weiter geht es mit der Installation der benötigten Pakete.
Bevor es aber losgehen kann müsst Ihr noch ein Konfigurationsskript ausführen. Dadurch werden notwendige Pakete installiert und konfiguriert. Gebt dazu den folgenden Befehl ein.
./install_prereq.sh
Das Skript läuft dann größtenteils…
…automatisch ab.
Sobald es fertig ist, erscheint die Meldung
„Ready to start upgrade“
Flashvorgang starten
Nach den ganzen Vorbereitungen kann es nun losgehen mit dem eigentlichen Flashvorgang. Dazu kommt Tuya-convert mit einem sehr praktischen Skript. Dies leitet Euch durch alle wichtigen Punkte und der Flashvorgang ist damit wirklich sehr einfach.
Ich empfehle Euch dringend, dass Ihr Euren RaspberryPi mithilfe eines Netzwerkkabels an Euer Netzwerk anbindet und Euch auch über die IP-Adresse des Kabel-Netzwerkadapters mit dem RaspberryPi verbindet. Während des Flashvorgangs wird die WLAN-Schnittstelle des RaspberryPis genutzt um eine Verbindung zum zu Flashenden Gerät aufzubauen. Dabei würde Eure Verbindung zum RaspberryPi (über WLAN) unterbrochen werden.
Wie Ihr die IP eines Geräts im Netzwerk herausfindet, ist im Artikel IP-Adresse der Geräte im Netzwerk anzeigen/herausfinden beschrieben.
Um letztlich den Flashvorgang zu starten, müsst Ihr das Flashskript mit folgendem Befehl starten.
./start_flash.sh
Als erstes werdet Ihr dann auf die damit verbundenen Risiken hingewiesen. Lest diese Hinweise durch und bestätigt sie, wenn Ihr damit einverstanden seid.
Danach werden ein paar laufende Services geprüft und ggf. beendet. Dies müsst Ihr auch jeweils mit einem „Y“ und „Enter“ bestätigen.
Auf meinem RaspberryPi wurde so zum Beispiel auch mein laufender MQTT-Server beendet.
So nun wird es langsam ernst. Nach einem Tastendruck auf „Enter“ würde der Flashvorgang starten. Zunächst solltet Ihr Euer Tuya-Gerät jedoch in den Flashmodus bringen. Ein Beispiel dafür seht Ihr im folgenden Video.
Nun könnt Ihr mit „Enter“ den Flashvorgang starten.
Daraufhin startet das Skript die Konfiguration und den Flashvorgang.
Dies kann eine Weile…
…dauern.
Dabei werden Euch zwischendurch immer wieder Statusmeldungen ausgegeben. Wirklich wichtig wird es aber erst…
…wieder bei der Nachfrage, welche Alternative Firmware Ihr auf die Steckdosen flashen wollt. Dabei habt Ihr die Wahl zwischen ESPurna oder Tasmota. Gebt also die Nummer für die gewünschte Firmware ein.
Bestätigt die Sicherheitsabfrage nun nochmal mit „Y“ und „Enter“…
…und wartet bis der Flashvorgang abgeschlossen ist.
Ist der Flashvorgang abgeschlossen, könnt Ihr das Skript verlassen oder eine weitere Steckdose flashen.
Wichtige Konfigurationen für eine „Tuya-Steckdose“
Im folgenden ein paar wichtige Infos zur korrekten Konfiguration der beliebten Steckdosen „Gosund Sp111“ oder „Blitzwolf SHP6“.
Nachdem Ihr die WLAN Zugangsdaten zu Eurem soeben geflashten Tasmota-Gerät konfiguriert habt, müsst Ihr nun die Konfigurationsseite der Steckdose aufrufen und dort auf „Configuration“ klicken.
Dazu benötigt Ihr die IP-Adresse des Tasmota-Geräts in Eurem Netzwerk. Wie Ihr diese herausfinden könnt ist im Artikel IP-Adresse der Geräte im Netzwerk anzeigen/herausfinden beschrieben.
Klickt dann auf auf „Configure Other“
Und tragt im Textfeld „Template“ die folgende Template-Konfiguration ein:
{"NAME":"SP111 v1.1","GPIO":[56,0,158,0,132,134,0,0,131,17,0,21,0],"FLAG":0,"BASE":45}
Denkt auch daran, dass Häkchen bei „Activate“ zu setzen.
An dieser Stelle könnt Ihr natürlich auch ein „Web Admin Password“ oder den Namen des Geräts einstellen.
Habt Ihr alles eingetragen, klickt Ihr auf Save.
Wenn Ihr ein „Web Admin Password“ gesetzt habt werdet Ihr nun um die Eingabe des eingestellten Passworts gebeten.
Nach einer kurzen Wartezeit, werdet Ihr dann wieder auf…
…den Startbildschirm umgeleitet.
Hier könnt Ihr bereits die ersten Messdaten sehen und auch die Steckdose ein- und ausschalten.
Scrollt nun noch etwas tiefer und wechselt zur „Console“.
Dort solltet Ihr nun noch ein paar Einstellungen vornehmen.
Für die erste Einstellung tragt Ihr folgendes in die Eingabezeile ein und bestätigt es mit „Enter“
VoltageSet 235
Damit wird die Steckdose auf die Europäische Netzspannung eingestellt.
Eine weitere nützliche Einstellung ist die folgende. Sie aktiviert, dass die Energiemessung auch bei ausgeschalteter Steckdose stattfindet. So erhaltet Ihr auch in diesem Fall Meldungen über den aktuellen Verbrauch.
SetOption21 1
Zu guter Letzt macht es noch Sinn die Zeitdauer zwischen den Messwerten zu verringern. Die kleinste mögliche Einstellung ist 10 Sekunden. Diese könnt Ihr mit dem folgenden Befehl einstellen.
TelePeriod 10
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂
Tolle Anleitung ! 🙂
Aber leider wird meine Frage nicht geklärt.
Wie kann ich bei der Gosund SP111 das Template so verändern das beide LED´s genutzt weren können ?
Zum Beispiel soll:
Die Rote LED immer an sein um zu sehen das die Steckdose unter Strom steht.
Die Blaue LED den Schaltzustand anzeigen Blaue LED leuchtet = Eingeschaltet / Blaue LED Aus = Ausgeschaltet ?
Es wäre super wenn der Aufbau im Template erklärt werden würde. Ich habe es nach mehrstündigen Testen leider aufgegeben, da ich nicht beide LED´s zum laufen bekommen habe.
Hey Bernd,
das müsste eigentlich gehen. Muss ich mich aber auch mal mit beschäftigen. Würde ich dann in einen Separaten Artikel packen. 🙂
Hallo Fab,
tolle Site und sehr gute (ausführliche) Anleitung zum Tuya-Convert !
Ich converte auch schon seit einiger Zeit ESP-Geräte mit alternativen Firmwares.
Seit Oktober 2020 fällt mir aber auf, das immer mehr Geräte mit einer neuen Tuya-Firmware ab Werk ausgeliefert werden, welche bislang leider gegen den Tuya-Convert Prozess immun scheinen.
Mehr Details dazu auf der Wiki-Seite von Tuya-Convert ..
https://github.com/ct-Open-Source/tuya-convert/wiki/Collaboration-document-for-PSK-Identity-02
Mit einer solchen Firmware bleibt die Suche nach einem ESP-Gerät während des Flashvorgangs erfolglos.
Das scheint zunehmend seit Ende letzten Jahres immer mehr der Fall zu sein, insbesondere bei ESP-Geräten die via Amazon „importiert“ wurden. Daher wundert es mich etwas, das es noch SP111 Steckdosen gibt die man erfolgreich konvertieren kann. Ich hatte Anfang November bei den SP111 leider kein Glück mehr.
Die sind zwar vom Design her recht schick, aber leider auch sehr resistent gegenüber Versuchen sie zu zerlegen und traditionell seriell zu flashen.
Hallo Stefan,
vielen Dank. 🙂
Mir ist das gleiche auch aufgefallen. Die Originale „SP111“ Steckdose kriegt man wohl auch gar nicht mehr auf Amazon. Es wird immer ein anderes Modell geliefert, welches (wie du auch schon geschrieben hast) nur noch schwer zu flashen ist. Allerdings bekommt man diese Steckdosen noch auf Banggood und Aliexpress. Zumindest bisher. Hoffentlich ändert sich das dort nicht auch. 🙂
Beste Grüße
Fabian