MySensors WLAN-Gateway in FHEM

Wie der FHEM-User schnell merkt, sind Gateways das A und O bei FHEM. Es gibt für unzählige Protokolle das passende Gateway um mit Geräten zu kommunizieren. In diesem Blog habe ich euch zum Beispiel schon den USB-1wire-Adapter vorgestellt. Mit diesem konnte man mit 1Wire-Geräten kommunizieren. In diesem Beitrag möchte euch gerne zeigen wie ihr mit wenig Bauteilen ein WLAN-Gateway für „MySensors“ Sensoren bauen könnt.

Wie der Name schon sagt, wird das Gateway später per WLAN in euer Netzwerk eingebunden und kommuniziert so mit eurem Raspberry. Ein weiterer Vorteil von MySensors ist der, dass auch die einzelnen Sensoren drahtlos mit dem Gateway kommunizieren. Das Gateway lässt sich natürlich auch in FHEM einbinden. Die „MySensor“ Sensoren lassen sich also später bequem mit FHEM auslesen.

Hardware

Die Software des Gateways wird später auf ein NodeMCUv2 (Amazon Affiliate Link) bzw. NodeMCUv3 (Amazon Affiliate Link) geschrieben. Ein NodeMCU ist eine Art Arduino mit integriertem WLAN-Chip (esp8266). Für die Kommunikation mit den Sensoren wird ein nRF24L01+ (Amazon Affiliate Link) verwendet. Von diesem Funkmodul sollte man sich ruhig ein paar mehr bestellen, da für jeden Sensor später ein extra Funkmodul benötigt wird.

Sale
ELEGIANT NodeMcu Lua ESP8266 ESP-12E WIFI Development Board

ELEGIANT Co., LTD - Elektronik

19,98 EUR - 9,99 EUR 9,99 EUR

Letzte Aktualisierung am 27.06.2017 / Affiliate Links / Bilder von der Amazon Product Advertising API

benötigte Bauteile:

Hat man sich die beiden Komponenten besorgt, kann es an das Verdrahten gehen.

MySensor-Gateway-WLAN

NodeMCUnRF24L01+
GNDGND
3V3VCC
D2CE
D5SCK
D6MISO
D7MOSI
D8CSN/CS

Der Anschluss IRQ des nRF24L01+ wird für das Gateway nicht benötigt. Ich persönlich habe die beiden Komponente auf eine Lochrasterplatine gelötet und von unten mit Draht verbunden.

 MySensors WLANGateway

Um das Gateway nun mit Strom zu versorgen kann man ein einfaches 5V Steckernetzteil verwenden. Da diese Möglichkeit jedoch eine Steckdose belegen würde, habe ich es einfach an einen freien USB-Port meiner FritzBox angeschlossen.

Software

Nachdem die Hardware fertig ist, können wir uns an die Software machen. Der NodeMCU lässt sich mit der Arduino-Software beschreiben. Damit dies jedoch möglich ist, müssen wir zuerst die passenden Boardtreiber installieren. Dies geschieht indem wir in der Arduino-Software über „Datei / Voreinstellungen“ indem wir eine zusätzliche Boardverwalter-URL hinzufügen:

BoardTreiber Arduino MySensors WLAN Gateway

Nun können wir über den Boardverwalter die benötigten Treiber installieren. „Werkzeuge / Board / Boardverwalter“. Ganz unten sehen wir nun den Eintrag „esp8266 by ESP8266 Community“. Durch Auswahl der neusten Version und klicken auf Installieren lassen sich diese Installieren.

BoardTreiber Arduino MySensors WLAN Gateway

Damit aus der Hardware auch ein MySensor-Gateway wird (und später auch für die Sensoren), benötigen wir noch die entsprechenden Bibliotheken. Diese erhalten wir direkt auf der Homepage von MySensors. Der Inhalt des heruntergeladenen ZIP-Archivs muss nun in den Sketch-Ordner eurer Arduino-Software-Installation kopiert werden. Mehr Infos dazu findet ihr auch auf der Homepage.

ACHTUNG: Version 2.0 der MySensors-Libary enthält aus irgendwelchen Gründen nicht alle benötigten Dateien. Darum am besten die Version 1.5.4 verwenden.

Der Standard-Pfad des Sketch-Ordners befindet sich unter Dokumente.

