Spätestens als Tuya den IFTTT Dienst einfach von seinen Geräten entfernt hat und so das für mich wesentliche Kaufargument zerstört hat, musste ich mir überlegen, wie ich meine Smart Life Geräte aus der Cloud bekommen und unabhängig vom Hersteller bin. Du könntest bald auch Probleme bekommen, denn Tuya hat die Integration von IFTTT Ende Mai diesen Jahres abgekündigt.
In deinem Smart Home gibt es keine Intelligenten Geräte von Tuya? Vielleicht doch! Denn die auf Amazon, in Baumärkten oder auch in 1-Euro-Läden verkauften Smarten Steckdosen, Lichtschalter, und andere Geräte mit WLAN, Alexa und Google Home unterstützung, haben zu 90% eines gemeinsam: Sie haben alle den selben Chip verbaut, den ESP8266-Mikrocontroller. Dieser wird von Tuya als Turnkey-Lösung an die Kunden (Hersteller) verkauft.
Das Problem mit der Tuya-Cloud
Tuya ist der Chiphersteller und stellt die Infrastruktur bereit, über die deine Geräte mit z.B. deinem Smartphone kommunizieren. Hersteller kaufen diesen Chip, bauen ihn in ihre umgelabelten Geräte ein und nutzen die Infrastruktur von Tuya zur Bereitstellung der Alexa, Google Home und IFTTT Integration.
Du bindest die Geräte mit der Smart Life App, oder einer vom Hersteller umgelabelten App, ins WLAN ein und schon funken sie nach Hause zu den Tuya Server.
Für die Hersteller ist das gut, denn sie müssen die Infrastruktur nicht selber haben sondern zahlen für die Benutzung einfach an Tuya.
Für uns ist das ganze aber ein zweischneidiges Schwert. Denn die Geräte sind zwar billig, da die Chips eben von vielen Herstellern in großer Stückzahl gekauft werden. Aber wir sind eben auch auf Tuya angewiesen, die Features wie Alexa, IFTTT und Google Home weiterhin am laufen zu halten.
Wie man jetzt gesehen hat, wir da auch einfach mal ein Dienst rausgeschmissen. Ganz abgesehen davon, kann der Hersteller (China) mit unseren Daten theoretisch machen, was er will.
Lösung: Geräte vom Cloud-Zwang befreien
Die Lösung des Problems? Man kann die Firmware, sozusagen das Betriebssystem der Geräte von Tuya oder Drittanbietern mit diesem Chip, durch ein alternatives austauschen (flashen). Das ganze geht inzwischen (oder noch), Gott sei Dank, ohne Löten zu müssen. Denn die pfiffigen Kollegen von VTRUST haben einen Bug in der Firmware gefunden.
Damit ist es möglich, Over the Air (OTA), also per WiFi, eine andere Firmware auf die Geräte zu flashen. Diesen Tuya Hack haben sie Tuya Convert getauft. Gemeinsam mit dem Magazin c’t wurde es auf GitHub gestellt, damit sich die Smart Home Community daran erfreuen kann.
Du kannst mit dieser Firmware dein Gerät übrigens auch via HUE-Emulation, über Alexa und Google Home steuern, solange diese im selben WLAN sind. Über eine Homebridge mit dem Hue-Plugin kannst du deine Geräte so auch weiterhin über die Home App steuern. Aber für weiterführende automationen oder die Anbindung an IFTTT, benötigst du einen MQTT Broker wie z.B. Hass.io.
Tuya-Convert Anleitung
Bitte beachte das alle Arbeiten mit Tuya-Convert und an der Firmware von Geräten von dir auf eigene Gefahr durchgeführt werden. Falls beim Flashen der alternativen Firmware irgend etwas schief geht, kann es sein, dass deine Geräte nicht mehr funktionieren.
1 Das Gerät
Hast du ein Smart Life Gerät?
Zuerst musst du natürlich herausfinden, ob in deinem IoT-Gerät ein Chip des Chinesischen Anbieters verbaut ist. Das ist aber gar nicht so leicht, da es wie gesagt, nicht unbedingt drauf stehen muss, wenn das Produkt umgelabelt ist.
Wenn du dein Gerät in der Smart Life App oder Tuya App einrichten und steuern kannst, hast du mit großer Wahrscheinlichkeit auch diesen Chip verbaut.
Solltest du diese App oder die App eines Drittanbieter aktuell nicht benutzten, bedenke bitte, dass auch durch das „Testweise hinzufügen“ des Gerätes zu der App, Tuya deinen Daten erhält. Außerdem könnte ein Firmware-Update installiert werden, welches das Flashen via Tuya-Convert unmöglich macht.
Aber eine andere verlässliche möglichkeit gibt es leider auch nicht. Folgendes können indizien für ein Tuya oder Smart Life Gerät sein, wenn du die App nicht ausprobieren willst:
- Du kannst dein Gerät durch 5 Sekündiges gedrückthalten einer Taste in den Pairing-Modus versetzen
- Wenn du 2 mal hintereinander 5 Sekunden lang die Gerätetaste gedrückt hältst, wird ein WLAN-Netzwerk erstellt.
- Deine aktuelle APP zum steuern des Gerätes enthält Chinesische Schriftzeichen
- Du kannst dein Gerät optisch auf dieser Seite oder hier wiedererkennen
- Manchmal ist auch ein QR-Code auf der Packung, der das Smart Life Icon enthält
Aber natürlich kannst du es auch einfach auf Gut-Glück versuchen 😉
Welche Geräte sind kompatibel?
Du solltest außerdem wissen, dass Tuya Convert nicht (gut) mit batteriebetriebenen Smart Life Geräten funktioniert. Diese Geräte muss man i.d.R. umlöten, damit die Stromzufuhr nicht unterbrochen wird. Von daher werde ich diese hier nicht behandeln.
Damit deine Geräte von Smart Life mit Tasmota Firmware einwandfrei funktionierten, solltest du vorher prüfen, ob du ein Template für deine Modellnummer auf der Seite https://templates.blakadder.com findest. Links am Rand der Seite findest du die verschiedenen Gerätekategorien, diese kannst du einfach mit der Tastenkombination STRG + F durchsuchen. Die Modellnummer findest du i.d.R. auf dem Gehäuse des Devices.
Welche Firmware ist kompatibel?
Der Exploit (Sicherheitslücke), der unsere Gerät von Tuya mit der Tasmota Firmware bestücken kann, kann jederzeit von Tuya behoben werden. Mit meiner Smart Life Steckdose hat der Tuya OTA flash mit der Firmware 1.1.2 funktioniert.
Das ist natürlich keine Garantie, dass das bei dir in Zukunft auch funktioniert, aber aktuell (20.05.2020) geht es auf jeden Fall noch 😉
2 Hardware zum Flashen
Du brauchst nicht viel, um mit Tuya Convert auf Tasmota umzusteigen.
- Du brauchst einen Raspberry Pi, aber auch andere Linux Systemem z.B. mit Ubuntu sollten funktionierten.
- Ich empfehle dir einen Raspberry Pi 3B+*, da hier die Skripte offiziell getestet wurde. Mein Raspberry Pi 4 hat nicht funktioniert.
- Du musst Raspbian Stretch auf deinem Pi installieren.
- Verwende ein LAN-Kabel* als Netzwerkzugang (kein WLAN!), da der Tuya Converter den WiFi-Chip benötigt, um einen Access Point zu öffnen.
Versand: n. a.
3 Tuya Smart mit Tasmota flashen
3.1 Converter starten
Das Flashen an sich ist ziemlich einfach, aber zuerst noch einige Vorarbeite. Stelle eine SSH Verbindung z.B. über Powershell her und lass bitte auch die Update Kommandos nicht aus. Der Tuya-Converter ist von einigen aktualisierten Paketen abhängig.
sudo apt-get update && sudo apt-get upgrade -y
Zum klonen der Git-Repository, müssen wir erstmal GIT installieren.
sudo apt install git
So können wir die tuya-convert Repository klonen. Wir legen also eine lokale kopie an.
git clone https://github.com/ct-Open-Source/tuya-convert
Jetzt erstmal mit cd ins eben heruntergeladene tuya convert Verzeichnis wechseln.
cd tuya-convert
Dann können wir die Voraussetzungen per Skript installieren.
./install_prereq.sh
Zur sicherheit noch den Wi-Fi Adapter frei machen.
rfkill unblock wifi
Und schon steht dem Starten von Tuya-Convert nichts mehr im Wege.
sudo ./start_flash.sh
Falls nun Meldungen kommen, einfach mit y bestätigen damit die Dienste, die bereits Ports bellegen, beendet werden können. Danach sollte es bei dir in etwa so aussehen:
3.2 Mit vtrust flash verbinden
Okay, so weit so gut. Nun musst du unbedingt ein Gerät wie dein Smartphone oder Tablet mit dem ungesichertem WLAN vtrust flash verbinden. Dieses WLAN wird von deinem Raspberry Pi ausgesendet und dient dazu, dein Smart Life Gerät zu flashen. Es muss mindestens ein Gerät im WLAN sein, sonst funktioniert das ganze nicht.
Sollte sich bei dir keine WLAN-Verbindung herstellen lassen:
- Beende das Programm mit der Tastenkombination STRG + C
- Führe die Befehle von oben ab rfkill unblock wifi erneut aus
- Versuche die WLAN-Verbindung erneut herzustellen
3.3 Gerät in den Pairing Modus versetzen
Jetzt musst du dein Gerät in den Pairing Modus versetzen. Ziehe hierzu am besten die Anleitung zu Rate. Hier sind einige Möglichkeiten, den Pairing Modus zu aktivieren:
- Bei Intelligenter Steckdose(nleiste) den Knopf 5 Sekunden lang drücken -> schnelles Blinken der Geräte LED
- Smarte Glühbirne einschalten, direkt danach für 3-5 Sekunden ausschalten -> 3 mal wiederholen -> Glühbirne blinkt schnell
- Bei WLAN Lichtschalter 5 Sekunden lang Schalter-Taste halten -> LED leuchtet wiederholt 3 mal auf
3.4 Flashen
Sobald das Gerät im Pairing Modus ist, musst du die Enter Taste in der Raspberry Pi SSH Session drücken.
- Danach versucht sich Tuya-Convert zu deinem Smart Life Gerät zu verbinden.
- Sollte dein Gerät auf den Verbindungsversuch reagieren, wird die Firmware zuerst gesichert
- Anschließend werden einige Infos abgefragt und es wird geprüft, ob das Gerät kompatibel ist
- Wenn dein Gerät kompatibel ist, kannst du mit der Taste 2 die Tasmota Firmware flashen
- Falls bei diesem Schritt etwas schiefgeht, ist dein Gerät i.d.R. unbrauchbar
4 Gerät einrichten
Jetzt da du die alternative Tasmota Firmware auf deinem Smart Device hast, musst du dich mit dem WLAN tasmota-XXXX verbinden, um die Einrichtung des Gerätes abzuschließen.
Sobald du eine Verbindung mit dem WLAN hergestellt hast, sollte eine Seite mit der URL http://192.168.4.1 geöffnet werden, in der du deine WLAN zugangsdaten eintragen kannst. Entweder du trägst deinen WLAN Namen manuell ein oder du tippst oben auf Scan for wifi networks.
5. Gerät konfigurieren
Okay, du hast es fast geschafft. Dein Smart Life Gerät ist im WLAN. Zuerst musst du jetzt die IP-Adresse des Gerätes herausfinden. Am einfachsten geht das über deinen Router (z.B. FritzBox) oder einen Netzwerkscanner. Halte einfach ausschau nach einem Gerät mit dem Namen tasmota-xxxx. Wenn du die IP-Adresse gefunden hast, rufe diese in deinem Web-Browser mit dem Präfix http:// auf.
Nun musst du nur noch die vorher gefundene Config von https://templates.blakadder.com kopieren.
Und diese schlussendlich auf der eben geöffneten Konfigurationsoberfläche deines umgeflashten Tuya Gerätes einfügen und speichern.
Danach wird das Gerät neu starten. Anschließend, sollten auch bei dir Buttons erscheinen um das Gerät zu steuern:
Puh, ganz schön viel Arbeit… Aber nun bist du wieder Herr über dein Gerät und kannst selber entscheiden, welche Funktionen du ab und anschalteste ;). Wie gehts jetzt weiter?
Wie bereits gesagt, für die Steuerung über Alexa oder Google Home einfach unter Configuration -> Configure Other -> Emulation: Hue Bridge multi device anhaken. Über das Homebridge Plugin homebridge-hue kannst du das Gerät dann auch wieder über dein iPhone steuern.
Für weitere Automationen oder die Anbindung an IFTTT empfehle ich dir einen MQTT Broker wie z.B. Hass.io. Sobald ich etwas Zeit hatte, mich einzuarbeiten, werden auch hier Anleitungen folgen 😉