Tuya IoT Geräte mit Tasmota Firmware flashen

Tuya kompatible IoT Geräte lassen sich, ohne das Gehäuse öffnen zu müssen, OTA mit Tuya-Convert von der Cloud des Herstellers befreien
indem die alternative Firmware Tasmota geflasht wird. (Risiken und Nebenwirkungen sind dadurch natürlich nicht ausgeschlossen!)

c’t Artikel/Projekt – Tuya-Convert: IoT-Geräte ohne Löten vom Cloud-Zwang befreien

Wichtige Tuya-Convert Info!
As of January 28th, 2019, Tuya has started distributing a patch that prevents tuya-convert from completing successfully. It is up to the individual brands to adopt the patch, so some devices may be affected sooner than others. To ensure the best chance of success, do not connect your device with the official app as it may automatically update the device, preventing you from flashing with tuya-convert. Some devices are already being shipped with the update, in which case there is unfortunately no work around available at this time.

Dezember 2019 update
Tuya verbaut jetzt vermehrt Realtek Chips in ihren Geräten.
Damit lässt sich mit tuya-convert KEINE Tasmota Firmware mehr flashen!

TECKIN SP21

Die Anleitung bezieht sich auf die TECKIN SP21 WLAN Steckdose. Sie funktioniert mit dem Tasmota profile #45 (BlitzWolf SHP)

tuya-convert installieren

Zum flashen nehme ich einen Raspberry Pi 3 mit aktuellem Raspian Buster Lite.

$ sudo apt-get update
$ sudo apt-get upgrade -y

Für das tuya-convert GitHub Repository muss git installiert werden.

$ sudo apt install -y git

Das tuya-convert Repository clonen.

$ git clone https://github.com/ct-Open-Source/tuya-convert

In den geclonten Ordner wechseln und die Installation der noch benötigten Abhängigkeiten und Zusatzsoftware durchführen.

$ cd tuya-convert
$ sudo ./install_prereq.sh

Sollte der Name des WLAN Interfaces nicht wlan0 sein, muss das in der Datei config.txt angepasst werden.

# Please input the wlan device to be used (most of the time it is wlan0 or wlan1)
WLAN=wlan0

Gerät flashen

Sind die Abhängigkeiten alle erfüllt, kann der eigentliche Flashvorgang mit start_flash.sh gestartet werden.

$ sudo ./start_flash.sh

/opt/tuya-convert/scripts /opt/tuya-convert
======================================================
TUYA-CONVERT

