HowTo: ESPEasy – NerdiysPanelMeter-Plugin installieren und konfigurieren

In dem Artikel Retro-SmartHome-Display via Analog-Anzeigen selber bauen wurde der Zusammenbau eines eigenen Retro-SmartHome-Displays erklärt.

Aber leider ist selbst die beste Hardware nichts ohne die passende Software.

Damit Ihr die analogen Anzeigen und die damit verbundenen LED’s auch bequem ansteuern könnt, könnt Ihr folgendes ESP-Easy-Plugin nutzen.

Damit ist es Euch möglich bis zu 16 Analogen Anzeigen inkl. LED’s anzusteuern und an die Skalen angepasste Werte darzustellen.

Wie das geht und was Ihr dabei beachten müsst ist im folgendem Artikel beschrieben.

Außerdem enthält dieser Artikel die aktuell verfügbaren und zukünftig geplanten Features des Plugins sowie das Changelog.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/


Voraussetzungen

Hilfreiche Artikel:
Bevor ihr mit diesem Artikel startet solltet Ihr die PanelMeter Anzeige zusammengebaut und mit der ESPEasy Firmware – inklusive Nerdiys-PanelMeter-Plugin – programmiert haben. Informationen dazu findet Ihr in den folgenden Artikel.
Retro-SmartHome-Display via Analog-Anzeigen selber bauen
ESPEasy – Firmware flashen und WLAN Zugangsdaten konfigurieren
ESPEasy – Befehle und Aktionen ausführen

Benötigtes Werkzeug:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Werkzeuge die Ihr zur Umsetzung dieses Artikels benötigt.


Plugindaten aus dem Nerdiy-Git downloaden

Wie alle – hier auf Nerdiy.de angebotenen – ESP-Easy Plugins findet Ihr auch dieses Plugin im Git unter: https://github.com/Nerdiyde/Nerdiys_ESPEasy

Neben den eigentlich Plugin-Dateien sind darin auch die übrigen Dateien des ESPEasy-Frameworks enthalten. So kann das ganze Gut heruntergeladen und direkt auf den Controller programmiert werden. Dazu sind die Plugins bereits korrekt konfiguriert.

Wie Ihr Dateien aus einem Git-Repository herunterladen könnt ist im Artikel GitHub – Wie kopiere ich Dateien aus einem Git-Repository auf meinen Computer beschrieben.


Plugin Kompilierung aktivieren

