Tuya Geräte von der Cloud befreien

Raspberry Pi 7-Zoll-Touchscreen-Display mit Gehäuse Rahmen - 1024x600 Unterstützung, Type-C, IPS 178° Ultra-Weitwinkel-Monitor mit Kühlungslüfter, 10 Finger Capacitive Touch
Raspberry Pi 7-Zoll-Touchscreen-Display mit Gehäuse Rahmen - 1024x600 Unterstützung, Type-C, IPS 178° Ultra-Weitwinkel-Monitor mit Kühlungslüfter, 10 Finger Capacitive Touch
--

Immer mehr Geräte, die von Tuya gelabelt sind, werden nicht mehr mit einem ESP ausgestattet. Hier sind uns die Hände gebunden, diese Geräte mit einer cloud freien Software zu versehen. Felix hat in mehreren Tutorials gezeigt, wie man die Chips mit einem ESP ersetzt. Es geht aber auch anders, ohne löten, ohne die Geräte aufzumachen, sondern einfach over the air. Hier zeige ich euch, wie es bei mir funktioniert hat

  • Was wird benötigt:
    • Ein Tuya Gerät (in meinem Fall LSC Gartenspot)
    • einen Raspberry Pi oder einen Computer mit WLAN und LAN
    • etwas Zeit
      • Noch eine Anmerkung zu den Geräten. In den Tuya Geräten werden seit längerer Zeit Nicht-ESP Steuerungschips verbaut. Hier unterscheidet man zwischen
      • BK7231T (WB3S, WB2S, WB2L, etc)
      • BK7231N (CB2S, CB2L, WB2L_M1, etc)

        Es gibt noch weitere Chips, aber bei denen ist nicht immer das flashen über OTA möglich. Wie bekommt ihr nun raus, welcher Chip verbaut ist? Das sicherste ist es, das Gerät zu öffnen und zu gucken Verlasst euch nicht zwangsläufig auf Informationen, die ihr im Netz findet (LSC hat zb bei den Moodlights die Chips zwischenzeitlich geändert) Wenn ihr die falsche Firmware flasht, kommt ihr ums löten nicht herum. Zur Sicherheit schadet es auch nicht, dass Gerät kurz in der Tuya/Smartlife/LSC App zu installieren. Dies ist notwendig, um die aktuelle Firmware des Geräte zu ermitteln. Dazu einfach auf das Gerät klicken -> Menü -> Upgrade -> Hauptmodul Nummer merken.
        In dem Cloud Cutter Projekt sind schon eine Vielzahl an Geräten hinterlegt. Manche fehlen aber. Um dennoch über die OTA Varianten die richtigen Preloads zu wählen, wird die Hauptmodulversion benötigt.

        Wenn das Gerät mit der Tuya-App verbunden ist, muss es anschließed über Menü – Gerät entfernen -> Trennen und Löschen Sie alle Daten von der App gelöscht werden.
  • Raspberry aufsetzen
    Hier also erstmal den Pi aufsetzen. Dazu das entsprechende Image laden, installieren und den PI mittels Netzwerkkabel mit dem Router verbinden. Hier dann mittels SSH auf den PI verbinden.

    Dann den Pi updaten mit dem Befehl

    sudo apt get update && apt-get upgrade -y

    Anschließend muss der PI noch etwas bearbeitet werden:

    sudo apt install network-manager

    damit wird der Network-Manager installiert.

    Danach:
    sudo nano /etc/dhcpcd.conf

    hier wird am Ende folgendes eingefügt:

    denyinterfaces wlan0

    Anschließend muss noch folgende Datei editiert werden:

    sudo nano /etc/NetworkManager/NetworkManager.conf

    Hier den Inhalt komplett löschen und diesen Inhalt einfügen:

    [main]
    plugins=ifupdown,keyfile
    dhcp=internal
    [ifupdown]
    managed=true

    Speichern, schließen und den Pi neu starten

    Fast fertig, nun noch ein paar Sachen nach installieren: Git, Docker und das Repository clonen:

    curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

    sudo apt install git

    git clone https://github.com/tuya-cloudcutter/tuya-cloudcutter

    und wenn noch nicht vorhanden

    sudo apt install wget

    Anschließend wechselt ihr in das Verzeichnis Custom-Firmware

    cd tuya-cloudcutter/custom-firmware/

    In diesem Verzeichnis wird die neue Firmware, womit die Tuya Geräte geflasht werden, gespeichert. In diesem Verzeichnis führt man folgenden Befehl aus um die aktuelle Firmware runterzuladen und zu speichern:

    wget <Link zur BIN>
    • eine Übersicht findet ihr hier: https://github.com/openshwprojects/OpenBK7231T_App/releases
      wichtig ist hier, das ihr die UG Variante nehmt.
  • Auf gehts mit dem Flashen:

    Legt das Gerät in unmittelbare Nähe zum Pi. Wechselt per SSH in das Verzeichnes

    tuya-cloudcutter

    Hier führt ihr folgenden Befehl aus:

    sudo ./run_flash.sh

    Hier startet ein Assistent, der euch durch die Installation führt:

  • Ab diesem Moment könnt ihr in Ruhe einen Kaffe trinken und die Fenster putzen gehen. Gerade auf dem Pi3 dauert es eine gefühlte Ewigkeit, bis alle 10 Schritte durchlaufen sind.
    Irgendwann ist es aber soweit und ihr könnt weiter machen:

Hier wählt ihr eure Firmware aus und bestätigt mit Enter


Wählt hier By firmware version and name aus. Anschließend scrollt ihr in der Liste zu eurer Firmwareversion und bestätigt mit Enter. Dann sollt ihr ein Gerät aus der Liste auswählen, könnt hier aber nehmen was ihr wollt.

Jetzt wird euch das Script durch die Installation führen. Als erstes muss, dass Tuya Gerät in den Acces Point Mode gebracht werden. Bei Lampen diese 6x an und wieder ausschalten. Das Gerät hat zwei Zustände. Sollte es schnell blinken ist es im Anlernmodus und es muss noch einmal 6x an und ausgeschaltet werden. Danach blinkt es langsam und befindet sich im Accespoint Modus. Das Script verbindet sich jetzt mit dem Gerät. Ihr werdet dann irgendwann nochmal aufgefordert, dass Gerät aus und wieder einzuschalten. Sollte im Script der Fehler kommen, dass sich das Script nicht mit dem Gerät verbinden kann, dann dieses erneut, wie oben beschrieben in den AP Modus bringen.

Danach führt das Script seine Arbeit aus und ist nach 1-2 Minuten fertig. Nach kurzer Zeit schaut mit eurem Handy ins WLan. Hier sollte sich ein neuer Acces Point hervortun, der OpenBeken oder so ähnlich heißt. Mit diesem verbinden und mit der IP 192.168.4.1 befindet ihr euch auf der Startseite von Openbeken.

Glückwunsch, dass Gerät hat eine Custom Firmware drauf und ist von der Cloud befreit. Zur Einrichtung von OpenBeken schreibe ich in kürze etwas.