@turbion Wie mir gerade auffällt, hab ich viel geschrieben und das sieht wahrscheinlich ziemlich kompliziert aus. Aber viel Geschreibsel war wahrscheinlich unnötig, da sich die Dinge eh aus dem Ablauf der Programmabfragen ergeben oder recht selbstverständlich sind. Wenn es dir zu doof ist, alles durchzulesen, kannst du ja auch einfach eine frische SD-Karte aus dem Vorrat neu mir Raspbian bespielen und den Raspi-Anleitungen folgen. Dann musst du das vorhandene Betriebssystem nicht "verschmutzen"
Im Prinzip könntest du die Raspi-Anleitung auch auf einem "ausgewachsenen" Linuxrechner verwenden. Aber Docker kann z.B. maulen, wenn man ihn installieren will und schon eine "fremde" Dockerinstallation vorhanden ist. Da kann man dann unsicher werden, ob alles passt.
Außerdem erleichtert eine grafischen Nutzeroberfläche schon manches. Man muss sich nicht mit "cd" durch die Verzeichnisse wühlen, sondern kann (zumindest bei Linux Mint) einfach im Dateimanager mit der rechten Maus klicken und "in Terminal öffnen" wählen, muss github nicht installieren...
Vor dem Flashen sollte man die Version der Original-Software auf dem Tuya-Gerät herausfinden, die braucht man später. Dafür muss man das Teil einmalig auf dem Handy mit der Tuya Smart App aus dem Playstore verbinden. Leider muss man dafür ein Userkonto anlegen. Die Firmware findet sich unter Menü -> Upgrade "Hauptmodulnummer". In meinem Fall war das 1.1.8.
Danach, so habe ich gelesen, soll man das Gerät wieder aus der App löschen (Menü -> Gerät entfernen -> Trennen und Löschen Sie alle Daten von der App).
Wenn du jetzt die Firmware-Version (Hauptmodulnummer ) kennst, lohnt sich nachzusehen, ob die nicht dummerweise schon wieder gepatcht ist, so das CloudCutter nicht mehr funktioniert. Eine Liste bekannter gepachter Geräte/Firmware-Versionen findet sich z.B. hier. Wenn deine Steckdosen also z.B. die Firmware-Version 1.1.12 oder 1.1.15 haben sollten, ist die Gefahr groß, dass es nichts wird mit CloudCutter.
Eigentlich ist noch wichtig, was für einen Chip die Geräte haben, also meist einen BK7231N, BK7231S oder BK7231T. Aber selbst wenn du genau dein Gerät in einer Liste wiederfindest, könnte es sein, dass der Hersteller inzwischen die Hardware geändert hat. Öffnen kann man die Teile ja oft kaum noch. Aber im Allgemeinen macht das nichts; bei CloudCutter kann man die passende neue Firmware anhand von Original-Versionsnummer und Geräteart wählen. So gab es bei mir für Firmware 1.1.8 folgende Möglichkeiten:
1.1.8 - BK7231N / oem_bk7231n_plug
1.1.8 - BK7231T / oem_bk7231s_rnd_switch
Da ich auch eine Steckdose flashen wollte, musste es wohl die für den BK7231N-Chip sein
Wenn du einen "richtigen" Rechner mit Linux (z.B. Linux Mint ist recht Windows-ähnlich) zur Verfügung hast, würde ich erstmal CloudCutter von github runterladen. OpenBeken brauchst du nicht extra suchen, das ist CloudCutter-Zip mit dabei. Nicht die allerneueste Version, aber man kann ja später komfortabel OTA updaten.
Den Zip dann entpacken (z.B. bei Linux Mint rechte Maus -> hier entpacken). In das entpackte Verzeichnis wechseln, dort (Mint) rechte Maus -> im Terminal öffnen. Dann bist mit dem Terminal schon in dem Verzeichnis. Jetzt ist die Frage, ob auf deinem Linux schon der Netzwerkmanager (wahrscheinlich schon) und Docker (eher nicht) installiert ist. Ich würde einfach mal probieren, CloudCutter zu starten, der sagt schon, wenn er noch was braucht.
Dafür sudo ./tuya-cloudcutter.sh eingeben.
Wird daraufhin [!] WARNING: Selected wifi AP support: ja ausgegeben (mit dem "ja"), denn klappt das mit dem Netzwerk schon mal. Sollte so sein, wenn nicht, muss wohl der Netzwerkmanager installiert werden, dann sag nochmal Bescheid.
Normalerweise sollte es aber nach Bestätigung mit Tastendruck weitergehen. Dann braucht CloudCutter den Docker. Ist der nicht installiert, bricht CloudCutter mit einer Fehlermeldung ab:
common.sh: Zeile 113: docker: Befehl nicht gefunden
Failed to build Docker image, stopping script
Sollte das der Fall sein, sollte Docker mit folgendem Befehl installiert werden können:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
(alles in eine Zeile)
Dann kann man es noch einmal probieren mit:
sudo ./tuya-cloudcutter.sh
und der Script sollte jetzt weiterlaufen. Bei der nächsten Abfrage wählt man "2) Flash 3rd Party Firmware". Auf die Frage "[?] How do you want to choose the device?:" antwortet man mit "By firmware version and name". Dann kommt eine lange Liste von Original-Firmware-Versionen und Geräten, in der du hoffentlich deine Steckdose identifizieren kannst. Bei mir war es z.B. "1.1.8 - BK7231N / oem_bk7231n_plug"
Danach musste ich dem Script noch die Erlaubnis geben, dass es den Port 53 für sich freiräumen darf. Und dann kommt schon, man kann es kaum fassen, die Frage, welche custom firmware man installieren will, EspHome-Kickstart oder OpenBeken Nach der Wahl muss man die Steckdose dann in den AccessPoint-Modus versetzen. Bei mir ging das durch langes Drücken von 7+ Sekunden, loslassen, die Steckdose blinkte schnell, erneutes langes Drücken, die Steckdose blinkte langsamer, das war der AP-Modus. Danach wurde die Dose durch CloudCutter geflascht.
Ist das geschehen und hat sich die Steckdose neu gestartet, dann sollte sie unter der IP 192.168.4.1 ein WLAN aufspannen, dass erkennbar etwas mit OpenBK oder ähnlich im Namen führt. Mit dem WLAN verbindet man sein Handy/Notebook, gibt im Browser 192.168.4.1 ein und gelangt auf eine Tasmota-ähnliche Oberfläche. Hier den WLAN-Zugang konfigurieren, die Steckdose resetten und man hat sie im heimischen Netzwerk und findet ihre IP in der Netzwerkübersicht des Routers.
Dann sollte man noch die Pins konfigurieren. Das kann man, wenn man die Zuordnung kennt, im Config-Menü der Web-GUI. Kennt man sie nicht, kann man unter "Launch Web Applications" -> "Config" -> "Devices" ein passendes Template findet. Bei mir hat "Tuya Tuya AU LSPA9? Smart Socket Energy Monitoring", fast, aber nicht ganz gepasst. Bei meiner Dose liegt der Button nämlich auf Pin 10, Channel 1.
Will man die Dose in z.B. ioBroker einbinden, dann sollte man unter "config" -> "Configure General/Flags" noch die "Flag 30 - [MQTT] Enable Tasmota TELE etc publishes (for ioBroker etc)" setzen. Bei mir wurde die Dose danach in ioBroker erkannt, die Verbrauchswerte werden angezeigt, sie lässt sich schalten. Aber leider poppen im Protokoll bisher jede Sekunde mehrere Warnungen über gelöschte Botschaften auf, sobald Dose und ioBroker über MQTT kommunizieren.
Puh, ich hoffe, ich hab dich nicht zu sehr zugeschwallt
LG