Wenn Ihr ESPEasy auf Euren ESP programmiert indem Ihr die ArduinoIDE nutzt bzw. den Code komplett neu kompiliert, ist es wichtig, dass Ihr das PanelMeter-Plugin zuvor auch aktiviert. Wechselt dazu in den Tab des Plugins und entfernt die auskommentierung (die beiden „//“) vor dem „#define USES_P209“. Dadurch wird das Plugin bzw. der darin enthaltene Code bei der nächsten Kompilierung mit einbezogen und steht Euch als Auswahl im Pluginmanager zur Verfügung. Weitere Infos dazu findet Ihr auch im Artikel ESPEasy – Firmware kompilieren, flashen und WLAN Zugangsdaten konfigurieren im Abschnitt Benötigte Plugins aktivieren.

Ansicht des Codes mit Markierung der betreffenden Stelle um den Plugin-Code zu aktivieren.


Plugin konfigurieren

Um das PanelMeter-Plugin entsprechend zu konfigurieren, müsst Ihr in das Webkonfigurationsmenü der auf dem PanelMeter installierten ESPEasy Firmware wechseln. Gebt dazu einfach die IP-Adresse des mit Eurem WLAN verbundenen PanelMeters ein.

Wie Ihr Euer – mit der ESPEasy-Firmware – programmiertes PanelMeter mit Eurem WLAN verbindet ist im Artikel ESPEasy – Firmware flashen und WLAN Zugangsdaten konfigurieren beschrieben. Wie Ihr dann die zugehörige IP-Adresse herausfindet ist im Artikel IP-Adresse der Geräte im Netzwerk anzeigen/herausfinden beschrieben.

Habt Ihr Euch in dem Konfigurationsmenü Eures PanelMeters eingeloggt, wechselt Ihr in den Reiter „Devices“ und klickt dort auf einen freien der 12 „Edit“-Buttons.
Nun öffnet sich ein Menü mithilfe dessen Ihr ein neues Device konfigurieren könnt.
Öffnet die Auswahlmöglichkeiten des DropDown-Menüs und wählt das Device „Display – Nerdiys-PanelMeter“ aus. Solltet Ihr diesen Eintrag an dieser Stelle nicht finden, prüft doch nochmal ob Ihr das Plugin vor dem programmiervorgang aktiviert und damit mitkompiliert habt. Tipps dazu findet ihr im Artikel ESPEasy – Firmware flashen und WLAN Zugangsdaten konfigurieren.
In dem sich nun öffnenden Menü könnt Ihr alle wichtigen Einstellungen für Euer PanelMeter einstellen.
Dabei solltet Ihr für das Feld „Name“ einen eindeutigen Namen für dieses Device vergeben. Mit dem Feld „1st GPIO“ könnt Ihr dann den GPIO an dem Ihr die WS2812B LED’s angeschlossen habt, angeben. Unter „Number of connected PanelMeter“ gebt Ihr an wieviele analoge Anzeigen in Eurem PanelMeter vorhanden sind. Schlussendlich könnt Ihr unter „PCA9685 I2C Adress“ die I2C-Adresse Eures PanelMeters festelegen. Habt Ihr alles konfiguriert, klickt Ihr auf „Sumbit“ damit die Einstellungen übernommen werden.

Die LED’s der PanelMeter-Hintergrundbeleuchtung sollten dann alle weiß leuchten. Sollten sie das nicht tun, prüft nochmal ob Ihr den richtigen GPIO und auch die richtige Anzahl an analogen Anzeigen angegeben habt.

Die analogen Anzeigen sollten nach der Übernahme alle genau mittig stehen. Sollten sie das nicht tun, prüft nochmal ob Ihr die richtige I2C-Adresse und Anzahl der PanelMeter angegeben habt.


Verfügbare Befehle

Das „PanelMeter“-Plugin bietet Euch zwei Befehle mit denen Ihr die Anzeigen konfigurieren könnt. Diese könnt Ihr auf dem für ESP-Easy üblichen Wege ausführen. Wie das geht ist ausführlich in dem Artikel ESPEasy – Befehle und Aktionen ausführen beschrieben.

Der erste Befehl dient dabei dazu die analogen Anzeigen einzustellen und optional auch die jeweilige LED-Farbe konfigurieren. Der zweite ermöglicht es Euch die LED-Farbe unabhängig von der Einstellung der analogen Anzeigen zu konfigurieren.

Befehl: pmset
Einstellung von analogen Anzeigen und LED-Farben.

Der Befehl „pmset“ benötigt sieben Parameter von denen die letzten drei optional sind.
1. Parameter: „gewähltes PanelMeter“:
Mithilfe dieses Parameters wählt Ihr aus welche analoge Anzeige Ihr einstellen wollt. Dabei beginnt die Zählung bei Eins. Gebt Ihr eine Null an werden alle analoge Anzeigen mit den gewählten Einstellungen gesetzt. Wertebereich: 0 bis 16.
2. Parameter: „untere Grenze“:
Für diesen Parameter müsst Ihr die untere Grenze der auf der analogen Anzeige angebrachten Skala angeben. Dieser Wert wird benötigt um den anzuzeigenden Wert entsprechend zu skalieren. Wertebereich: -10000 bis 10000.
3. Parameter: „obere Grenze“:
Für diesen Parameter müsst Ihr die obere Grenze der auf der analogen Anzeige angebrachten Skala angeben. Dieser Wert wird benötigt um den anzuzeigenden Wert entsprechend zu skalieren. Wertebereich: -10000 bis 10000.
4. Parameter: „aktueller Wert“:
Dies ist der Wert der angezeigt werden soll. Er wird entsprechend der angabe der „unteren Grenze“ und „oberen Grenze“ skaliert. Wertebereich: -10000 bis 10000.
5. Parameter: „LED Farbe rot“:
Roter Farbwert der zu setzenden LED. Wertebereich: 0 bis 255.
6. Parameter: „LED Farbe grün“:
Grüner Farbwert der zu setzenden LED. Wertebereich: 0 bis 255.
7. Parameter: „LED Farbe blau“:
Blauer Farbwert der zu setzenden LED. Wertebereich: 0 bis 255.

pmset,
{selected PanelMeter 0-16(zero=all)},
{rangeMin -10000-10000},
{rangeMax -10000-10000},
{actualValue -10000-10000},
{led color red 0-255},
{led color green 0-255},
{led color blue 0-255},

Beispiele:
– Ihr wollt z.B. eine analoge (Temperatur-)Anzeige auf 20°C einstellen, dessen Wertebereich von -10°C bis +40°C geht: pmset,1,-10,40,20
– die LED der gleichen Anzeige soll dabei auch noch auf Blau eingestellt werden: pmset,1,-10,40,20,0,0,255

Befehl: pmled
Einstellen der LED-Farben.

Der Befehl „pmled“ benötigt vier Parameter.
1. Parameter: „gewählte LED“:
Mithilfe dieses Parameters wählt Ihr aus welche LED eingestellt werden soll. Dabei beginnt die Zählung bei Eins. Gebt Ihr eine Null an werden alle verfügbaren LED’s mit den gewählten Einstellungen gesetzt. Wertebereich: 0 bis 16.
2. Parameter: „LED Farbe rot“:
Roter Farbwert der zu setzenden LED. Wertebereich: 0 bis 255.
3. Parameter: „LED Farbe grün“:
Grüner Farbwert der zu setzenden LED. Wertebereich: 0 bis 255.
4. Parameter: „LED Farbe blau“:
Blauer Farbwert der zu setzenden LED. Wertebereich: 0 bis 255.

pmled,
{ {led color red 0-255},
{led color green 0-255},
{led color blue 0-255},

Beispiel:
– um die vierte LED mit der Farbe Grün einzuschalten reicht folgender Befehl: pmled,4,0,255,0


Beispiel NodeCode um das PanelMeter mit Daten zu versorgen

Natürlich benötigt Ihr noch ein „Backend“ um Euer PanelMeter mit Daten zu füttern. Dazu eignen sich diverse SmartHome-Systeme sehr gut. Sehr leicht lässt sich dies zum Beispiel mit NodeRed umsetzen. Tipps dazu findet Ihr im Artikel NodeRed – Nerdiys-PanelMeter mit Wetterdaten versorgen.


Verfügbare Features

  • Automatische skalierung und anzeige von Werten auf einzelnen und allen analogen Anzeigen.
  • Einstellen der LED-Farben einzelner und aller LED’s.

Geplante Features

  • Verknüpfung mit openWeatherMap-Account um Klima-Daten direkt anzeigen zu lassen.
  • Möglichkeit die analogen Anzeigen als Minuten- und Stundenanzeige nutzen zu können.

Changelog

v0.1:

  • project created

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

Fab

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.