Warnung! Die folgenden Arbeiten betreffen Geräte, welche mit 230V arbeiten. Laut Gesetz dürfen Arbeiten an 230V nur von ausgebildeten Fachkräften (z.B. Elektriker) durchgeführt werden!

Es besteht die Gefahr schwerer Verletzungen bis hin zum Tod. Des weiteren können unsachgemäße Arbeiten zu Fehlfunktionen, Kurzschlüssen bis hin zum Brand des Gerätes (und evtl. des gesamten Hauses) führen. Ihre Versicherung wird keine Sach- oder Personenschäden bezahlen, welche auf unsachgemäßen Umgang mit 230 V oder Einsatz nicht zugelassener Geräte zurückzuführen sind!

Der Sonoff S20 Smart Socket ist ein Zwischenstecker zum Schalten eines angeschlossenen Verbrauchers. Ein formschönes und unauffälliger Zwischenstecker, mit dem man z.B. auch einen Heizlüfter (max. 2200 Watt) schalten kann.

 

Technische Daten

Model: Sonoff S20
Power Supply: 90-250 VAC
Stand-by Power: <= 0.5 W
Chanels: 1 Relais
Max. Power: 2200 W
Max Current: 10 A
WiFi: 802.11 b/g/n
WiFi Security: WPA / WPA2
Enclosure: FR-ABS

 

Flashen

Der aufgeschnappte Deckel kann mit einem kleinen Schraubendreher vorsichtig geöffnet werden. Im Bild oben sind die beiden Schnappösen zu sehen. An der Seite sind noch vier Kunststoffführungen zu sehen.
Das Unterteil mit den angelöteten 230V-Drähten liegt jetzt vor uns.
Die Schraube links ist zu entfernen.
Die Schraube rechts ist zu entfernen.

Die Platine kann vorsichtig hochgeklappt werden. Dann ist eine 4-polige Steckerleiste einzulöten. Der Aufdruck auf der Platine ist richtig. Zum Flashen:

  • USB-Interface mit der Steckerleiste verbinden
  • GPIO0-Button drücken und festhalten
  • USB-Interface am PC einstecken
  • GPIO0-Button nach etwa 3-5 Sekunden loslassen
  • Jetzt per PlatformIO die Tasmota-Firmware hochladen
  • Modul konfigurieren und testen
  • USB-Interface abstecken und Gehäuse wieder zusammenbauen
Das serielle Interface kann jetzt angesteckt und das Modul geflasht werden. Anschließend Stecker abziehen und Gehäuse wieder verschrauben.

 

Tasmota-Anpassungen

Es sind keine Anpassungen am Quellcode vorzunehmen.

 

Tasmota Konfiguration

Als Gerätetyp ist "S20 Socket" zu wählen. Anschließend speichern.
Auch für den Zwischenstecker gibt es 16 Schaltpunkte.
Im WLAN-Menü stellt man den Hostnamen ein.
Hier ist der MQTT-Hostname einzugeben. Außerdem sind Topic und Full Topic entsprechend zu vereinbaren.
Für Tests wählt man die Telemetrieperiode mit 30-60 Sekunden. Im Betrieb sollte der Wert auf 900 Sekunden erhöht werden, um den Datenverkehr zu minimieren.
Für Amazon Alexa wählt man "Belkin WeMo" als Emulation und vereinbart den "Friendly Name" auf den Alexa hören soll.
In der Konsole prüft man, ob MQTT ordnungsgemäß arbeitet.
Auf der Hauptseite sieht man den Schaltzustand und kann über den Button auch ein-/ausschalten.

 

 

OpenHAB Items

In OpenHAB werden folgende Items für dieses Gerät angelegt:


//=======================================================================================//
// File: item/sonoff-s20.items  Rev. 21.06.2018 / 08:55                                  //
// (C) 2018 IoT-Systems, D-83043 Bad Aibling                                             //
// Author: Andreas Kriwanek                                                              //
//=======================================================================================//
// Project: Generic Sonoff S20 Items                                                     //
//=======================================================================================//

// Groups for charting S20:
Group gChartS20_1     "Sonoff S20 1"     

// chart time range Basic:
Number chartPeriodS20_1  "Auswahl"

// Items for Sonoff Basic 1 (S20_1-4088):
//=======================================================================================//
// SONOFF Basic 1 (Tasmota) Measurement data:
Switch dataRelaisS20_1 "Relais S20 1" 
    { mqtt=">[mosquitto:Test/Switch/S20_1/cmnd/POWER:command:*:default],
            <[mosquitto:Test/Switch/S20_1/stat/POWER:state:default]" }

// Sonoff S20 1 (Tasmota) Administration data:
String bootModuleS20_1 "Modul [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO1:state:JSONPATH($.Module)]" }
String bootVersionS20_1 "Version [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO1:state:JSONPATH($.Version)]" }
String bootFallbackS20_1 "Fallback Topic [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO1:state:JSONPATH($.FallbackTopic)]" }
String bootGroupS20_1 "Group Topic [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO1:state:JSONPATH($.GroupTopic)]" }
String bootWSModeS20_1 "Webserver Mode [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO2:state:JSONPATH($.WebServerMode)]" }
String bootHostnameS20_1 "Hostname [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO2:state:JSONPATH($.Hostname)]" }
String bootIPAddressS20_1 "IP-Adresse [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO2:state:JSONPATH($.IPAddress)]" }
String bootRestartReasonS20_1 "Restart Grund [%s]" 
    { mqtt="<[mosquitto:Test/Switch/S20_1/tele/INFO3:state:JSONPATH($.RestartReason)]" }
String parUpdateS20_1 "Letzter Update [%s]" 

 

OpenHAB Sitemap

In OpenHAB wird folgende minimale Sitemap für dieses Gerät angelegt:


//=======================================================================================//
// File: sitemaps/sonoffs20.sitemap  Rev. 21.06.2018 / 08:55                             //
// (C) 2018 IoT-Systems, D-83043 Bad Aibling                                             //
// Author: Andreas Kriwanek                                                              //
//=======================================================================================//
// Project: Sonoff S20                  					                             //
//=======================================================================================//
sitemap sonoffs20 label="Sonoff S20 Modul"
{
	Frame {
		Text item=actDate icon="time"
	}
	Frame label="Schalter S20" {
		Switch item=dataRelaisS20_1
	}
	Frame label="Status Sensor" {
		Text label="Sonoff S20 1" icon="ak_info" {
			Frame label="Sonoff S20 1" {
				Text item=bootModuleS20_1
				Text item=bootVersionS20_1
				Text item=bootFallbackS20_1
				Text item=bootGroupS20_1
				Text item=bootWSModeS20_1
				Text item=bootHostnameS20_1
				Text item=bootIPAddressS20_1
				Text item=bootRestartReasonS20_1
				Text item=parUpdateS20_1
				Text item=parUptimeS20_1
				Text item=parVccS20_1
				Text item=parWiFiAPS20_1
				Text item=parWiFiSSIDS20_1
				Text item=parWiFiRSSIS20_1
				Text item=parWiFiMacS20_1
			}
		}
	}
}

// vim: syntax=Xtend
Die Hauptseite in OpenHAB
Die Unterseite mit den Modulparametern.

 

Links

Produktseite: http://sonoff.itead.cc/en/products/residential/s20-socket
Wiki: https://www.itead.cc/wiki/S20_Smart_Socket
Tasmota: https://github.com/arendst/Sonoff-Tasmota/wiki/Sonoff-S20-Smart-Socket