Neue Tuya Firmware

Das Flashen von Tuya Smart Home Geräten mit einer alternativen Firmware ist ein Prozess, der es ermöglicht, die Geräte von der Tuya-Cloud zu entkoppeln und sie stattdessen lokal über einen eigenen HomeServer zu steuern. Dies verbessert die Privatsphäre und reduziert die grosse Abhängigkeit von externen chinesischen Diensten. Eine der bekanntesten alternativen Firmwares für Tuya-Geräte ist Tasmota oder ESPHome. Beide basieren auf der ESP8266/ESP32-Plattform, die in vielen Tuya-Geräten verwendet wird.

Spione aus China

Sämtliche Schaltbefehle dieser Geräte, ob nun via App oder Sprachassistent, gehen an chinesische Server und von dort wieder zurück, um die zahlreich vertretenen Geräte zu steuern. Ein Horrorszenario für die Sicherheit des heimischen Netzwerks. So werden mitunter WiFi-Passwörter im Klartext oder auch die vollständigen Standortdaten übertragen. Wer sich nun denkt was denn schon passieren sollte außer, dass jemand vielleicht das Licht oder die Steckdosen schaltet?, liegt daneben. Mit Hilfe dieser IoT-Geräte können chinesische, russische und nordkoreanische Hacker wunderbar schadhaften Code und Angriffe auf ein Heimnetzwerk führen.

Damit die Tuya Geräte, die ich bei AliExpress und Amazon erworben habe nicht mehr nach China telefonieren müssen, habe ich hier eine Anleitung erstellt, wie man die guten und günstigen Tuya-Geräte flashen und sie mit einem eigenen HomeServer (z. B. Home Assistant) verbinden kann:

1. Voraussetzungen

Bevor wir beginnen, stellen wir sicher, dass wir folgende Hardware und Software zur Verfügung haben:

Hardware:

  • Ein Tuya-basiertes Smart Home Gerät (z. B. Steckdose, Lichtschalter, etc.)
  • Ein USB-zu-Seriell-Adapter (z. B. FTDI-Adapter)
  • Jumper-Kabel für die Verbindung zwischen dem Adapter und dem Gerät
  • Ein Computer mit USB-Anschluss

Software:

  • Python (für die Installation von Flashing-Tools)
  • Tuya-Convert (für OTA-Updates, falls unterstützt)
  • Tasmota oder ESPHome Firmware-Datei
  • Home Assistant oder ein anderer HomeServer für die lokale Steuerung

2. Firmware wählen

Wählen Sie die Firmware aus, die am besten zu Ihrem Setup passt:

  • Tasmota: Ideal für einfache Steuerung, umfangreiche Integration mit MQTT und Home Assistant.
  • ESPHome: Besonders gut für tiefe Integration mit Home Assistant und Anpassungsmöglichkeiten.

3. Geräte identifizieren

Stellen Sie sicher, dass Ihr Tuya-Gerät auf der ESP8266/ESP32-Plattform basiert. Das können wir anhand der Modellnummer oder durch Öffnen des Geräts und Suchen nach dem Chip identifizieren.

4. Flashen mit Tuya-Convert (OTA)

Falls Ihr Gerät OTA-Updates unterstützt, können Sie es drahtlos flashen. Dies ist der einfachste Weg.

a. Tuya-Convert vorbereiten:

  1. Installieren Sie Tuya-Convert auf einem Linux-Rechner oder Raspberry Pi.
     git clone https://github.com/ct-Open-Source/tuya-convert
     cd tuya-convert
     ./install_prereq.sh
  2. Stellen Sie sicher, dass Ihr Gerät sich im Pairing-Modus befindet (normalerweise durch das Halten eines Knopfes für 5-10 Sekunden).

