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/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
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.
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
Viel Spaß mit dem Projekt
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. 🙂
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. 🙂