NEWS
Darstellung eines Wertes auf einem ESP8266 mit Display
-
Hallo zusammen,
ich stelle meine PV Daten, die ich per Modbus auslese in Grafana dar. Nun möchte ich zusätzlich über einen ESP8266 und ein kleines 0,96' OLED Display (4-polig) den Überschusswert in der Küche anzeigen. Display und ESP laufen mit ESPEasy. Den Wert für den PV Überschuss kann ich im iobroker unter den Objekten auslesen, nur wie bekomme ich den Wert zum ESP rüber? Vielleicht kann mir jemand einen Tip geben?
-
@bastler ich hatte das mal als "Playlist" Steuerung am Kühlschrank. Funktioniert mit Tasmota welches ich an einen MQTT-Broker angebunden habe. Steuern lässt es sich dann über Blockly/JavaScript indem einfach die entsprechenden Werte per MQTT gesetzt werden. Die Taster habe ich genutzt für Start/Stopp und um die Playlists durchzuschalten - aber jedes andere ginge auch da diese ja auch einzeln an MQTT senden:
Die Taster kannst du natürlich auch weglassen
-
@bananajoe Danke, müsste dazu erst mal Tasmota auf den ESP bringen. Geht es mit ESPEasy auch?
-
@bastler Pfff mit jedem Programm welches
.bin
auf einen ESP8266 flashen kann. Die einen sind einfacher, die anderen komplizierter.Mit der
FlashESP8266.exe
aus dem ESPEasy Programmverzeichnis geht es auch, das habe ich früher oft genommen. -
@bananajoe Ob Tasmota oder ESPEasy ist doch wahrscheinlich egal, oder? Ich kann im Menü vom OLED Display (in ESPEasy) in den Zeile etwas reinschreiben, dass dann auch angezeigt wird. Dort müsste der konkrete Leistungswert vom Wechselrichter, den ich in den Objekten sehe, rein. Nur wie???
Wenn ich zB einen Temperaturfühler am ESP anschließe, kann ich per MQTT die Daten in den ioBroker rüber schicken. Jetzt soll es aber in die umgekehrte Richtung laufen - da fehlt mir die Information, wie es gehen soll.
-
@bastler wie du an meiner Signatur sehen kannst, kannst du mich alles Mögliche zu Tasmota fragen.
Bei ESPEasy bin ich raus.
Bei Tasmota kann man die Werte "easy" per MQTT übermitteln / empfangen. -
@bananajoe Aktuell sende ich per MQTT zB Daten von meiner Zisterne an den ioBroker. Das ist mit ESPEasy problemlos möglich, Serverdaten in den Einstellungen eintragen und der MQTT Adapter im ioBroker empfängt die Werte. Wenn ich nun vom ioBroker etwas auslesen möchte, muss ich den entsprechenden Wert aus meinen Objekten senden. Wie geht das?
-
@bastler ich werde jetzt nicht die ESPEasy Anleitung für dich lesen ... oder etwas Artikel wie diesen hier bei Google raussuchen ... https://blog.unixweb.de/esp8266-mqtt-oled-display/
-
@bastler
Mein Display wurde zwar nicht mit ESPEasy geflasht, sondern "zu Fuß" über die Arduino-IDE, aber evtl. kannst Du es ja trotzdem zur Inspiration benutzen, wie die Daten von ioBroker zum Display gesendet werden?
Du solltest Dich allerdings ein wenig mit Arduino-Sketchen und JavaScript in ioBroker auskennen.
Anders ausgedrückt: Es gibt keine fertige bin-Datei, sondern Du musst den Sketch selbst editieren und mittels Arduino-IDE flashen.Guckst Du: ioBroker-Datenanzeige mit OLED
P.S.
Ist für Deinen Zweck aber evtl. Overkill, bzgl. animierte Icons -
@joergeli Danke für die vielen Infos auf deiner Webseite. Es scheint doch komplizierter zu sein, als ich dachte. Werde mal versuchen es anzuwenden.
-
@bananajoe Natürlich habe ich versucht etwas zu finden, aber bisher ohne Erfolg. Liegt aber vielleicht auch daran, dass ich in dem Bereich noch keine Erfahrung gemacht habe. Dein Link ist sicher nicht schlecht, aber beschreibt auch nicht wie ich vom iobroker Daten übertrage, wenn ich es richtig sehe. Trotzdem danke.
-
Hi,
ich habe im Prinzip genau das Realisiert.
Tasmota auf dem ESP geschrieben, Mqtt aktiviert, ein Datenpunkt mit DisplayText angelegt und schon kann ich alle möglichen daten über ein Blockly zum Display Kodiert schicken
DisplayText [zs1l4c5] 1.246 W[s1l3c5] I 13.3 C[s1l5c5] O 35.3 C
Mir hat der Link unten Mega geholfen, wenn man es einmal verstanden hat eigentlich ganz einfach.
Grüße
-
@michaelf Danke für den Link!
Ich habe noch etwas weiter gesucht und eine mögliche Lösung für meine vorhandene Konfiguration gefunden. Es gibt für ESPEasy ein Generic MQTT Import Plugin. Ich habe es installiert und die gewünschten Topics aus dem Modbus Adapter eingetragen. Beim ersten Aufruf funktioniert es, die aktuellen Werte werden übertragen und auf dem Display angezeigt.
Leider war es das aber schon, es findet keine Aktualisierung statt. Reset des esp, Plugin neu einrichten, nichts hilft. Erst wenn ich den ioBroker reboote, bekomme ich die aktuellen Wert angezeigt.
Nun wollte ich den Datenverkehr mit dem MQTT Explorer überprüfen. Dabei ist mir aufgefallen, dass dort die Werte aus dem Modbus Adapter auch nicht aktualisiert werden. Wenn ich im ioBroker unter den Objekten mir die Werte des Modbus Adapters anschaue, werden sie ständig aktualisiert. Ich lasse sie auch in einer Influx Datenbank sichern und über Grafana anzeigen, funktioniert alles ohne Probleme.
Hat hier jemand vielleicht noch eine Idee wie ich die Anzeige zum Laufen bekomme?
-
Problem gelöst, das Display funktioniert und aktualisiert die Daten werden übermittelt. Ging ganz einfach, es fehlte nur ein Haken im MQTT Adapter das auch Zustände gesendet werden.
-
@bastler öhm, ohne Präfix (ok) aber ALLES???? Du hast alle Objekte als MQTT Datenpunkte, oder?
-
@bananajoe Moin, theoretisch gehen wohl alle, ich möchte aber nur ein paar haben. Ich lese Daten vom Powerfox sowie Modbus Adapter aus und vom MQTT Adapter Füllstand und Temperatur der Zisterne. Aktuell habe ich sogar 2 Display über einen Multiplexer laufen.
-
@bastler ich hatte das ja auch mal so angefangen ... aber ein Amazon Fire Tablet für 65 Euro aus dem Warehouse-Angeboten, seitlich mit Magneten an der Mikrowelle befestigt, hat das vom Komfort und den Möglichkeiten klar geschlagen.
-
@bananajoe Genau das ist auch noch in Planung, Tablett bei Amazon für 59€ bekommen. Das OLED Display ist aber eben ein kleines Teil, was sich gut egal wo im Haus die PV Status infos darstellt.
-
@bastler sagte in Darstellung eines Wertes auf einem ESP8266 mit Display:
Aktuell habe ich sogar 2 Display über einen Multiplexer laufen
.... wo ich hier gerade Multiplexer lese, guckst Du: ioBroker Multi-OLEDs
-
@bastler sagte in Darstellung eines Wertes auf einem ESP8266 mit Display:
@bananajoe Genau das ist auch noch in Planung, Tablett bei Amazon für 59€ bekommen. Das OLED Display ist aber eben ein kleines Teil, was sich gut egal wo im Haus die PV Status infos darstellt.
Noch eine ähnliche Idee, hier aber mit LCD-Anzeige:
Schaltplan:
Man kann anstelle der NodeMCU auch einen WEMOS D1 Mini verwenden, NodeMCU hatte ich halt hier noch rumliegen.
(den Teil mit dem 555-Timer kann man auch weglassen, dient bei mir nur zur Helligkeitssteuerung)Arduino-Sketch:
Energie-Anzeige-MQTT_iobroker.zip