Sonoff S20 Steckdose

Ich habe mich neulich etwas mit den "Smarten Steckdosen" der Firma ITEAD beschäftigt. Genauer gesagt mit dem Model "Sonoff S20".

Normalerweise funktionieren smarte Steckdosen über eine Cloudlösung des Herstellers. So auch bei der Sonoff S20. Das gute an den Sonoff Geräten ist aber, dass sie im inneren auf einem ESP8226 basieren. Somit eignen sie sich perfekt zum Betrieb mit einer Custom-Firmware.

Warum eine Custom-Firmware?

Ich habe die Funktionen der originalen Steckdose nie ausprobiert. Kaufgrund war für mich ganz klar neben dem billigen Preis von unter 10€ je Steckdose, dass die Geräte ohne eine proprietäre Cloud betrieben werden können.

Wenn ich dazu eine andere Firmware auf die Geräte flashen muss ist das ok für mich.

Ich verwende bei mir Sonoff-Tasmota. Diese Firmware ist Open Source und wird auf GitHub entwickelt. Sie unterstützt jede Menge verschiedene Geräte, bietet massig Funktionen und wurde in mehre Sprachen übersetzt.

Erforderliche Hardware

  • Sonoff S20 Steckdose (ca 10€)
  • USB FTDI Adapter (ca 3€)
  • Pin header
  • Lötkolben

    USB FTDI Adapter und Pin Header

Benötigte Software

Prüfen ob der USB FTDI Adapter funktioniert

Steckt den Adapter an euren PC und prüft im Gerätemanager, ob der Adapter erkannt wird. Falls der Adapter nicht auftaucht müssen eventuell die Treiber manuell installiert werden. Mein Adapter wurde unter Windows 10 ohne Probleme erkannt.

Merkt euch außerdem den angezeigten Com-Port. "COM3" in meinem Beispiel.

USB-FTDI-Adapter Gerätemanager

Installation von PlatformIO IDE

Installation von PlatformIO IDE im Atom Editor

Danach muss Atom einmal neugestartet werden.

Firmware anpassen

Auf GitHub stehen auch direkt fertig kompilierte Images der Firmware zur Verfügung. Wer möchte kann direkt ein solches Image auf seine Sonoff Steckdose flashen. Die Steckdose öffnet dann ein W-LAN über das die Konfiguration der Steckdose über ein Web Frontend durchgeführt werden kann.

Ich zeige in diesem Beispiel allerdings der vollständig Halber, wie man die Firmware selber anpassen kompilieren und flashen kann.

Zuerst muss die aktuelle Version von Sonoff-Tasmota als Zip-Archiv heruntergeladen werden und auf dem Computer entpackt werden.

Danach den kompletten Ordner in der PlatformIO IDE in Atom öffnen Tasmota mit PlatformIO bearbeiten

Nun passen wir in der Datei platformio.ini ein paar Werte an.

Zuallererst definieren wir, dass wir die Firmware in deutscher Sprache kompilieren möchten.

; *** Uncomment one of the lines below to build/upload only one environment
env_default = sonoff
env_default = sonoff-DE

Danach müssen wir noch den COM-Port richtig definieren. In meinem Fall ist dies COM3. Diese Information bekommt ihr im Gerätemanager.

; *** Upload Serial reset method for Wemos and NodeMCU
upload_port               = COM3

Öffnet als nächstes die Datei sonoff\my_user_config.h. Auch hier müssen nicht viele Werte angepasst werden.

Zuerst wird der Name eures W-Lans und das entsprechende Passwort gesetzt.

#define STA_SSID1              "Daniels WLAN"          // [Ssid1] Wifi SSID
#define STA_PASS1              "Mega Passwort"         // [Password1] Wifi password

Danach habe ich noch die Zeitzone gesetzt.

#define APP_TIMEZONE           2                        // [Timezone] +1 hour (Amsterdam) (-13 .. 14 = hours from UTC, 99 = use TIME_DST/TIME_STD)

Aufgrund der Winterzeit ist das aktuell +2. Mit Sommerzeit dann +1.

Mehr Einstellungen habe ich bei mir nicht vorgenommen. Ich nutze bei mir ein eigenes VLAN für IoT Geräte, welches nicht geroutet wird. Wer dies nicht hat, oder mehr Sicherheit wünscht, sollte in jedem Fall ein Passwort für den Webserver setzen.

Kompiliert nun die Firmware und lasst das Fenster offen. Tasmota Firmware kompilieren

Firmware flashen

Nachdem die Steckdose geöffnet wurde müssen die serielle Pins angelötet werden. Sonof S20 serielle Pins

Danach die Anschlüsse mit dem USB Adapter Verbinden Sonof S20 Verkabelung

Wenn der USB Adapter mit der Steckdose verbunden ist, drückt den Taster auf der Steckdose und steckt gleichzeitig den USB Adapter in einen USB Port. Haltet den Taster noch für 2 Sekunden gedrückt.

Jetzt ist die Steckdose im "Flash Mode" und ihr könnte die Firmware hochladen.

Sonoff Firmware Upload

Baut die Steckdose wieder zusammen und steckt sie in eine Steckdose.

Steckdose einrichten

Wenn die Sonoff Steckdose nun zum ersten mal eingesteckt wird solle sie grün blinken.

Wenn alles geklappt hat, sollte sich die Sonoff Steckdose jetzt mit dem W-LAN verbinden. Über den DHCP Server (bei mir der UniFi Controller) kann dann die IP-Adresse herausgefunden werden.

IP-Adresse der Sonoff Steckdose

Danach kann das Webfrontend über den Browser erreicht werden. Sollte sich die Sonoff Steckdose nicht mit eurem W-Lan verbinden, prüft mit einem Handy (oder anderem W-LAN Gerät) ob die Steckdose eventuell einen Hotspot eröffnet hat um die Konfiguration abzuschließen. Ich hatte dies bei einer meiner drei Sonoff Steckdosen... Warum kann ich nicht sagen.

Sonoff Tasmota Web interface

Folgende Konfiguration solltet ihr setzen:

Einstellungen Gerät konfigurieren Gerätetyp (Sonoff Basic) auf Sonoff S2X (8) stellen.
Einstellungen WLAN konfigurieren Hostname einen namem für die Steckdose vergeben.
Wenn ihr keinen MQTT Broker habt, oder MQTT nicht verwenden wollt:
Einstellungen Sonstige Einstellungen MQTT aktivieren deaktivieren. (Dann hört auch das grüne blinken auf)

Sollte die Steckdose als Zeitschaltuhr genutzt werden empfele ich euch zuerst die Einstellungen der Uhrzeit zu überprüfen. Die Tasmota-Firmware nutzt einen NTP-Server im Internet um die Uhrzeit automatisch zu setzen. Ob dies geklappt hat und ob die Uhrzeit Richtig ist, könnt ihr mit dem Befehl Status 7 abfragen. Sonoff Tasmota Uhrzeit abfragen

Ich nutze die Sonoff Steckdosen bei mir als Zeitschaltuhr. Bei meinem Aquarium darf ich eigentlich mindestens einmal im Jahr eine Zeitschaltuhr tauschen, da diese einfach defekt ist, ihr Programm vergessen hat oder andere Probleme macht.

Ich hoffe das ich diese Probleme nun nicht mehr habe.

Alte kaputte Zeitschaltuhren