https://github.com/ct-Open-Source/tuya-convert
TUYA-CONVERT was developed by Michael Steigerwald from the IT security company VTRUST (https://www.vtrust.de/)
in collaboration with the techjournalists Merlin Schumacher, Pina Merkert, Andrijan Moecker and Jan Mahn at c't Magazine.
(https://www.ct.de/)


======================================================
PLEASE READ THIS CAREFULLY!
======================================================
TUYA-CONVERT creates a fake update server environment for ESP8266/85 based tuya devices.
It enables you to backup your devices firmware and upload an alternative one (e.g. ESPEasy, Tasmota, Espurna)
without the need to open the device and solder a serial connection (OTA, Over-the-air).

Please make sure that you understand the consequences of flashing an alternative firmware, since you might lose functionality!

Flashing an alternative firmware can cause unexpected device behavior and/or render the device unusable.
Be aware that you do use this software at YOUR OWN RISK! Please acknowledge that VTRUST and c't Magazine (or Heise Medien GmbH & Co. KG)
CAN NOT be held accountable for ANY DAMAGE or LOSS OF FUNCTIONALITY by typing yes + Enter

Wir wissen was wir hier machen! Eventuell könnte es auch einen neuen Briefbeschwerer geben. Die Info und Warnung mit yes + Enter bestätigen.

Das Skript öffnet einen Access Point und startet alle erforderlichen Dienste, die für den Flashvorgang benötigt werden. (dhcp, dns, mqtt, http)

yes
======================================================
  Starting AP in a screen
  Stopping any apache web server
  Starting web server in a screen
  Starting Mosquitto in a screen

======================================================

IMPORTANT
1. Connect any other device (a smartphone or something) to the WIFI vtrust-flash
   The wpa-password is flashmeifyoucan
   This step is IMPORTANT otherwise the smartconfig will not work!
2. Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fast).
   This is usually done by pressing and holding the primary button of the device
3. Press ENTER to continue

Mit einem Smartphone oder Tablet muss sich mit dem neuen vtrust-flash WLAN Netzwerk verbunden werden. (wichtig für den Smartconfig Prozess)

Das Tuya Gerät muss jetzt in den Anlernmodus (Smartconfig) versetzt werden. Der ist automatisch aktiv, wenn das Gerät noch nie eingerichtet wurde.
Stecker auspacken und in die Steckdose stecken. Die blaue LED blinkt gleichmäßig. Wir bestätigen erneut mit ENTER.

======================================================
Starting pairing procedure in screen
RTNETLINK answers: File exists
/opt/tuya-convert
Waiting for the upgraded device to appear
If this does not work have a look at the '*.log'-files in the 'scripts' subfolder!
.........................
IoT-device is online with ip 10.42.42.42
Fetching firmware backup
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1024k  100 1024k    0     0  30306      0  0:00:34  0:00:34 --:--:-- 28881
curl: Saved tofilename 'firmware-5b2efa.bin'
======================================================
Getting Info from IoT-device
tee: device-info.txt
VTRUST-FLASH 1.1
(c) VTRUST GMBH https://www.vtrust.de/35c3/
READ FLASH: http://10.42.42.42/backup
ChipID: 5b2efa
MAC: B4:E6:2D:5B:2E:FA
BootVersion: 4
BootMode: normal
FlashMode: 1M DOUT @ 40MHz
FlashChipId: 144068
FlashChipRealSize: 1024K
Active Userspace: user2 0x81000

======================================================
Please make sure to note the correct SPI flash mode!
Installing an alternative firmware with the wrong flash mode will leave the ESP unable to boot!

Next steps:
1. To go back to the orginal software
   # curl http://10.42.42.42/undo

2. Be sure the conversion software runs in user2
   # curl http://10.42.42.42/flash2

3. Flash a third party firmware to the device
BE SURE THE FIRMWARE FITS THE DEVICE AND USES THE CORRECT FLASH MODE!
MAXIMUM SIZE IS 512KB
put or link it to ./files/thirdparty.bin
A basic build of Sonoff-Tasmota v6.5.0 is already included in this repository.
   # curl http://10.42.42.42/flash3
Alternatively let the device download and flash a file via HTTP:
   # curl http://10.42.42.42/flash3?url=http://10.42.42.1/files/thirdparty.bin

HAVE FUN!

Dauert jetzt ein bischen bis alle Skripte durchgelaufen sind. Sonoff-Tasmota 6.5.0 basic (mit enthalten) kann jetzt geflasht werden.

$ curl http://10.42.42.42/flash3

Wenn das Gerät erfolgreich geflasht wurde, erscheint im WLAN ein neues sonoff-xxxx Gerät.

Mit dem sonoff-xxxx verbinden und dann über http://192.168.4.1 das Gerät wieder ins eigene WLAN holen.

Gerät konfigurieren

Erreichbar im eigenen LAN wird das Gerät jetzt weiter konfiguriert. Firmware update von 6.5.0 auf 6.6.0.

Module einstellen: Main Menu → Configuration → Configure Module, Module type: BlitzWolf SHP (45)

Das Gerät ist eingerichtet und kann geschaltet werden.

Da der TECKIN SP21 keine Energie- und Verbrauchsmessung hat, bleiben die oberen Werte alle leer. (Das wäre z.B. mit dem TECKIN SP22 möglich.)

Template importieren

Für den TECKIN SP21 gibt es ein angepasstes Template.

{"NAME":"Teckin SP21","GPIO":[0,0,56,0,0,0,0,0,0,17,0,21,0],"FLAG":0,"BASE":45}

Template importieren: Main Menu → Configuration → Configure Other, Template: <Template kopieren und einfügen>

Jetzt passt’s.

sonstiges

Die device-info.txt und das original Firmware backup firmware-xxxxxx.bin sollte man sichern.

$ ls -l dev* fir*
-rw-r--r-- 1 root root     273 Jul 20 21:03 device-info.txt
-rw-r--r-- 1 root root 1048576 Jul 20 21:03 firmware-5b2efa.bin

24 Gedanken zu „Tuya IoT Geräte mit Tasmota Firmware flashen“

  1. Wie lange dauert das OTA in der Regel? Raspi & Schalter rödeln seit weit über einer Stunde rum…
    Am Raspi eheich fortlaufend Punkte scrollen …………………………………………………………………..
    Der Schalter Blinkt vor sich hin?!

    Antworten
    • Das hat bei mir maximal 5 Minuten gedauert.
      Schau mal ob sich in dem scripts Verzeichnis logfiles befinden.

      Oder du hast ein Tuya Gerät was diese “Lücke” schon gefixt hat, dann wird es nicht funktionieren.

      Antworten
  2. Hi, ich hab auch 2 von den Teckin Schaltdosen. Aber ich bekomme die nicht geflashed.
    Bei mir schreibt er im smarthack-web.log folgendes
    “WARNING: it appears this device does not use an ESP82xx and therefore cannot install ESP based firmware”

    Wo kann man vergleichen, welche Version das SP21 hat? Welche haben deine?

    Danke

    Antworten
    • Das mit den Teckin Steckern ist immer ein Glücksspiel, da man nie weiß welche man bekommt!
      Man hat keinerlei Info welche Firmware Version installiert ist oder Microcontroller verbaut ist. (ohne das Gehäuse zu öffnen)

      Hier gilt: kaufen und ausprobieren. Entweder lassen sie sich flashen oder nicht.

      https://github.com/ct-Open-Source/tuya-convert/wiki/Troubleshooting
      WARNING: it appears this device does not use an ESP82xx and therefore cannot install ESP based firmware in web log.
      ** Device uses a different microcontroller. Nothing else we can do, return the device or use it as is.
      ** You will not be able to flash Tasmota or other ESP based firmware, even over wire.

      Alternativ gibt es die DeLock 11826, WLAN Steckdose mit ESP8285 und Tasmota Firmware.
      Die sind natürlich teurer, aber hier weiß man was drin und drauf ist.

      Dann wirst du deine wohl nicht mit Tasmota geflasht bekommen.
      Ich hatte Glück, ältere Firmware und ein verbauter ESP82XX.

      Antworten
  3. Simple, aber großartige Anleitung. Vielen Dank!

    Ich hatte bei mir das Problem, dass das falsche WLAN-Interface benutzt wurde.
    In der config.txt steht dort standardmäßig “wlan0”. Bei mir war es aber bspw. “wlp3s0”.
    Daher konnte ich erst kein eigenes WLAN aufspannen. Als ungeübter Linuxnutzer hat mich einige Zeit gekostet das zu finden.
    Vielleicht kannst du es noch ergänzen :-)

    Grüße
    Peti

    Antworten
    • Bei einem Linux PC mit WLAN Adapter sollte das auch wie beschrieben funktionieren.

      Wichtig ist nur: (siehe den Kommentar von Peti)
      In der Datei config.txt, im geclonten tuya-convert Ordner, muss ggf. der Name des WLAN Interfaces angepasst werden.

      Antworten
  4. Danke!
    Hat perfekt nach Anleitung funktioniert.
    Und habe somit jetzt zu meinen Sonoff Tasmotas auch noch schlanke Teckin SP21.
    Gekauft am 09.11.19 über Amazon.

    Antworten
  5. Hi, ich habe grad meine Teckin SP22 mit dieser Anleitung geflashed, Tasmote war danach mit der SSID und der IP192.168.4.1 erreichbar, hab das WLAN angepasst, die Geräte buchen sich auch in mein WLAN ein, allerdings ist die Konfigoberfläche mit der zugewiesenen IP nicht erreichbar.
    Hat jemand ne Idee, wie ich die Geräte erreichen kann???

    Antworten
  6. Wie kann mann denn das ganze wieder deinstallieren? Hatte das Ganze auf meinem IObroker PI installiert
    und jetzt beissen sich die Module (z.B. MQTT). Danke

    Antworten
  7. Hi,
    Achtung die neuen TECKIN SP21 lassen sich nicht mehr mit TUA Convert Flashen.
    Chipsatz wurde anscheinend geändert.
    Aus den LOGs: “WARNING: it appears this device does not use an ESP82xx and therefore cannot install ESP based firmware”
    Gefunden in discordapp.com – Tasmota Issus: “Tuya recently started using Realtek chip in their devices”

    Antworten
  8. Hallo, ich würde das Flashen auch gerne machen und bin schon ziemlich weit gekommen, dank dieser Seite hier.
    Ubuntu (16.4 oder das neueste 20.4) habe ich von USB-Stick gebootet und dann gemäß der Anleitungen hier die Befehle im Terminal ausgeführt.

    Allerdings kommt bei Eingabe von “sudo ./install_prereq.sh” folgende Fehlermeldung:
    [..]
    Paket dnsmasq ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.
    Doch die folgenden Pakete ersetzen es:
    dnsmasq-base

    Paket python3-pip ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    Paket haveged ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    Paket python3-wheel ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.

    E: Für Paket »dnsmasq« existiert kein Installationskandidat.
    E: Paket hostapd kann nicht gefunden werden.
    E: Für Paket »python3-pip« existiert kein Installationskandidat.
    E: Für Paket »python3-wheel« existiert kein Installationskandidat.
    E: Paket mosquitto kann nicht gefunden werden.
    E: Für Paket »haveged« existiert kein Installationskandidat.

    Und da komme ich derzeit gar nicht weiter. Googeln hat leider auch nicht geholfen. Weiß jemand Rat?

    Viele Grüße
    Wolfgang

    Antworten
  9. Habe gestern 3 Stück erfolgreich geflasht, auch ein paar mal durchgebootet. Heute funktioniert keine (!?) mehr. Blaues licht flackert beim einstecken in die steckdose kurz auf, danach ist aber alles dunkel, keine Reaktion auf drücken (lang oder kurz), keine WLAN SSID, nichts … Hat jemand eine Idee? Kann es daran liegen, dass ich die (somit dummerweise) ineinander gesteckt habe? Müsste dann aber zumindest eine gehen … Danke euch!

    Antworten
  10. Hallo an Alle,
    weiß aber nicht, ob ich hier richtig bin? Ich habe das Problem, dass in einem kürzlich gekauften Solarthermieregler SC208 mit Wi-Fi ein WBR3 verbaut ist, der leider in seine Heimat sendet. Tasmota wäre die Lösung. Wie Das geht, weiß ich auch. Aber ich habe keine Ahnung, welche GPIO’s mit welchem Sensor oder Relais programmiert sind. Für einen Lösungsweg wäre ich sehr dankbar. D. A. N. K. E im Voraus, Lothar

    Antworten

Schreibe einen Kommentar