Sketch Pfad

Damit unser Gateway später auch problemlos mit FHEM kommunizieren kann, muss der angepasste Esp8266Gateway-Sketch von Hexenmeister genommen werden. Diesen erhält ihr auf GitHub

Den Ordner „MyESP8266Gateway“ am besten auch zu den Examples der MySensors-Libary kopieren.

Wichtig ist es, dass ihr nun im Ordner „MyESP8266Gateway“ eine Datei mit dem Namen „mySecret.h“ mit dem Inhalt eurer WLAN-Zugangsdaten erstellt. Dazu einfach eine einfache Textdatei erstellen – „mySecret.txt“, in diese dann die entsprechenden Daten schreiben und anschließend die Datei in „mySecret.h“ umbenennen.


Einschub: Sollten bei euch die Dateiendungen nicht angezeigt werden, könnt ihr dies über die Ordneroptionen ändern – Ansicht / Option / Ordner- und Suchoptionen.

Dann unter dem Reiter „Ansicht“ den Hacken bei „Erweiterungen bei bekannten Dateitypen ausblenden“ rausnehmen.


Jetzt können wir das Gateway mit dem PC verbinden und über „Werkzeuge“ den passenden Port und das passende Board auswählen. In unserem Fall ist es das „NodeMCU 1.0 (ESP-12E Module)“.

Nun könnt ihr in der Arduino-Software über „Datei / Beispiele / MySensors“ den passenden Sketch auswählen und auf den NodeMCU laden.

ESPGateway Arduino Sketch

Wenn das Programmieren erfolgreich geklappt hat, sollte das Gateway bereits einsatzbereit sein. Am besten kontrolliert ihr dies über den Seriell-Monitor der Arduino-Software (Lupe open rechts). Achtet darauf, dass ihr die richtige Baudrate eingestellt habt (Version 1.5.4: 115200 Baud, Version 2.0: 9600 Baud).

seriellMonitor MySensors Gateway

Wenn alles richtig funktioniert, solltet ihr nun lesen können, dass der Verbindung zu euem WLAN erfolgreich war und mit welcher IP-Adresse er ab sofort im Netzwerk aufzufinden ist. Diese Adresse solltet ihr euch für die Einrichtung in FHEM merken.

Einrichtung in FHEM

Die Einrichtung in FHEM ist im Gegensatz zur bisherigen Arbeit das Einfachste. Wir definieren uns einfach ein MYSENSORS-Device.

und fügen noch einige Attribute hinzu:

MySensors FHEM WLAN Gateway

Mehr Infos zum Modul „MYSENSORS“ im FHEM Command-Ref. Aber das Gateway bringt uns natürlich nicht sehr viel, wenn wir keine passenden Sensoren dafür haben. Wie ihr eure ersten MySensors-Sensoren baut erkläre ich euch in meinem nächsten Blog-Beitrag.

Hinterlasse einen Kommentar

32 Kommentare auf "MySensors WLAN-Gateway in FHEM"

Benachrichtige mich zu:
avatar
Fotos und Bilder
 
 
 
sonstiges Dateiformat
 
 
 
Sortiert nach:   neuste | älteste | beste Bewertung
ME
Gast
ME

Leider bekomme ich beim aufspielen der Software den Fehler:

C:\Users\meilb\Documents\Arduino\libraries\MySensors\examples\MyEsp8266Gateway\MyEsp8266Gateway.ino:72:28: fatal error: MySigningNone.h: No such file or directory

#include

^

compilation terminated.

exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

Kann mir jemand helfen?

Gruss
ME

Peter Gottschalk
Gast
Peter Gottschalk
Hallo Daniel ich versuche mich an deiner Anleitung um den MySensor nachzubauen, doch leider funktionert es nicht. Ich bekommen folgende Fehlermeldung. Kannst du mir sagen was ich falsch mache. Arduino: 1.6.11 (Windows 10), Board: „NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)“ WARNUNG: Kategorie “ in der Bibliothek UIPEthernet ist ungültig und wird auf ‚Uncategorized‘ festgelegt Der Sketch verwendet 244.369 Bytes (23%) des Programmspeicherplatzes. Das Maximum sind 1.044.464 Bytes. Globale Variablen verwenden 33.820 Bytes (41%) des dynamischen Speichers, 48.100 Bytes für lokale Variablen verbleiben. Das Maximum sind 81.920 Bytes. warning: espcomm_sync failed error: espcomm_open failed error: espcomm_upload_mem failed… weiterlesen »
Peter Gottschalk
Gast
Peter Gottschalk

