UPDATE: Problem beim Einsatz von MQTT – ausführlichere Beschreibung der Kalibierung
“Smarte” Steckdosen gibt es mittlerweile wie Sand am Meer. Leider funktionieren die Meisten ebenso nur mit der Cloud des nicht all zu seriösen Anbieters. Wenn man das aber nicht ändern könnte würde ich ja nicht anfangen hier zu schreiben 😉
Als Einstieg verlinke ich euch hier den interessanten und kurzweiligen Vortrag Smart Home – Smart Hack vom 35C3 – gehalten von Michael Steigerwald.
Findige Hacker rund um die c’t’ haben die Schwachstelle nun auf eine sehr einfache Weise nutzbar gemacht. Alles was es braucht ist ein Raspberry Pi, ein anderes WLAN-fähiges Gerät wie ein Smartphone oder Tablet und eben eine der benötigten Dosen.
Die bei mir im Einsatz befindlichen Dosen findet ihr so bei den gängigen Händlern wie Amazon und co. unter dem Stichwort TECKIN SP22.
WARNUNG vorab: Ihr könnt maximal 2200 Watt darüber “jagen”. Bei dem Einsatz solcher Dosen für die Mikrowelle oder anderen starken Verbrauchern wäre ich also vorsichtig und rate da eher zu den großem Bruder SP21. Diese habe ich aber bisher nicht im Einsatz bei mir, sollen aber genauso kompatibel sein.
Sobald ihr die Dosen in euren Händen haltet braucht ihr euch nicht mit der (schlechten) deutschen Anleitung beschäftigen, sondern könnt euch gleich an die Anleitung aus dem folgenden Link zu Github machen
Probleme hatte ich bei der Wahl des Geräts. Mein Laptop wollte trotz Ubuntu und externen WLAN-Stick nicht funktionieren. Daher leiht euch entweder einen Raspberry bei Freunden aus oder kauft einen der sinnvollen kleinen Computer. Diesen kann man auch zu vielem mehr verwenden.
Auch schwierig war die Wahl des WLAN-Geräts. Mein S10e funktionierte nicht, denn das Skript verlangt zunächst ein anderen WLAN Gerät zu verbinden bevor es zum Hack kommt. Mein Mediapad X2 dagegen klappte damit ohne Murren.
Nach dem ihr die Anleitung bis zum Ende befolgt habt, bekommt ihr ein cloudfreies Gerät mit offener Firmware Sonoff installiert. Bei den von mir genutzten Dosen muss man noch unter “Configuration->Configuration Module” bei dem Dropdown “Teckin” (nicht Teckin US!) auswählen. Nach einem Neustart funktioniert auch das Ein und Ausschalten.
Weiterhin müssen sie leider kalibiert werden. 276 V haben nun wirklich nichts mit der wirklichen Netzspannung zu tun. Tipp: Verwendet ein Gerät mit einem feststehenden Verbrauch (eine Glühbirne bspw.). Ein Multimeter ist auch hilfreich um die Spannung zu bestimmen.
Falls ihr sowas nicht besitzt, könnt ihr sicher bei eurem örtlichen Hackerspace um Hilfe bitten, aber natürlich auch im Freundeskreis nachfragen.
Ich habe bei den Dosen die Erfahrung gemacht sinnvollerweise die Voltzahl zuerst zu kalibieren durch den Einsatz des Befehls VoltageSet 233. Setzt für 233 einfach den von euch gemessenen Wert ein. Danach schaut bei dem vorher eingeschalteten Verbraucher ob die Watt-Zahl in etwa hinkommt (Wert: Power) und ob der “Powerfactor” in etwa 1 beträgt. Dies funktioniert aber nur bei etwas stärkeren Verbrauchern bei mir zuverlässig. Falls der Wert nicht zutrifft könnt ihr mit PowerSet 60.0 diesen Wert auf die Wattzahl eures Verbrauchers anpassen
Mehr Tipps zur Kalibierung findet ihr im Sonoff-Wiki.
Handelt aber stets vorsichtig. Die volle Netzspannung ist kein Spielzeug mit dem man so leichtfertig umgehen darf. Im Zweifel lasst euch dabei helfen!
Ich konnte durch die Dosen herausfinden, dass unsere Waschmaschine (ein älteres Modell und schon damals nicht “High-End”) ein ziemlicher Stromfresser ist. Oben ist der Verbrauch nach einer Kurzwäsche zu sehen. Insgesamt habe ich nun 6 dieser Dosen im Einsatz welche über MQTT mit meiner Smarthomezentrale FHEM kommunizieren.
Die Dosen hängen aber natürlich nicht direkt im Internet bei mir, sondern in einem eigenen VLAN, was ich euch nur auch raten kann. Denn Schwachstellen gibt es immer und gerade bei steuernden Komponenten möchte man die nicht ins Internet lassen.
Problem beim Einsatz von MQTT
Falls ihr die Dosen über Mosquitto kommunizieren lasst, kann es passieren, dass die Dosen aus heiterem Himmel einfach neustarten. Falls dies bei euch auftritt hilft es folgende Befehle nacheinander in die Konsole einzutippen:
switchretain off
buttonretain on
buttonretain off
PowerOnState 3
Warum dies passiert könnt ihr unter der dritten Quelle nachlesen. Dort findet sich auch die Erklärung der Befehle, wenn ihr neugierig seid.
Quellen:
https://github.com/ct-Open-Source/tuya-convert
https://media.ccc.de/v/35c3-9723-smart_home_-_smart_hack
http://www.thesmarthomehookup.com/end-random-ghost-switching-for-good-by-fixing-your-retain-settings-in-tasmota-and-home-assistant/