b. Firmware flashen:

  1. Starten Sie den Flashing-Prozess:
     ./start_flash.sh
  2. Folgen Sie den Anweisungen auf dem Bildschirm, um die Firmware auf das Gerät zu übertragen.
  3. Wählen Sie Tasmota oder ESPHome als die neue Firmware aus.

5. Flashen über USB-Seriell-Adapter (Manueller Weg)

Falls OTA nicht möglich ist, müssen Sie das Gerät physisch mit einem USB-zu-Seriell-Adapter verbinden und flashen.

a. Gerät öffnen:

  • Öffnen Sie das Tuya-Gerät vorsichtig, um Zugang zu den GPIO-Pins zu erhalten. Normalerweise befinden sich diese auf einer ESP8266/ESP32-Platine im Inneren.

b. Pins verbinden:

  • VCC an 3.3V des Adapters
  • GND an GND des Adapters
  • TX an RX des Adapters
  • RX an TX des Adapters
  • GPIO0 an GND (nur zum Starten im Flash-Modus, danach trennen)

c. Firmware flashen:

  1. Laden Sie die Tasmota- oder ESPHome-Firmware auf Ihren Computer.
  2. Verwenden Sie das esptool (ein Python-Tool), um die Firmware zu flashen:
     esptool.py --port /dev/ttyUSB0 write_flash -fm dout 0x0 tasmota.bin

    Ersetzen Sie /dev/ttyUSB0 durch den entsprechenden Port Ihres Adapters und tasmota.bin durch den Namen Ihrer Firmware-Datei.

6. Konfiguration der neuen Firmware

Nach dem Flashen der neuen Firmware muss das Gerät konfiguriert werden, um sich mit Ihrem HomeServer zu verbinden.

a. Erstkonfiguration:

  • Verbinden Sie sich mit dem neuen Wi-Fi-Netzwerk, das das Gerät bereitstellt (z. B. "Tasmota-XXXX").
  • Öffnen Sie einen Browser und gehen Sie zu 192.168.4.1, um die Konfigurationsseite zu laden.
  • Geben Sie die Details Ihres Heimnetzwerks ein, damit das Gerät sich mit Ihrem Router verbinden kann.

b. MQTT-Integration (für Tasmota):

  • In den Tasmota-Einstellungen richten Sie die Verbindung zu Ihrem MQTT-Broker ein, der mit Ihrem HomeServer (z. B. Home Assistant) verbunden ist.
  • Geben Sie die IP-Adresse Ihres MQTT-Brokers, den Port (standardmäßig 1883), und die Anmeldedaten ein.

c. Home Assistant Integration:

  • In Home Assistant verwenden Sie die Tasmota- oder ESPHome-Integration, um das Gerät hinzuzufügen.
  • Das Gerät sollte automatisch erkannt werden und Sie können es direkt aus der Home Assistant Oberfläche steuern.

7. Sicherstellen der lokalen Steuerung

Durch das Flashen der Firmware ist das Gerät nicht mehr mit der Tuya-Cloud verbunden und kommuniziert nur noch lokal.

  • Firewall-Einstellungen: Stellen Sie sicher, dass das Gerät keine ausgehenden Verbindungen zu Tuya-Servern herstellt, indem Sie entsprechende Firewall-Regeln setzen.
  • Überwachung: Überwachen Sie den Datenverkehr, um sicherzustellen, dass keine unerwarteten Verbindungen hergestellt werden.

8. Backup und Updates

  • Backup: Machen Sie regelmäßige Backups Ihrer Firmware-Konfigurationen.
  • Updates: Aktualisieren Sie Tasmota oder ESPHome regelmäßig, um Sicherheitslücken zu schließen und neue Funktionen zu erhalten.

Mit dieser Anleitung können Sie Ihre Tuya Smart Home Geräte erfolgreich flashen, um sie vollständig lokal über Ihren eigenen HomeServer zu steuern. Dies erhöht die Sicherheit und Kontrolle über Ihre Geräte und schützt Ihre Daten vor dem Zugriff durch Dritte.