Sonoff 4CH Pro mit ESPEasy-Firmware in Homematic System einbinden

Sonoff 4CH Pro mit ESPEasy-Firmware in Homematic System einbinden

Ich habe mir für ein Projekt den 4-Kanal Schalter Sonoff 4CH Pro gekauft, den ich in das Homematic-System einbinden will. Somit habe ich dieses Tutorial geschrieben, für diejenigen, die einen kostengünstigen 4-Kanal Schalter brauchen. Um den 4-Kanal Schalter Sonoff 4CH Pro in das Homematic-System zu integrieren, sind einige einfache Lötarbeiten am Gerät erforderlich. Ich persönlich habe für alles ca. 40 Minuten gebraucht. Somit fangen wir an…

WARNHINWEIS! In diesem Tutorial wird mit 230V Netzspannung gearbeitet. Bitte mache an dieser Stelle nur weiter, wenn du Ahnung- bzw. eine entsprechende Ausbildung absolviert hast. Ansonsten besteht hier Lebensgefahr!
HINWEIS! Durch das Flashen mit der ESPEasy-Firmware geht die Herstellergarantie verloren

Was wird benötigt

  • Sonoff 4CH Pro
  • Homematic
  • Ein guter USB TTL Konverter, der 3,3 V für die Stromversorgung des Geräts (oder ein separates 3,3 V-Netzteil) liefern kann (z. B. hier erhältlich).
    Bitte beachten, dass es einige USB TTL Konvertern gibt, die zwischen 3,3 V und 5 V umgeschaltet werden können, trotzdem 5 V liefern, obwohl 3 V eingeschaltet sind. Dadurch kannihr Gerät beschädigt werden. Ihr SOLLTET überprüfen, dass sowohl die Daten- als auch die Power-Pins 3,3 V liefern.
  • Lötkolben und 2,54 mm-Stiftleiste

Sonoff 4CH Pro mit ESPEasy-Firmware flashen

Als Erstes soll das Gehäuse zerlegt werden. Dafür sollen 4 Schrauben den Rändern gelöst werden. Anschließend soll die 2,54 mm Stiftleiste  an die vier Kontakte 3.3V, GND, TX, RX und an den anderen GND-Kontakt (s. Bild unten) angelötet werden.

Wenn ihr mit löten fertig seid, kann die aktuelle Firmware heruntergeladen werden. Die benötigten Dateien können aktuell von GitHub heruntergeladen werden. Benötigt wird hier die ZIP-Datei (ESPEasy_mega-XXXXXXXX.zip)  mit der benötigten Firmware und dem Flash-Tool.

Nach dem Entpacken des ZIP Dateien sieht man sofort die einzelnen Firmware-Versionen. Je nach Flash-Größe des verwendeten ESP-Chips und der gewünschten Firmware-Version gibt es ein entsprechendes bin-Dateien. Die Versionen unterscheiden sich unter Anderem in „dev“, „test“ und „normal“. Für den laufenden Betrieb empfehle ich euch auf die normale Version zu setzen, da diese nur getestete und stabile Funktionen enthält.

Jetzt kann der UART Adapter angeschlossen werden. Beim Anschließen des Adapters soll die Platte von der Netzspannung getrennt werden. Beim Anschließen des UART-Adapters auf gekreuzte RX- und TX-Leitungen achten! Der Anschluss an den Adapter kann variieren, je nachdem welcher vorhanden ist. Die Pins sollen entsprechend der folgenden Tabelle verbunden werden:

Nun der entscheidende Moment. Mit einem Draht die beiden Kontakte GPIO 0 von ESP und GND kurzschließen, so wie auf dem oberen Bild gezeigt ist. Achtung! LEBENSGEFAHR! Das Gerät soll nicht an 230 V Netzspannung angeschlossen werden! Spannungsversorgung nur über UART-Adapter (3.3 V) oder über einen 5–12 V Netzteil. Mit den kurzgeschlossenen Kontakten die Spannungsversorgung anschließen. Nach 3–5 Sekunden, nachdem die Spannungsversorgung angeschlossen wurde, können die Kontakte getrennt werden. Wenn alles gut gelaufen ist, befindet sich das Sonoff-Gerät im Flash-Modus. Die Spannungsversorgung darf nicht getrennt werden, sonst verliert das Gerät den Flash-Modus und ihr müsst von Vorne anfangen.

Der Flash-Vorgang selbst ist dank des beigefügten Flash-Tools sehr einfach. Nachdem das ESP-Board mit dem Computer verbunden wurde, einfach die Datei „ESP.Easy.Flasher.exe“ öffnen. Anschließend die gewünschte Firmware auswählen, für Sonoff 4CH Pro soll das 1M-Firmware ausgewählt werden, ich empfehle dabei die normale Version (ESP_Easy_mega-XXXXXXXX_normal_ESP8266_1M.bin) zu nehmen. Das passende COM-Port wird automatisch ausgewählt, sobald das Sonoff-Modul an den Rechner angeschlossen wird. Als Bord-Rate 115200 auswählen.

