Sonoff: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 25: | Zeile 25: | ||
[[Datei:sonoff_sw_1.jpg|thumb|left|alt=sonoff Switch von vorne]] | [[Datei:sonoff_sw_1.jpg|thumb|left|alt=sonoff Switch von vorne]] | ||
Die Platine ist sehr übersichtlich aufgebaut und der Hersteller hat auch alle Vorbereitungen zum Flashen | Die Platine ist sehr übersichtlich aufgebaut und der Hersteller hat auch alle Vorbereitungen zum Flashen 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. | ||
<div style="clear:both;"></div> | <div style="clear:both;"></div> | ||
Zeile 39: | Zeile 39: | ||
[[Datei:sonoff_sw_2.jpg|thumb|left|alt=serielle Schnittstelle]] | [[Datei:sonoff_sw_2.jpg|thumb|left|alt=serielle Schnittstelle]] | ||
Hier auf der Platine sind die benötigten Signale für ein FTDI Modul schon vorhanden. Der quadratische Pin gleich über | Hier auf der Platine sind die benötigten Signale für ein FTDI Modul schon vorhanden. Der quadratische Pin gleich über dem Taster ist die Spannungsversorgung zum 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. | ||
<div style="clear:both;"></div> | <div style="clear:both;"></div> | ||
Zeile 56: | Zeile 56: | ||
==Platine mit Stiftleiste bestücken== | ==Platine mit Stiftleiste bestücken== | ||
[[Datei:sonoff_sw_4.jpg|thumb|left|alt=Platine mit Stiftleiste bestücken]] | [[Datei:sonoff_sw_4.jpg|thumb|left|alt=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. | Der Hersteller hat zwar schon die Platine vorbereitet, jedoch muss sie noch mit einer Stiftleiste bestückt werden um das FTDI Modul bequem verbinden zu können. Nachdem einmal ESPEasy geflasht worden ist, kann es in Zukunft via WEB geflasht werden und die Stiftleiste ist dann nicht mehr erforderlich. Aufgrund der geringen Kosten fällt dies jedoch nicht ins Gewicht. | ||
<div style="clear:both;"></div>'' | <div style="clear:both;"></div>'' | ||
'''''Achtung''': Bitte vor den Arbeiten kontrollieren, das an der Platine keine Netzspannung angeschlossen ist, LEBENSGEFAHR! | '''''Achtung''': Bitte vor den Arbeiten kontrollieren, das an der Platine keine Netzspannung angeschlossen ist, LEBENSGEFAHR! | ||
Zeile 64: | Zeile 64: | ||
==ESPEasy flashen== | ==ESPEasy flashen== | ||
[[Datei:sonoff_sw_6.jpg|thumb|left|alt=sonoff mit angestecktem FDTI Adapter]] | [[Datei:sonoff_sw_6.jpg|thumb|left|alt=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. | Die Spannungsversorgung des sonoff Moduls wird hier vom FTDI Konverter mit 3.3V über die Verbindungskabel zum Pfostenstecker durchgeführt. | ||
Der FTDI Adapter wird dann mit der USB Schnittstelle mit dem Computer verbunden. | |||
<div style="clear:both;"></div> | <div style="clear:both;"></div> | ||
Zeile 70: | Zeile 72: | ||
===mit Arduino compilieren=== | ===mit Arduino compilieren=== | ||
[[Datei:sonoff_sw_10.jpg|thumb|left|alt=Einstellung Arduino IDE]] | [[Datei:sonoff_sw_10.jpg|thumb|left|alt=Einstellung Arduino IDE]] | ||
Wer selber mit der Arduino IDE compilieren will bitte folgende Einstellungen beachten. Die anschließenden Arbeiten sind dann gleich wie bei | Wer selber mit der Arduino IDE compilieren will bitte folgende Einstellungen beachten. Die anschließenden Arbeiten sind dann gleich wie bei Abschnitt '''fertige Binary'''. | ||
Unbedingt die neueste Arduino Json Library benutzen! Es gibt zwar keine Compilerfehler, aber es kommt anschließend zu Fehlfunktionen in der ESP Bridge! | |||
<div style="clear:both;"></div> | <div style="clear:both;"></div> | ||
Zeile 108: | Zeile 112: | ||
===Device Schalter=== | ===Device Schalter=== | ||
[[Datei:sonoff_sw_12.jpg|thumb|left|alt=Device Relais]] | [[Datei:sonoff_sw_12.jpg|thumb|left|alt=Device Relais]] | ||
Bei den Devices sollten die hier dargestellte Einstellungen beachtet werden. Der Switch ( | Bei den Devices sollten die hier dargestellte Einstellungen beachtet werden. Der Switch (PUMP) sollte auf Input gestellt werden, sodass die anschließenden und benötigten Rules aktiviert werden können. | ||
Da beide Devicenamen gleich benannt wurden (PUMP) wird in Fhem nur ein Device angelegt! Die dazugehörenden Valunames sind unterschiedlich (Relay, Key). | |||
<div style="clear:both;"></div> | <div style="clear:both;"></div> | ||
Zeile 136: | Zeile 143: | ||
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 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. | Mit 'on PUMP#Key do' wird geprüft ob die Taste gedrückt ist und 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 162: | Zeile 169: | ||
attr ESPEasy_sonoff_1_PUMP setState 0 | 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 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Relay","")} | ||
attr ESPEasy_sonoff_1_PUMP webCmd : | attr ESPEasy_sonoff_1_PUMP webCmd : | ||
hier ein Beispiel | |||
hier ein Beispiel wie es auch manuell leicht modifiziert werden kann. | |||
Version vom 23. Oktober 2016, 10:33 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:
Das sonoff Modul ist in einem zweckmäßigen und gefälligem Gehäuse verbaut!
Bitte unbedingt die elektrotechnischen Sicherheitsrichtlinien beachten und einhalten!
Hardware
Platine
Die Platine ist sehr übersichtlich aufgebaut und der Hersteller hat auch alle Vorbereitungen zum Flashen 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.
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
Hier auf der Platine sind die benötigten Signale für ein FTDI Modul schon vorhanden. Der quadratische Pin gleich über dem Taster ist die Spannungsversorgung zum 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
Der Hersteller hat zwar schon die Platine vorbereitet, jedoch muss sie noch mit einer Stiftleiste bestückt werden um das FTDI Modul bequem verbinden zu können. Nachdem einmal ESPEasy geflasht worden ist, kann es in Zukunft via WEB geflasht werden und die Stiftleiste ist dann nicht mehr erforderlich. Aufgrund der geringen Kosten fällt dies jedoch nicht ins Gewicht.
Achtung: Bitte vor den Arbeiten kontrollieren, das an der Platine keine Netzspannung angeschlossen ist, LEBENSGEFAHR!
Software
ESPEasy flashen
Die Spannungsversorgung des sonoff Moduls wird hier vom FTDI Konverter mit 3.3V über die Verbindungskabel zum Pfostenstecker durchgeführt.
Der FTDI Adapter wird dann mit der USB Schnittstelle mit dem Computer verbunden.
mit Arduino compilieren
Wer selber mit der Arduino IDE compilieren will bitte folgende Einstellungen beachten. Die anschließenden Arbeiten sind dann gleich wie bei Abschnitt fertige Binary.
Unbedingt die neueste Arduino Json Library benutzen! Es gibt zwar keine Compilerfehler, aber es kommt anschließend zu Fehlfunktionen in der ESP Bridge!
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
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
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
Bei den Devices sollten die hier dargestellte Einstellungen beachtet werden. Der Switch (PUMP) sollte auf Input gestellt werden, sodass die anschließenden und benötigten Rules aktiviert werden können.
Da beide Devicenamen gleich benannt wurden (PUMP) wird in Fhem nur ein Device angelegt! Die dazugehörenden Valunames sind unterschiedlich (Relay, Key).
Device Taster
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
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 und schaltet dann entsprechend die Led. Mit den Rules können auch Timer oder sonstige Spielereien realisiert werden. Siehe dazu das Tutorial von ESPeasy.
Fhem
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 es auch manuell leicht modifiziert werden kann.
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.