Günstige Wifi-Steckdose von OBI als Alternative zu Sonoff S20
Gepostet am 23. März 2018  (Zuletzt geändert am 27. November 2021 )
3 Minuten • 508 Wörter • Andere Sprachen: English
In der c’t 02/2018 entdeckte ich einen Artikel zu einer günstigen Wifi-Steckdose mit einem umprogrammierbaren ESP8266 - die Sonoff S20. Nachdem ich den Artikel gelesen hatte, habe ich gleich eine S20 bestellt und dann umprogrammiert. Ich war und bin zufrieden.
Nun entdeckte ich bei OBI eine vergleichbare Wifi-Steckdose für unter 10 €. Im Internet findet man relativ wenig über das Gerät, weshalb ich meine geistreichen Ergüsse nun hier zusammentrage.
Hinweis: Die Wifi-Steckdose hat nichts in einer Steckdose zu suchen, solange daran herumgebastelt wird. Hier besteht Gefahr für Leib und Leben!
Hardware
Die Gehäusehälften sind mit 2 Sicherheitsschrauben verschraubt.

Ich habe sie mit einem halbwegs passenden Schlitzschraubendreher entfernen können. Danach lassen sich die Gehäusehälften mit sanftem Druck links und rechts und etwas ruckeln von einander lösen.

Nun lässt sich die Platine mit einer Schraube abschrauben.

Zum Vorschein kommt der senkrecht verbaute ESP8266. Die Pins auf der Trägerplatine sind unerwarteterweise beschriftet.

An diese Pins lässt sich nun eine Buchsenleiste löten . Alternativ habe ich für mich die quick-’n’-dirty-Variante umgesetzt. Sie besteht aus einer zweireihigen Stiftleiste und einem gefalteten Notizzettel, der die Stiftleiste festhält.

Jetzt lässt sich ein handelsüblicher FTDI-Adapter anschließen.
- VCC -> 3,3V (FTDI)
- RESET -> n.c.
- TXD -> RXD (FTDI)
- GND -> GND (FTDI)
- RXD -> TXD (FTDI)
- GPIO0 -> gebrückt auf GND
- GND -> gebrückt auf GPIO0
Software
Ich habe mir Atom und das Plugin platform-io installiert. Außerdem habe ich die Sourcen des letzten Releases vom Tasmota-Projekt heruntergeladen, entpackt und in Atom geöffnet.
In platformio.ini habe ich die Zeile “env_default = sonoff-DE” einkommentiert, um lediglich die diese Variante bauen zu lassen.

In sonoff/user_config.h habe ich mir dann noch verschiedene Standardwerte gesetzt, um nach einem Reset mit der Konfiguration nicht bei “0” anfangen zu müssen. Da wären:
- die Sprache (MY_LANGUAGE)
- Wlan-Konfiguration (STA_SSID1 und STA_PASS1)
- Mqtt-Konfiguration (MQTT_HOST und MQTT_PORT)
- NTP-Server (NTP_SERVER*)
Außerdem habe ich noch für mich unnötige Services deaktiviert, indem ich die Attribute auskommentiert habe:
- Domoticz (USE_DOMOTICZ)
- HomeAssistant (USE_HOME_ASSISTANT)
- mDNS (USE_DISCOVERY)
Flashen
Der FTDI-Adapter wird mit dem PC verbunden. Hierbei darauf achten, dass GPIO0 und GND gebrückt sind. Anschließend die Brücke lösen.
Der Flashvorgang wird ganz einfach mittel ALT+STRG+U gestartet.

Wenn alles fertig ist, sollte eine Erfolgsmeldung ähnlich dieser hier zu sehen sein:

Der Programmieradapter kann nun entfernt und das Gehäuse wieder geschlossen werden.
Konfiguration Tasmota
Wenn die Wifi-Steckdose nun in eine “richtige” Steckdose gesteckt wird, passiert ersteinmal nicht viel. Der Button funktioniert nicht und ob die Steckdose gerade eingeschaltet ist, hängt wohl vom Zufall ab.
Die Konfiguration erfolgt über das Webinterface. Klicks auf “Einstellungen” und “Gerät konfigurieren” folgen. Zuerst wird der “Geräte Typ” auf “18 Generic” gesetzt und gespeichert. Anschließend wie folgt:

Konfiguration openHAB 3.x
Die Installation und Konfiguration eines Mqtt-Brokers wird an dieser Stelle vorausgesetzt und ist somit nicht Teil dieses Beitrags. In openHAB selbst muss das mqtt-Binding installiert und konfiguriert sein. Things und items lassen sich über das UI erstellen oder aber auch ganz klassisch über Textfiles:
// conf/things/mqtt.things
Thing topic obisocket "Obi-Steckdose" {
Channels:
Type switch : POWER "OBI-Steckdose" [ stateTopic="obisocket/stat/POWER", commandTopic="obisocket/cmnd/POWER" ]
}
// conf/items/myitems.items
Switch ObiSocketPower "OBI-Steckdose" <switch> { channel="mqtt:topic:<broker>:obisocket:POWER" }
