Tuya und Tuyaconvert
Wer mit smarten Steckdosen, Leuchte, Lampen etc. hantiert, wird früher oder später auf den Namen Tuya stoßen. Die Plattform wird kommerziell an Firmen verkauft, die eigene IoT-Gadget auf den Markt bringen aber keine Backend-Struktur betreiben wollen. Meist basieren die Systeme auf dem bekannten ESP8266 und werden vom Hardware-Hersteller einfach in eigene Geräte integriert. Von Tuya kommt dann die Firmware, das Backend und sogar die App um das "Smarte Gerät" zu verwalten.
Smart Home by Tuya
Wie bei vielen ESP8266-Derivaten üblich, lässt sich durch mehrfachen Drücken eines Tasters oder Ein/Aus-Schaltungen ein Initialisierungsmode starten, bei dem das Gerät einen AccessPoint aufspannt.
Das Gerät wird über die Tuya-App konfiguriert, welche Sie erst auf ihrem Smartphone installieren und ein Konto einrichten müssen. Eine Konfiguration oder Nutzung der App oder des Device ohne Cloud ist anscheinend nicht möglich. Tuya kennt also immer ihre Telefonnummer oder Mailadresse und ihren Standort. Nach der Einrichtung können Sie dann ihr Device mit dem temporär aufgespannten WLAN des Geräts verbinden, Über UDP-Pakete, die die App regelmäßig sendet, erhält das Gerät dann die SSID, das Kennwort und ihre ID, so dass sich das Gerät an der Tuya-Cloud anmelden kann.
- Homepage Tuya
https://www.tuya.com/
Idealerweise reicht dann genau auch diese eine App, um alle Geräte zu steuern, die auf der Tuya-Plattform basieren. Umgekehrt bedeutet dies aber auch, dass ohne die Tuya-Cloud nichts nutzbar ist und ein Hersteller ihre Daten verwaltet, von dem Sie die Geräte weder gekauft haben noch einen anderen Vertrag abgeschlossen haben. Größter Kritikpunkt ist hier natürlich die Sicherheit nud die Angst ist nicht ganz unberechtigt.
- Sicherheitslücke: Tausende
Smart-Home-Geräte angreifbar
https://www.heise.de/newsticker/meldung/No-Name-Hausautomation-Luecke-erlaubt-leichten-Firmware-Upload-4284783.html - Smart-Home-Hack: Tuya veröffentlicht
Sicherheits-Update
https://www.heise.de/newsticker/meldung/Smart-Home-Hack-Tuya-veroeffentlicht-Sicherheitsupdate-4292028.html - Homepage/Firma von Michael Steigerwald,
Autor des 35C3 Vortrags
https://www.vtrust.de/
Smart Home - Smart Hack Wie der Weg ins
digitale Zuhause zum Spaziergang wird
https://media.ccc.de/v/35c3-9723-smart_home_-_smart_hack
Hier wurde nun real präsentiert, was wir eigentlich schon immer alle wussten. Sehr viele Smart Devices basieren im Innern alle auf dem ESP8266 und auch wenn die Programmierung einfach ist und sogar viele freie fertige Firmware-Lösungen bereit stehen, gibt es halt auch Firmen, die als Anbieter einer eigenen Firmware samt einem Baukasten zur App-Entwicklung und der erforderlichen Backend-Struktur (Server in der Cloud). Dass bei dem Preisdruck und Geschwindigkeit die Sicherheit und der Datenschutz auch mal absichtlich unter den Tisch fällt, verwundert kaum.
Die verschiedenen Geräte mögen zwar nett sein aber warum gibt es keine Option ohne Cloud zu arbeiten. Also bleibt doch wieder umflashen.
Daher war es nur eine Frage der Zeit, bis jemand den "Upgrade-Mechanismus" dieser Geräte analysiert und über DNS-Umleitungen und eigene Server diese Geräte mit einer eigenen Firmware versieht.
Eigene Firmware mit Löten
In meinem Fall waren es vier Steckdosen des Herstellers Gosund. SP111 Smart Socket, welche ca. 13€/Stück im 4-er Paket gekostet haben und per WLAN sowohl 230V schalten als auch den Stromverbrauch messen sollen.
- Gosund Smart Wi-Fi Plug SP111
https://www.gosund.com/download/smart_plug/126.html
Die Steckdosen kommen gut verpackt und sehen hochwertig aus
Ich habe mich schon vorher im Internet informiert und die Steckdosen sind sehr einfach zu öffnen. eine kleine Kreuzschraube hält den Einsatz fest und darunter kommt ein ESP8266 mit beschrifteten Kontaktflächen (GND, TxD, RxD, IO0, 3,3Volt) zum Vorschein.
Das ist eine einfache Übung hier vier Kabel anzusetzen oder über Kontakte aufzulegen und eine eigene Firmware zu flashen. Da brauchen wir nur die Pins zum Schalten und zur Energiemessung. Auch hier haben anderen Autoren schon ganze Arbeit geleistet.
Das GS111 und die Shelly PlugS-Geräte (Shelly IoT) sind sehr ähnlich aufgebaut.
- Gosund SP111 mit Tasmota
https://www.bastelbunker.de/gosund-sp111-mit-tasmota/
Das Gosung SP111 entspricht dem "Blitzwolf BW-SHP2". Natürlich kann ich auch eine andere Firmware verwenden. - Der kleinste und beste smarte
Zwischenstecker mit Leistungsmessung
https://ownsmarthome.de/2019/01/07/der-kleinste-und-beste-smarte-zwischenstecker-mit-leistungsmessung/
Gosund SP111 mit Tasmota flashen
https://www.youtube.com/watch?v=_cVoaJAQ0V4
Alles über die Gosund SP111 Steckdose
[Smart Home, Tasmota, Flashen, Tuya, SmartLife, Alexa, MQTT]
https://www.youtube.com/watch?v=trkCGIxGu7I
OTA flashen wieder möglich [Smart Home
Tuya LSC smart connect Maxcio Etersky gosund ioBroker]
https://www.youtube.com/watch?v=jkHaffRVRrE
Beim Einsatz von Tasmota ist als Gerät ein "45 BlitzWolf SHP2" einzustellen, wobei GPIO1 und GPIO3 auf den Wert "00" gestellt werden. Weiterhin messen wir die Spannung natürlich in "Volt" und über "PowerSet" kann man eine Kalibrierung machen, d.h. man schließt einen entsprechenden stabilen Verbraucher (klassische Glühbirne mit bekanntem Verbrauch) an und trägt den gemessenen Wert ein. Über SetOption21=1 kann man die Spannung auch ausgeschaltet messen und mit SetOption0=1 stellt das Relais den Zustand nach einem Stromausfall wieder her. Mit dem Wert bei Teleperiod stelle ich das Intervall für den Verbrauch ein. Mir reicht hier alle 60 Sekunden.
- BAUSATZ - Blitzwolf BW-SHP6/Gosund SP111
TASMOTA Flashtool + USB-Konverter (15,90€)
https://www.ebay.de/itm/264489975341
Fertiger Bausatz mit Kontaktstiften und Träger aus dem 3D-Drucker zum Flashen ohne Löten
Tuya Convert: Firmwaretausch ohne Löten
Wenn Sie lieber nicht lösen oder Geräte öffnen, dann gab es zumindest Anfang 2019 noch eine Lösung diese Geräte zu aktualisieren. Alle Tuya-Geräte haben einen eingebauten Update-Mechanismus, über den Sie eine neue Firmware von Tuya über Internet beziehen können und diesen Weg kann man kapern.
Wenn man bedenkt, dass die Firmware nicht nur ihr WLAN-Kennwort kennt sondern auch in ihrem Haus-LAN Mitglied ist, eröffnet das ganz neue Optionen für Angreifer. Ein ESP8266 kann problemlos selbst DHCP-Server sein und als Man in the Middle Verbindungen mitlauschen, ihr Subnetz abscannen oder als Wanze missbrauch werden. Da frage ich mich wirklich, ob das Autoupdate einer Firmware vom Hersteller oder einer anderen Quelle in meinem Interesse ist.
Nachdem die Technik des Update analysiert und die schwache Absicherung verstanden wurde, war es wohl nur ein kleiner Schritt eine "Internet Simulation" auf Basis eines Raspberry aufzusetzen, der ein WLAN samt DHCP und DNS-Service aufspannt und die Anfragen des IoT-Geräts einfach anstelle von Tuya beantwortet. So bekommen Sie dann eine eigene Firmware (Siehe auch ESP8266 3rd Party Firmware) ganz ohne Lösen auf das Gerät
Es gibt erste Hinweise, dass Tuya das Update besser absichern will und das Update auf dem Weg irgendwann nicht mehr gehen könnte. Daher schaue ich immer nach Geräten, die auch per Lötpads erreichbar sind.
Eine genaue Beschreibung der Einrichtung erspare ich mir, da es massenhaft Seite und insbesondere den c't-Artikel und das GitHub-Repository sehr umfangreich sind.
Tuya Geräte mit Tasmota per OTA
flashen 2020 [Gosund Nous SP 111 Steckdose]
https://www.youtube.com/watch?v=h0zotDplv2k
Tasmota OTA auf Gosund Steckdosen
https://www.youtube.com/watch?v=xKHZILKtMP4
Hier nur eine Kurzfassung mit einem Raspberry Pi
# Rasbian Lite auf SD-Karte kopieren # Datei "ssh." anlegen, damit der RasPI den SSH Daemon startet. # Anschluss an Ethernet # WLAN Adapter mit AP-Mode Support in USB-Port stecken. # Einschalten # Putty: Anmelden mit User:pi Kennwort:raspberry # Updates einspielen sudo apt-get update && sudo apt-get -y upgrade # git installieren sudo apt-get install git # Tuya-Convert laden und installieren git clone https://GitHub.com/ct-Open-Source/tuya-convert cd tuya-convert sudo ./install_prereq.sh # Tuya Convert Dienste starten (DHCP, DNS, MQTT und HTTP-Server) sudo ./start_flash.sh # Nun das fragliche Gerät in den Pairing-Mode versetzen. Meist ein Druck auf eine Taste oder mehrfach Ein/Ausschalten # Am Ende den RasPi sauber herunter fahren sudo shutdown now
Das Device sollte dann per WLAN die SSID-Broadcasts mit den Zugangsdaten erkennen und sich mit dem vom Raspberry aufgespannten WLAN verbinden. Tuyaconvert installiert dann erst
- Tuya-Convert: IoT-Geräte ohne Löten vom
Cloud-Zwang befreien
https://www.heise.de/ct/artikel/Tuya-Convert-IoT-Geraete-ohne-Loeten-vom-Cloud-Zwang-befreien-4283623.html - Tuya: Neuer Update-Prozess gehackt
https://www.heise.de/ct/artikel/Tuya-Neuer-Update-Prozess-gehackt-4578042.html - Using Only a Stock Raspberry Pi ZeroW
and USB Cable
https://GitHub.com/ct-Open-Source/tuya-convert/wiki/Using-Only-a-Stock-Raspberry-Pi-ZeroW-and-USB-Cable - Flash your Tuya/SmartLife Switches Over
the Air - No soldering!
https://www.reddit.com/r/homeassistant/comments/akea2n/flash_your_tuyasmartlife_switches_over_the_air_no/ - SmartLife Hack - TUYA-CONVERT: OTA Flash
OHNE Öffnen und Löten von Gosund, SWA1, Tuya..
https://forum.creationx.de/forum/index.php?thread/1525-smartlife-hack-tuya-convert-ota-flash-ohne-%C3%B6ffnen-und-l%C3%B6ten-von-gosund-swa1-tuya/ - Der Tuya-Smart-Home-Hack IoT-Komponenten
von unsicherer Tuya-Firmware befreien
https://www.heise.de/select/ct/2019/4/1550226849835235 - Tuya OTA
https://GitHub.com/arendst/Sonoff-Tasmota/wiki/Tuya-OTA - Flash Tasmota firmware Over The Air on
Tuya Wifi switches
http://www.bernaerts-nicolas.fr/iot/363-tasmota-firmware-ota-tuya-switch
- Liste der "Compatible devices"
https://GitHub.com/ct-Open-Source/tuya-convert/wiki/Compatible-devices - Raspberry Pi: SSH aktivieren bei
Raspbian Jessie lite
https://technikkram.net/2016/12/raspberry-pi-ssh-aktivieren-bei-raspbian-jessie-lite
Damit Sie per SSH auf einen RasPI ohne Monitor zugreifen können.
Mein Einsatz
Ich habe alle vier Steckdosen auf Tasmota umgeflashed und in mein FCIOT-WLAN eingebunden. Dort können Sie nur meinen MQTT-Server erreichen aber nie mehr zu Tuya oder das Internet kommunizieren. Die Zwischenstecker sind an ausgewählte Systeme angeschlossen, z.B.
- Fernseher
Damit kann ich per Zeitsteuerung das Gerät komplett stromlos machen aber auch die Nutzung erkennen. Wer minderjährige Kinde hat, sollte darauf achten womit sie ihre Zeit verbringen - Waschmaschine und Trockner
Hier kann das ansonsten "dummer Gerät" etwas smarter gemacht werden, indem das Ende der Laufzeit erkannt und gemeldet wird. Interessant ist hier aber auch das "Einschalten" zu geplanten Zeiten oder wenn die Solaranlage genug Strom liefert - Kühlschränke/Gefrierschränke
Hier überbrücke ich das Relays, damit diese Geräte nicht aus versehen ausgeschaltet werden und beschränke mich auf die Ermittlung des Stromverbrauchs - Pool-Pumpen u.a.
Die Messung des Stromverbrauchs erlaubt durchaus Rückschlüsse auf das Betriebsverhalten. Das gilt insbesondere, wenn der Energiebedarf sich in bekannten Regionen bewegt und plötzlich mehr oder deutlich weniger Energie benötigt wird. So lässt sich indirekt ein verstopfter Zulauf oder eine trockenlaufende Pumpe erkennen.
Ich bin sicher, sie haben auch noch die ein oder andere Idee. Ja, man kann auch per Smartphone die Gartenbeleuchtung oder andere Verbraucher "smart" schalten aber eigentlich interessiert mich eher die Automatisierung um eben nicht dauert mit Smartphone o.ä. agieren zu müssen.
Auch im IT-Umfeld kann so eine Zwischensteckdose an einem Switch, Router oder PC nicht nur den Strombedarf erfassten sondern auch ein Fern-Reset und Stromsparfunktionen ermöglichen.
Weitere Links
- ESP8266 3rd Party Firmware
- Shelly IoT
- SONOFF mit ESP8266
- Sicherheitslücke: Tausende
Smart-Home-Geräte angreifbar
https://www.heise.de/newsticker/meldung/No-Name-Hausautomation-Luecke-erlaubt-leichten-Firmware-Upload-4284783.html - Sensate
https://www.sensate.io/de
Firmware für ESP8266 gegen Cloud für eigene Projekte. Geschäftsmodell unklar