Hallo Daniel

ich habe es jetzt mit Version 2.3.0 versucht, damit scheint es zu gehen.
Im Seriellen Monitor bekomme ich folgendes angezeigt ist das richtig?

pm open,type:2 0
0;255;3;0;9;TSP:SANCHK:OK
0;255;3;0;9;TSP:SANCHK:OK
0;255;3;0;9;TSP:SANCHK:OK
0;255;3;0;9;Client 0 connected
0;255;3;0;9;Client 0: 0;0;3;0;2;
0;255;3;0;9;TSP:SANCHK:OK
0;255;3;0;9;TSP:SANCHK:OK

Gruß Peter

Dirk
Gast
Dirk
Hallo Daniel Ich bekomm den Node einfach nicht beschrieben, ständig Fehlermeldungen… 🙁 Ich häng den Log mal an. Danke schon mal 🙂 LG Dirk Arduino: 1.6.11 (Windows 10), Board: „NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)“ C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\haui7\AppData\Local\Arduino15\packages -tools … (aus Übersichtsgründen gekürzt – gez. Daniel) MyEsp8266Gateway:26: error: stray ‚\267‘ in program MyEsp8266Gateway:26: error: stray ‚\302‘ in program MyEsp8266Gateway:26: error: stray ‚\267‘ in program C:\Users\haui7\Documents\Arduino\MySensors-master\examples\MyEsp8266Gateway\MyEsp8266Gateway.ino:139:28: warning: missing terminating ‚ character [enabled by default] <!– –> ^ MyEsp8266Gateway:139: error: missing terminating ‚ character <!– –> ^ MyEsp8266Gateway:693: error: stray… weiterlesen »
Rainer
Gast
Rainer

Hallo Daniel,

versuche mich gerade an einem MySensor Gatway. Deine Anleitung ist super!
Habe eine Frage zum Passwort in der mySecret.h. Mein WLAN Passwort enthält ein “ Zeichen. Habe keine Ahnung wie ich es in der MySecret.h schreiben muss. Kannst Du mir einen Tip geben?

mfg Rainer

Norbert
Gast
Norbert
Hallo Daniel, habe die Hardware entsprechend Deiner Liste beschafft und nun versucht, das Board zu compilieren, esp8266 V2.3.0 (V1.5.4 nicht mehr auswählbar). Ich bekomme stets diese Fehlermeldung. Wäre toll, wenn Du einen Tipp für mich hättest, bin Anfänger. Gruß Norbert Arduino: 1.8.0 (Windows 10), Board: „NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)“ D:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Program Files (x86)\Arduino\hardware -hardware C:\Users\NM\AppData\Local\Arduino15\packages -tools … (gekürzt) In file included from D:\Eigene Dokumente\Arduino\libraries\MySensors\examples\MyEsp8266Gateway\MyEsp8266Gateway.ino:72:0: D:\Eigene Dokumente\Arduino\libraries\MySensors/MySigningNone.h:32:23: fatal error: MySigning.h: No such file or directory #include „MySigning.h“ ^ compilation terminated. Bibliothek SPI in Version 1.0 im Ordner: C:\Users\NM\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SPI  wird verwendet… weiterlesen »
Norbert
Gast
Norbert
Hallo Daniel, vielen Dank für die detaillierte Info zu meinem Verständnisproblem. Habe nun soweit alle Dateien 1.5.4 von MySensor heruntergeladen. Nun bekomme ich diese Fehlermeldung, für die ich Dich nochmals um Hilfe bitten möchte. Ich will den Gateway unbedingt zum Laufen bringen. Viele Grüße Arduino: 1.8.0 (Windows 10), Board: „NodeMCU 1.0 (ESP-12E Module), 80 MHz, Serial, 115200, 4M (3M SPIFFS)“ C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\NM\AppData\Local\Arduino15\packages -tools (…. aus Übersichtgründen gekürzt, gez. Daniel) „C:\Users\NM\AppData\Local\Temp\arduino_build_266291\preproc\ctags_target_for_gcc_minus_e.cpp“ In file included from D:\Eigene Dokumente\Arduino\libraries\xxMySensors\examples\MyEsp8266Gateway\MyEsp8266Gateway.ino:81:0: D:\Eigene Dokumente\Arduino\libraries\xxMySensors/MySensor.h:21:0: error: unterminated #ifndef #ifndef MySensor_h ^ Bibliothek SPI in Version 1.0 im Ordner:… weiterlesen »
Norbert
Gast
Norbert
Hallo Daniel, entsprechend Deinem Rat an Peter habe ich nun Arduino 1.5.6 installiert und auch den ESP-Treiber 2.3 verwendet. Beim Comilieren werden wohl in myESP286Gatway viele „*.h-Dateien“ aufgerufen, die nicht zu finden sind, so interpretiere ich den Fehlerlog. Ich habe über Stunden alles Mögliche versucht, leider ohne Erfolg. Vielleicht hast Du noch einen Rat für mich. Arduino: 1.6.11 (Windows 10), Board: „NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)“ C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\NM\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\NM\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files aus Übersichtsgründen gekürzt, gez. Daniel D:\Eigene Dokumente\Arduino\libraries\MySensors-master\examples\MyEsp8266Gateway\MyEsp8266Gateway.ino:72:28:… weiterlesen »
Norbert
Gast
Norbert