Des Weiteren können die Wi-Fi-Daten eingegeben werden, sodass das Sonoff-Modul sich direkt nach dem Flashen mit dem Wi-Fi-Netzwerk verbinden kann. Dazu ein Häkchen beim „Post flash actions“ setzen und eure eigenen Wi-Fi-Daten eingeben. Nach dem erfolgreichen Flashen wird das Sonoff-Modul sich mit eurem Wi-Fi verbinden. Es soll eine Anfangskonfiguration durchgeführt werden. Durch Eingabe der IP-Adresse im Internetbrowser gelangt man auf die Konfigurationsseite des Sonoff-Moduls. Über den Reiter „Config“ lässt sich das Modul konfigurieren. Hier lässt sich zum Beispiel der Name des Moduls anpassen. Wichtig ist hier, dass jeder Modul, das auf dem ESPEasy-Firmware läuft, eine eindeutige und einmalige „Unit nr“ zwischen 1 und 31 erhält (nur relevant für UDP-Unicast-Nachrichten „sweeps“ und die „nodelist“).

Auf der Konfigurationsseite des Wassermelders müssen folgende Einstellungen gemacht werden. Als Erstes sollen die „Rules“ aktiviert werden. Um Regeln zu aktivieren, geht ihr zu Tools/Advanced und aktivieren Sie das Kontrollkästchen Rules. Nachdem ihr auf „submit“ geklickt haben, wird eine neue Seite „Rules“ hinzugefügt. Bevor wir mit den Regeln anfangen, sollen die GPIO-Aus- und Eingänge für Relais und Taster konfiguriert werden. Die Pinbelegung ist folgende:

Zuerst soll der Zustand der Relais beim Start bestimmt werden. In meinem Fall sollen die Relais den offenen Zustand beim Einschalten des Sonoff-Moduls haben. Dafür den Reiter „Hardware“ öffnen, dort beim „GPIO Boot State“ folgendes auswählen:

Als Nächstes werden Ein- und Ausgänge konfiguriert. Dafür im Reiter „Devices“ gehen und ein neues Gerät anlegen. Dafür auf „Edit“ einer verfügbaren Aufgabe klicken.

Für die Relais 1 bis 4 soll folgendes eingetragen werden:

Die Felder „Name“ und „1st GPIO“ sollen entsprechend dem Relais angepasst werden (s. Tabelle oben für die Pinbelegung). Dem entsprechend für die Tasten 1 bis 4 soll folgendes eingetragen werden:

Auch hier müssen die Felder „Name“ und „1st GPIO“ entsprechend der jeweiligen Taste angepasst werden.

Das Ergebnis soll dann so aussehen:

Jetzt sollen die Hardware-Relais-Steuertasten an dem Gehäuse konfiguriert werden. Es ist im Prinzip nicht notwendig, schadet aber nicht. Zum Beispiel bei den Netzwerkstörungen können die angeschlossenen Geräte manuell durch die Hardware-Tasten gesteuert werden. Die Konfiguration der Tasten erfolgt mithilfe der Regeln. Folgendes soll im Reiter „Rule“ eingegeben werden:

