Tasmota: OTA flashen mit Tuya

Tasmota: OTA flashen mit Tuya

letzte Aktualisierung: 16. Juni 2020
#

OTA steht für „over the air“. Hier wird also eine Möglichkeit geboten, den ESP8266 ohne Löten zu flashen. Bei einigen Geräten ist es möglich, andere unterstützen es nicht. Meist wird hier einfach eine Sicherheitslücke in der aktuellen Firmware des smarten Gerätes ausgenutzt, um eine neue Firmware aufzuspielen. Ändert der Hersteller die Firmware, kann diese Möglichkeit schon wieder nicht zutreffen.

Viele Gerate werden von einem Hersteller gebaut, welche dann aber von verschiedenen Firmen vertrieben werden. Es ist also nicht immer ganz leicht die richtige Hardware zu finden. Wichtig zu wissen ist allerdings, das man sich bei unsachgemäßer Anwendung der Programme, oder bei der Anwendung auf nicht unterstützte Hardware diese auch zerstören kann.

Voraussetzungen

  • Linux PC mit WLAN
  • Tuya-convert kompatibles smartes Gerät (siehe Referenzliste)
  • getestet mit Avatar Mini Smart Wifi Steckdose (AWP08L)

Vorbereitung

  • ich habe für das Flashen einen Raspberry Pi 3 mit einem frisch installierten Raspberry Pi OS gewählt
  • im Raspberry Pi OS habe ich lediglich die Sprach- / Tastatureinstellungen auf deutsch geändert und ssh aktiviert
    sudo raspi-conf
  • wenn man über ssh arbeitet, sollte der Raspberry über ein Lan Kabel mit dem Netzwerk verbunden werden, da die Wlan-Schnittstelle später zum flashen benötigt wird
  • anschließend wird der Raspi geupdatet
    sudo apt-get update
    sudo apt-get upgrade
  • um die entsprechenden Scripte aus dem GitHub auf den Raspi zu bekommen muss noch die Versionsverwaltung installiert werden:
    sudo apt-get install git
  • dann klonen wir die Repository von Tuya-covert auf den Raspi
    git clone https://github.com/ct-Open-Source/tuya-convert
  • Wechsel ins Tuya Verzeichnis, sowie Installation der benötigten Software
    cd tuya-convert
    sudo ./install_prereq.sh

Flashen mit tuya-convert

  • sobald die Installation abgeschlossen ist, starten wir das entsprechende Script
    sudo ./start_flash.sh
  • die Ausführung durch Eingabe von yes bestätigen
  • das Skript startet einen Access Point sowie zusätzliche Dienste (DHCP-, DNS-, MQTT- u. HTTP-Server) für den Flash-Vorgang auf dem Raspberry Pi
  • werden bereits belegte Ports gemeldet, so müssen diese geschlossen werden
  • wenn alles geklappt hat, wird ein neues Wlan sichtbar –> vtrust-flash
Bei mir wurde das Wlan nicht sichtbar. Mein Workaround:
sudo rfkill unblock vor Ausführung von sudo ./start_flash.sh
  • jetzt muss ein beliebiges Gerät mit dem Wlan verbunden werden (z.B. Smartphone), da sonst die Ausführung des Scriptes scheitern kann
  • als nächstes muss das Smarte Gerät in den Smartconfig-Modus versetzt werden, quasi der Kopplungsmodus
  • dieser wir durch einen Pairing-Knopf oder einen Ein-/ Ausschalter realisiert (Infos dazu in der Anleitung des Gerätes)
  • in meinem Fall waren die Steckdosen von avatar, da noch nie konfiguriert, beim Einstecken der Steckdose schon automatisch im Smartconfig-Modus, sichtbar an einer schnell blinkenden Zustandsanzeige
  • die Übertragung der Daten startet automatisch, indem zu erst ein Backup der Originalen Firmware gemacht wird
  • nach dem Backup kann man die Firmware auswählen die man flashen möchte, in unserem Fall Tasmota.bin

Tasmota Grundkonfiguration

  • wurde der Flash-Vorgang erfolgreich abgeschlossen, dann baut das Gerät ein eigenes Wlan auf (Tasmota-xxxxx)
  • wenn man sich mit diesem Wlan verbindet, gelangt man über die IP-Adresse http://192.168.4.1 zur Einrichtungsseite von Tasmota und kann dann die Wlan-Informationen für das eigene Wlan eingeben
  • für eine aktuelle bzw. deutsche Version von Tasmota, empfiehlt sich dann das Upgrade auf die entsprechende Firmware aus dem GitHub
  • bei Geräten mit sehr kleinem Flash-Speicher ist ein Umweg über die Tasmota-minimal.bin notwendig, um anschließend die vollwärtige Firmware aufspielen zu können

Quellen