Hallo Daniel,

ich möchte mich bei Dir herzlichst für Deine Geduld bedanken.

Ich habe nun nochmals alles neu installiert und dann die Verteilung der Dateien genau nach Deiner letzten Beschreibung durchgeführt. Nach einigen hausgemachten Problemen nun die tolle Nachricht: Der mySensorGateway läuft unter Fhem in meinem Netzwerk und ist schon nach Deinen Vorgaben konfiguriert!!

Nun geht’s an den Bau der Sensoren.

Viele Grüße
Norbert

 

Norbert
Gast
Norbert

Nachtrag: im Fhem wird nunmehr stets der Status: „startup complete“ angezeigt, das anfangs gezeigte „connected“ ist nicht mehr herstellbar.

Norbert
Gast
Norbert

Hallo Daniel,

nun läuft der erste Sensor am Gateway. Diesen habe ich auch Deinem Beispiel folgend
konfiguriert.

Dank Dir und Deines Blogs habe ich viel über Fhem (dazu)gelernt.
Ich hoffe sehr, Du wirst noch weitere Projekte realisieren.

Viele Grüsse
Norbert

Timm
Gast
Timm

Hallo Daniel,

besten Dank für all Deine Informationen, die Du hier bereitwillig zur Verfügung stellst! Das hat mir schon oft geholfen. Jetzt habe ich mich auch an Dein WLAN-Gateway gewagt. Tatsächlich stehe ich gerade allerdings auf dem Schlauch, oder ich brauche eine neue Brille. Jedenfalls finde ich auf der entsprechenden Homepage nicht mehr die passende MySensors-Library 1.5.4. Gibt es hierfür vielleicht noch eine weitere Quelle. Ich habe jedenfalls nichts gefunden.

Vielen Dank schon jetzt für einen Tipp und beste Grüße

Timm

Timm
Gast
Timm

Lieber Daniel,

es war die Brille! Ich habe  die Library gefunden. Oh, oh. Jetzt mache ich einen Termin beim Augenarzt.

Besten Gruß

Timm

Daniel F.
Gast
Daniel F.

Hallo,
Ich bin neu in der Materie. Ich verstehe nicht wieso wir beide Platinen brauchen. Der ESP8266 ist ja allein Schon ein wlan Modul. Wofür brauchen wir also den NRF24L01?

Viele Grüße

Martin
Gast
Martin

Hallo Daniel,

„Wichtig ist es, dass ihr nun im Ordner „MyESP8266Gateway“ eine Datei mit dem Namen „mySecret.h“ mit dem Inhalt eurer WLAN-Zugangsdaten erstellt.“

Kannst Du das bitte genauer erklären? Eine txt-Datei? Also so: „mySecret.h.txt“

Danke
Martin

Martin
Gast
Martin

Hallo Daniel,
ich denke ein NodeMCU mit V3 tut es auch. Oder muss es V2 sein?

wpDiscuz