Sonoff: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 121: Zeile 121:
<div style="clear:both;"></div>
<div style="clear:both;"></div>


  on Key#KeyVal do
  on PUMP#Key do
   if [Key#KeyVal]=1
   if [PUMP#Relay]=1
    gpio,12,0
  else
     gpio,12,1
     gpio,12,1
  else
    gpio,12,0
   endif
   endif
  endon
  endon
  on Relais#RelaisVal do
  on PUMP#Relay do
   if [Relais#RelaisVal]=1
   if [PUMP#Relay]=1  
     gpio,13,0
     gpio,13,0
   else
   else
Zeile 135: Zeile 135:
   endif
   endif
  endon
  endon
Diese Rules ermöglichen, das bei lokaler Bedienung durch den Taster auch die '''Led''' richtig geschaltet wird.
Diese Rules ermöglichen, das bei lokaler Bedienung durch den Taster auch die '''Led''' richtig geschaltet wird.
Mit 'on Key' wird geprüft ob die Taste gedrückt ist schaltet dann die Led. Mit den Rules können auch Timer oder sonstige Spielereien realisiert werden. Siehe dazu das [http://www.esp8266.nu/index.php/Tutorial_Rules Tutorial] von ESPeasy.
Mit 'on PUMP#Key do' wird geprüft ob die Taste gedrückt ist schaltet dann entsprechend die Led. Mit den Rules können auch Timer oder sonstige Spielereien realisiert werden. Siehe dazu das [http://www.esp8266.nu/index.php/Tutorial_Rules Tutorial] von ESPeasy.
<div style="clear:both;"></div>
<div style="clear:both;"></div>


Zeile 154: Zeile 153:
  ##########################################
  ##########################################
   
   
  define ESPEasy_sonoff_1_Relais ESPEasy 10.0.0.37 80 espBridge sonoff_1_Relais
  define ESPEasy_sonoff_1_PUMP ESPEasy 10.0.0.37 80 espBridge sonoff_1_PUMP
  attr ESPEasy_sonoff_1_Relais IODev espBridge
  attr ESPEasy_sonoff_1_PUMP IODev espBridge
  attr ESPEasy_sonoff_1_Relais devStateIcon on:rc_GREEN:off off:rc_RED:on absent:rc_BLUE:off gpio:rc_YELLOW:off
  attr ESPEasy_sonoff_1_PUMP devStateIcon on:rc_GREEN:off off:rc_RED:on absent:rc_BLUE:off gpio:rc_YELLOW:off
  attr ESPEasy_sonoff_1_Relais eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
  attr ESPEasy_sonoff_1_PUMP eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
  attr ESPEasy_sonoff_1_Relais group ESPEasy Device
  attr ESPEasy_sonoff_1_PUMP group ESPEasy Device
  attr ESPEasy_sonoff_1_Relais icon hue_filled_outlet
  attr ESPEasy_sonoff_1_PUMP icon hue_filled_outlet
  attr ESPEasy_sonoff_1_Relais room ESPEasy
  attr ESPEasy_sonoff_1_PUMP room ESPEasy
  attr ESPEasy_sonoff_1_Relais stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"RelaisVal","")}
  attr ESPEasy_sonoff_1_PUMP setState 0
  attr ESPEasy_sonoff_1_Relais webCmd :
attr ESPEasy_sonoff_1_PUMP stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Relay","")}
  attr ESPEasy_sonoff_1_PUMP webCmd :Hier ein Beispiel wie die automatische Konfiguration die Einträge generiert sobald Readings von sonoff eintreffen.
hier ein Beispiel wenn man händisch etwas mithilft und eigene Icons setzt.
define ESPEasy_sonoff_1_Key ESPEasy 10.0.0.37 80 espBridge sonoff_1_Key
attr ESPEasy_sonoff_1_Key IODev espBridge
attr ESPEasy_sonoff_1_Key group ESPEasy Device
attr ESPEasy_sonoff_1_Key room ESPEasy
Hier ein Beispiel wie die automatische Konfiguration die Einträge generiert sobald Readings von sonoff eintreffen.




Zeile 181: Zeile 175:


[[Kategorie:Other Components]]
[[Kategorie:Other Components]]
[[Kategorie:IP Components]]

Version vom 21. Oktober 2016, 08:46 Uhr

sonoff Switch, dieser Artikel beschreibt die Ankopplung des kostengünstigen sonoff Switch an FHEM mit ESPEasy.


Seit einiger Zeit werden von der Fa. Itead kostengünstige "sonoff" Produkte angeboten die glücklicherweise den ESP8266 Chip On Board haben und somit die ideale Grundlage für ESPEasy und für Fhem darstellen.


Nützliche Links zum Hersteller:

User Manual von Itead

Sonoff Schaltplan

sonoff Switch

Das sonoff Modul ist in einem zweckmäßigen und gefälligem Gehäuse verbaut!

Warnung Netzspannung

Bitte unbedingt die elektrotechnischen Sicherheitsrichtlinien beachten und einhalten!

Hardware

Platine

sonoff Switch von vorne

Die Platine ist sehr übersichtlich aufgebaut und der Hersteller hat auch alle Vorbereitungen zum Flashen der Software einer alternativen Software vorgesehen (über serielle Schnittstelle via FTDI-Modul). Mit einer alternativen Software wie ESPEasy ist eine direkte Ankopplung des sonoff an FHEM somit ein leicht durchführbarer Vorgang.

sonoff Switch von hinten

Achtung: An dem Modul liegt Netzspannung an die lebensgefährlich ist. Es dürfen nur entsprechend ausgebildete Personen dieses Modul in Betrieb nehmen. Zum Umbau und zur Softwareaktualisierung darf keine Netzspannung angeschlossen sein

Die stromführenden Leitungen wurden mit Lötzinn vom Hersteller verstärkt um die angegebenen Stromstärken mit geringer Hitzeentwicklung zu transportieren.

Vorbereitungen zum Flashen

serielle Schnittstelle

Hier auf der Platine sind die benötigten Signale für ein FTDI Modul schon vorhanden. Der quadratische Pin gleich über den Taster ist die Spannungsversorgung während dem Flashen vom FDTI von 3.3V Es muss daher unbedingt ein FTDI Modul genommen werden, dass nicht nur einen Jumper für 3.3V besitzt sondern auch die Spannung auf 3.3V herab setzt. Ist dies nicht der Fall, läuft man Gefahr das Modul unbrauchbar zu machen. Es ist daher zu empfehlen einen Spannungsteiler mit 2 Widerständen oder einen Pegelwandler zwischenschalten.

Signale der Schnittstelle

von oben nach unten auf der Steckerleiste des sonoff U4.

Pin5 = vorbereitet für GPIO
Pin4 = Masse
Pin3 = TxD
Pin2 = RxD
Pin1 = 3.3V

Siehe dazu auch den Link aus dem Forum:

Platine mit Stiftleiste bestücken

Platine mit Stiftleiste bestücken

Der Hersteller hat zwar schon die Platine vorbereitet, jedoch muss sie noch mit einer Stiftleiste bestückt werden um das FTDI Modul verbinden zu können.

Achtung: Bitte vor den Arbeiten kontrollieren, das an der Platine keine Netzspannung angeschlossen ist, LEBENSGEFAHR!

Software

ESPEasy flashen

sonoff mit angestecktem FDTI Adapter

Die Spannungsversorgung des sonoff Moduls wird hier vom FTDI Konverter mit 3.3V über die Verbindungskabel zum Pfostenstecker durchgeführt.

mit Arduino compilieren

Einstellung Arduino IDE

Wer selber mit der Arduino IDE compilieren will bitte folgende Einstellungen beachten. Die anschließenden Arbeiten sind dann gleich wie bei der fertige Binary.

Generic ESP8266 Module
Flash Mode: QIO
Flash Frequency: 40 MHz
CPU Frequency: 80 MHz
Flash Size: 1M (64K SPIFFS)
Debug Port: disabled
Debug Level: none
Reset Mode: ck
Upload Speed: 115200

fertige Binary flashen

NodeMCU Firmware Flasher

Es empfiehlt sich eine fertige Binary von ESPEasy aufzuspielen. In diesem Wiki wurde R140 verwendet.

Siehe dazu auch den Link von ESPEasy und das Handbuch für den Flasher.

Netzspannung darf 'NICHT' angeschlossen sein!!!
Taster am Sonoff gedrückt halten
FTDI Adapter verbinden
Taster am Sonoff los lassen
Sketch übertragen
Sonoff vom FTDI trennen

Wenn einmal die Firmware auf das sonoff Modul geflasht worden ist, kann in Zukunft ESPEasy direkt unter Tools via HTTP dies durchführen. Es muss dazu kein FTDI Konverter mehr verwendet werden.

ESPEasy

ESPEasy Devices

Wenn das Modul fertig geflasht ist und die Verbindung zum Modul hergestellt ist, können die Einstellungen in ESPEasy durchgeführt werden. Dazu am Webinterface anmelden und zunächst die 2 Devices definieren.

Der Hersteller hat für das Relaise GPIO 12 und für die grüne Led GPIO 13 vorgesehen. Der Taster ist an GPIO 0 angeschlossen.

Device Schalter

Device Relais

Bei den Devices sollten die hier dargestellte Einstellungen beachtet werden. Der Switch (Relaise) sollte auf Input gestellt werden, dass die anschließenden und benötigten Rules aktiviert werden können.

Device Taster

Device Key

Der Taste muss natürlich nur konfiguriert werden, wenn auch händisch am sonoff geschaltet werden soll. Wird dies nicht benötigt, können auch die Rules geändert bzw. angepasst werden. Doch alleine zu Testzwecken ist es eine nützliche Sache.

Rules

Rules

Da das sonoff Modul auch einen eingebauten Taster hat und somit auch lokal bedient werden kann, sollte man zunächst unter Tools / Advanced das Häckchen Rules aktivieren, erst dann wird der Tab sichtbar und es können Rules erstellt werden.

on PUMP#Key do
 if [PUMP#Relay]=1
   gpio,12,0
 else
   gpio,12,1
 endif
endon
on PUMP#Relay do
 if [PUMP#Relay]=1 
   gpio,13,0
 else
   gpio,13,1
 endif
endon

Diese Rules ermöglichen, das bei lokaler Bedienung durch den Taster auch die Led richtig geschaltet wird. Mit 'on PUMP#Key do' wird geprüft ob die Taste gedrückt ist schaltet dann entsprechend die Led. Mit den Rules können auch Timer oder sonstige Spielereien realisiert werden. Siehe dazu das Tutorial von ESPeasy.

Fhem

Fhem Konfiguration

Dies ist eine einfache Darstellung wie Fhem automatisch den Device erstellt.

Damit Fhem mit ESPEasy und dem sonoff Modul kommunizieren kann, muss in der fhem.cfg vorerst nur die espBridge mit dem hier dargestellten Eintrag aktiviert werden.

define espBridge ESPEasy bridge 8383

Dies ist eigentlich die einzige Zeile die in fhem.cfg angelegt werden muss. Die restliche Konfiguration wird von Fhem automatisch generiert.


##########################################
###             ESPEASY               ####
##########################################

define ESPEasy_sonoff_1_PUMP ESPEasy 10.0.0.37 80 espBridge sonoff_1_PUMP
attr ESPEasy_sonoff_1_PUMP IODev espBridge
attr ESPEasy_sonoff_1_PUMP devStateIcon on:rc_GREEN:off off:rc_RED:on absent:rc_BLUE:off gpio:rc_YELLOW:off
attr ESPEasy_sonoff_1_PUMP eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
attr ESPEasy_sonoff_1_PUMP group ESPEasy Device
attr ESPEasy_sonoff_1_PUMP icon hue_filled_outlet
attr ESPEasy_sonoff_1_PUMP room ESPEasy
attr ESPEasy_sonoff_1_PUMP setState 0
attr ESPEasy_sonoff_1_PUMP stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Relay","")}
attr ESPEasy_sonoff_1_PUMP webCmd :Hier ein Beispiel wie die automatische Konfiguration die Einträge generiert sobald Readings von sonoff eintreffen.

hier ein Beispiel wenn man händisch etwas mithilft und eigene Icons setzt.


sonoff Readings

Die Readings werden durch die Bridge (Modul ESPEasy) automatisch angelegt.

Es besteht hier noch genug Spielraum um zB. auch noch Temperatursensoren an das Modul anzuschließen und ebenfalls in Fhem darzustellen.