on Button1#State=1 do
  if [Relay1#State]=0
    gpio,12,1
  else
    gpio,12,0
  endif
endon

on Button2#State=1 do
  if [Relay2#State]=0
    gpio,5,1
  else
    gpio,5,0
  endif
endon

on Button3#State=1 do
  if [Relay3#State]=0
    gpio,4,1
  else
    gpio,4,0
  endif
endon

on Button4#State=1 do
  if [Relay4#State]=0
    gpio,15,1
  else
    gpio,15,0
  endif
endon

Jetzt werden die Relais durch Tasten am Gehäuse gesteuert.

Weiter geht’s: Integration des Sonoffs-Modull in ein Smart Home System, in unserem Fall Homematic.

Konfiguration der Homematic CCU

Das Sonoff-Gerät wird im Homatic System mit einem virtuellen CUxD-Gerät dargestellt. Mit diesem virtuellen Gerät wird das jeweilige Sonoff-Gerät gesteuert. Dazu ist ein neues CUxD Device anzulegen. Dazu die CuXD-Konsole öffnen, die ist unter „Startseite“>“Einstellungen“>“Systemsteuerung“ zu finden.

cuxd02

Danach auf die Geräte-Seite wechseln. Dort das Gerät (28) System auswählen. Als Funktion „Exec“ auswählen und als Control „Schalter“ auswählen. Optional kann der Namen eingetragen und der Geräte-Icon ausgewählt werden.  Bei der Seriennummer kann die Vorgabe verwendet werden. Abschließend „Gerät auf der CCU erzeugen!“ drücken und auf die CCU-Weboberfläche wechseln.

Auf der CCU Oberfläche fügen wir nun ein neues Gerät hinzu, im Posteingang sollte das soeben erstelle neue Gerät bereits angezeigt werden. Es wird anschließend in der WebUI ein virtuelles Gerät mit 16 Kanälen erzeugt, davon brauchen wir nur 4.

Nun soll der zuvor erstellte CUxD-Gerät konfiguriert werden, dazu im WebUI in die „Einstellungen“>“Geräte“ gehen, den zuvor erstellten CUxD-Gerät aussuchen und auf das „Einstellen“ drücken. Dort kann die Steuerung des Sonoff-Geräts eingerichtet werden. Die Einstellungen des virtuellen Geräts sind folgende:

Hier sind nochmal die einzelnen Parameter als Text zum Kopieren:

Geräteparameter:

  • PARAM1: /usr/local/addons/cuxd/curl
  • PARAM2: http://192.168.XX.XX/control?cmd~3dgpio

Kanalparameter:

  • Sonoff 4CH Pro:1 (Relais 1)
    • SWITCH|CMD_SHORT: $_P1$ $_P2$,12,0
    • SWITCH|CMD_LONG: $_P1$ $_P2$,12,1
  • Sonoff 4CH Pro:2 (Relais 2)
    • SWITCH|CMD_SHORT: $_P1$ $_P2$,5,0
    • SWITCH|CMD_LONG: $_P1$ $_P2$,5,1
  • Sonoff 4CH Pro:3 (Relais 3)
    • SWITCH|CMD_SHORT: $_P1$ $_P2$,4,0
    • SWITCH|CMD_LONG: $_P1$ $_P2$,4,1
  • Sonoff 4CH Pro:4 (Relais 4)
    • SWITCH|CMD_SHORT: $_P1$ $_P2$,15,0
    • SWITCH|CMD_LONG: $_P1$ $_P2$,15,1

Statusrückmeldung zur CCU

Somit ist Sonoff 4CH Pro fast eingerichtet, bis auf einer Kleinigkeit. Jetzt ist es möglich, auf dem Sonoff-Gerät einzelnen Relais aus dem Homematic-System zu steuern. Wenn eins der Relais mit Hardware-Taste auf dem Gehäuse des Sonoff-Geräts umgeschaltet wird, kriegt die CCU nichts davon. Dieses Verhalten soll geändert werden. Diese erfolgt auch mithilfe der Regeln. Sobald der Relaiszustand geändert wird, wird der Zustand an die CCU mittels http-Request gemeldet. Dazu geben wir die IP-Adresse im Internetbrowser ein und gelangen auf die Konfigurationsseite des Sonoff-Moduls. Über den Reiter „Rules“ soll die folgende Regel eingegeben werden:

on Relay1#State=1 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:1.STATE").State(true)
endon

on Relay2#State=1 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:2.STATE").State(true)
endon

on Relay3#State=1 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:3.STATE").State(true)
endon

on Relay4#State=1 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:4.STATE").State(true)
endon

on Relay1#State=0 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:1.STATE").State(false)
endon

on Relay2#State=0 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:2.STATE").State(false)
endon

on Relay3#State=0 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:3.STATE").State(false)
endon

on Relay4#State=0 do
  SendToHTTP 192.168.XXX.XXXX,8181,/test.exe?x=dom.GetObject("CUxD.CUX2801XXX:4.STATE").State(false)
endon

Anstatt 192.168.XXX.XXX soll die IP-Adresse des CCU eingegeben werden. Anstatt CUXxxxxxxx soll die Seriennummer des virtuellen Geräts eingegeben werden, z. B. CUX2801002. Somit sind wir fertig! Sobald ein Kanal des Sonoff-Geräts ein- bzw. ausgeschaltet wird, wird ein SendToHTTP-Befehl ausgeführt, der ein HTTP-Request an die CCU sendet und dem virtuellen CUxD-Gerät seinen aktuellen Status mitteilt.

Das gesamte CCU-Programm

Für Anmerkungen, Vorschläge, Hinweise, Anregungen und konstruktive Kritik zu diesem Artikel bin ich euch dankbar! Falls dieser Artikel euch geholfen hat oder ihr den nützlich findet, würde ich mich über eine Tasse Kaffee freuen, die ihr oben rechts für mich bestellen können. Vielen Dank.

Dieser Beitrag hat 2 Kommentare

  1. Hat der 4ch Pro nicht den ESP8285 Chipsatz?

    1. Ja, du jast recht, der 4ch Pro hat ESP8285 Chipsatz. Ich werde es korrigieren.

Schreibe einen Kommentar

Menü schließen