===== Sonoff S20 mit ESP-Easy =====
Nach dem Einstecken der Sonoff S20 Steckdose zeigt sich diese nach kurzer Zeit im WLAN mit der SSID: **ESP_Easy_0** \\
Am Besten mit dem Smartphone zu dieser SSID connecten und dass nachfolgende Passwort eingeben. \\
\\
**SSID : ESP_Easy_0** \\
**PASSWORT : configesp** \\
**WEBSERVER: http://192.168.4.1** \\
\\
Anschließend mit dem Smartphone die o.g. IP-Adresse 192.168.4.1 im Browser (Safari/Chrome) eingeben und man wird sofort zur Konfigurationsoberfläche weitergeleitet. \\
Dort muss man das lokale WiFi-Netzwerk auswählen und das zugehörige Passwort eingeben. Danach auf **connect** klicken. \\
Nach dem Runterzählen 15->0 sollte eine IP-Adresse gezeigt werden über die die S20 Steckdose nun über das lokale Netzwerk per Browser erreichbar ist. \\
Falls nicht, dann diesen Schritt nochmal wiederholen. \\
\\
==== S20 konfigurieren und mit Smarthome verbinden ====
Nun sind ein paar Schritte erforderlich, damit die Steckdose funktionstüchtig ist und manuell und auch per SmartHome geschaltet werden kann.\\
=== Controller ===
Auf der Weboberfläche muss nun im Menü **Controllers** die Verbindung zum Smarthome angegeben werden. \\
Dort auf **Edit** klicken und ausfüllen. \\
\\
**Beispiel FHEM**:\\
Protokol = FHEM HTTP \\
Controller IP = IP-Adresse des FHEM Servers \\
Controller Port = Connection Port des FHEM Servers (default 8383) \\
Controller User = Benutzername für die Verbindung (optional) \\
Controller Password = Passwort für die Verbindung (optional) \\
**ACHTUNG:** Wenn username/password vergeben werden, müssen diese selbstverständlich auch in FHEM bei der espBridge über **set** hinzugefügt werden. \\
\\
{{:public:espeasy-5.jpg?500|}}
\\
**Zusatz FHEM-Webinterface:**\\
Damit FHEM die ESPEasy-Devices sehen kann, muss einmalig eine Bridge konfiguriert werden.
define espBridge ESPEasy bridge 8383
=== Hardware ===
Um die LED der Steckdose anzusteuern müssen wir nun den GPIO-13 als Status-LED definieren.\\
{{:public:sonoffs20_1.jpg?600|}}
\\
=== Devices ===
Unter den Devices müssen zwei Schalter als **Switch Input - Switch** definiert werden. Die Konfigurationen müsseen folgendermaßen aussehen:\\
{{:public:sonoffs20_2.jpg?600|}}\\
{{:public:sonoffs20_3.jpg?600|}}\\
{{:public:sonoffs20_4.jpg?600|}}\\
\\
=== Rules ===
Falls der Reiter **Rules** noch nicht vorhanden ist, dann diesen unter **Tools > Advanced** aktivieren und mit **Submit** speichern.\\
{{:public:sonoffs20_5.jpg?600|}}\\
Anschließend ist der Reiter **Rules** im Menü sichtbar, under dem man einen Regelsatz mit folgendem Inhalt als **Rules Set 1** abgelegt und speichern:\\
On PowerOn Do
gpio,12,1
EndOn
On PowerOff Do
gpio,12,0
EndOn
On Button#State Do
If [Button#State] = 0
gpio,12,0
Else
gpio,12,1
EndIf
EndOn
Falls in der Sonoff S20 ein Radarsensor eingebaut ist, dann kann noch folgendes Regelset unter **Rules Set 2** abgelegt werden. \\
on Radar#Motion Do
if [Radar#Motion] = 1 and [GPIO12#value] = 1
timerSet 1,120 // 120 second timer
endif
if [Radar#Motion] = 1 and [GPIO12#value] = 0
gpio,12,1
timerSet 1,120 // 120 second timer
endif
endon
on Rules#Timer=1 do
gpio,12,0 // Turn off relay
Delay 8000
endon
=== Steuer URL ===
Nun kann die S20-Steckdose manuell per Knopfdruck als auch über folgende URL's geschaltet werden:\\
Einschalten: [[http://ip-adresse/control?cmd=event,PowerOn]]\\
Ausschaten: [[http://ip-adresse/control?cmd=event,PowerOff]]\\
\\
=== FHEM Device Konfiguration ===
Unter FHEM wird automatisch ein neues Device angelegt. Die Steckdosen kann folgendermaßen zum ein/aus schalten konfiguriert werden:\\
define ESPEasy_Sonoff1_relais ESPEasy 80 espBridge Sonoff1_relais
attr ESPEasy_Sonoff1_relais IODev espBridge
attr ESPEasy_Sonoff1_relais Interval 300
attr ESPEasy_Sonoff1_relais alias Sonoff-1
attr ESPEasy_Sonoff1_relais devStateIcon on:ios-on-green off:ios-off
attr ESPEasy_Sonoff1_relais eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
attr ESPEasy_Sonoff1_relais group ESPEasy Device
attr ESPEasy_Sonoff1_relais icon ge_wht_steckdose
attr ESPEasy_Sonoff1_relais presenceCheck 1
attr ESPEasy_Sonoff1_relais readingSwitchText 1
attr ESPEasy_Sonoff1_relais room ESPEasy
attr ESPEasy_Sonoff1_relais stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Switch","")}