Update 01.10.2016 Der Beitrag ist nicht mehr aktuell, bitte beachtet die Hinweise in dem Kommentar von Flo
Nachdem ich Euch in einem früheren Blog-Beitrag gezeigt habe, wie einfach es ist, ein ESP8266 Baustein zu flashen, zeige ich Euch heute eine Möglichkeit, (Sensor)-Daten von einem NodeMCU oder Witty-Board in Fhem zum übertragen.
Viele von Euch möchten keinen MQTT-Broker (-> Blogbeitrag) zusätzlich auf Eurem Fhem-System installieren. Ich habe damit keine Probleme, läuft bei mir performant, aber durch den Entwickler dev0 geht es jetzt auch einfacher. Ich hatte mit dem Blog-Beitrag noch etwas gewartet, weil es nicht sofort von Entwicklern von ESPEasy in das Github übernommen wurde.
Installation und Konfiguration:
Nachdem ihr Euch ein ESP 8266 Board besorgt habt (Witty-Board, NodeMCU oder ein anderes ESP8266-Modul) müsst ihr erst mal die ESPEasy darauf flashen. Dazu meinen Blog-Beitrag lesen.
Anschließend im Reiter Main einen eindeutigen Namen diese Board festlegen, bei mir eben WittyboardTest.
Anschließend im Reiter Config die IP-Adresse Eures Fhem-Systems eintragen und im Feld Protocol Fhem-HTTP auswählen und mit Submit bestätigen.
Dann in Fhem das neue ESPEasy Modul installieren, Infos hier: https://github.com/ddtlabs/ESPEasy
In Fhem dann schreiben (Eure IP-Adresse des ESP-Moduls nehmen), Groß / Klein-Schreibung beachten!
define wittyboardTest ESPEasy 192.168.178.63
Mit Set wittyboardTest D6 1
könnt ihr bei dem Witty-Board die grüne LED aufleuchten lassen. Beachtet die Info über das Mapping von NodeMCU, Wemos und Wittyboards in der ESPEasy-Hilfe.
Mit define wittyBoardTest dummy
werden alle Sensoren auf dem Board erfasst und ihr bekommt sofort ein Reading
Auf dem Bild seht ihr das Wittyboard mit angeschlossenem BMP 180 Temperatursensor / Luftdrucksensor.
Weitere Infos zum Modul gibt es im Fhem Forum https://forum.fhem.de/index.php/topic,55728.0.html
Bitte drauf achten, das ich die aktuellen Libraries installiert, sonst bekommt ihr anstatt einen Temperaturwert immer ein false zurück.
(Steht auch auf der ersten Seite im Thread im Fhem-Forum)
http://arduino.esp8266.com/stable/package_esp8266com_index.json -> esp8266 by ESP8266 Community version 2.3.0
– Libraries aus dem neusten ESPEasy Paket (z.Z R120)
– ab ESPEasy R109 wird die pubsubclient library 2.6+ benötigt -> https://github.com/knolleary/pubsubclient
– ab ESPEasy R120 wird die ArduinoJson library 5.6.4+ benötigt -> https://github.com/bblanchon/ArduinoJson
Wie kann ich denn einen, in FHEM eingelesenen Temperatur/Humidity-Wert an einen ESPEasy 8266 senden um am dortigen OLED anzuzeigen? Das OLED habe ich aktuell so definiert (was vielleicht noch nicht ganz koerrekt ist?):
define ESPEasy_wemos1_display ESPEasy 192.168.178.41 80 espBridge wemos1_display
attr ESPEasy_wemos1_display IODev espBridge
attr ESPEasy_wemos1_display Interval 300
attr ESPEasy_wemos1_display group ESPEasy Device
In der FHEM-GUI kann ich beliebeigen Text mit „set ESPEasy_wemos1_display 5 1 Hallo“ senden. Aber wie kann ich permanent z.B. „Heizung_Vorlauf“ dahin senden?
Gruß René
@Flo: Besten Dank – du konntest einem weiteren Newbie helfen weitere Stunden in der Botanik zu versenken, auf der Suche nach der Lösung.. Man zweifelt ja erst immer an seinem Setup, bevor man an der Doku etwas auszusetzen hat. Aber leider sind doch einige ältere Dokus im Umlauf.
Hallo,
da ich gestern vor der Herausforderung stand, die Sache zum Laufen zu bringen, obwohl dieses Tut etwas „veraltet“ ist:
– Ich startete mit R120, habe diese cmd also ausgeführt
– gewundert, warum in Fhem nichts akommt: es funktioniert nur noch ab R128, also habe ich mich für ein OTA-Update entschieden
– dazu über Git das Repository runterladen
– über die Arduino IDE dann ESPEasy.ino öffnen
– darauf achten, dass alle benötigten Bibliotheten zur Verfügung stehen (diese sind im Fhem-Forum nochmal erwähnt, beim Compilieren wird aber auch nochmal darauf hingewiesen wenn was fehlen sollte
– IDE so konfigurieren, wie wenn normal ein Sketch übertragen werden soll (Flash Size, Baudrate, etc.)
– dann also compilieren bzw. compilieren und als Binärdatei exportieren (unter Reiter Sketch)
– eine Bib hat bezüglich ESP8266 Architektur gemeckert -> ignorieren
– über die ESP-WebGui dann unter Firmware/Load die erstellte Bin auswählen und hochladen
– im ESP Port 8383 auswählen und in FHEM: define espBridge ESPEasy bridge 8383 (wie im Forum erwähnt)
– dann am ESP einen Sensor auslösen lassen –> es sollten automatisch die Devices in Fhem angelegt werden
Hoffe, das hilft den Newbees wie mir 🙂
Hallo Robin,
erst mal großes Lob für deinen Blog, super Interessant und Hilfreich.
Machst du zu dem Thema noch ein Update?
Scheint jetzt wohl etwas anders zu funktionieren…
Ups, danke für den Hinweis!
define wittyboardTest ESPEasy 192.168.178.63
define wittyBoardTest dummy
Funktioniert, da einmal witty(b)oardTest und einmal witty(B)oardTest. Sollte also passen.
define wittyboardTest ESPEasy 192.168.178.63
define wittyBoardTest dummy
Ein Devicenamen ist im FHEM einmalig und kann somit so nicht funktionieren.
Bitte prüfen, danke!