Solar – Node-Red Energiefluss Dashboard

"Professionelle" Solaranlagen kommen – anders als DIY Balkonkraftwerke mit denen sich ein Hobbyist beschäftigt – normalerweise mit einer eigenen Verwaltungs- und Steuersoftware bzw. Apps. In letzter Zeit habe ich des öfteren mit einer Fronius Solaranlage zu tun gehabt und war fast ein bisschen neidisch auf das sehr übersichtliche Energiefluss Dashboard in deren App.

Ich habe deshalb versucht, dieses Dashboard für mein Guerilla Solarkraftwerk mit Node-Red nachzubauen. Im Folgenden zeige ich euch, wie man das macht.

Mir gefällt das Fronuius App Dashboard, weil es auf einen Blick alle wesentlichen Statusinformationen zeigt.

Fronius Dashboard – Batterie ist nicht installiert.

Die Bubbles zwischen den fünf Komponenten sind animiert und stellen zum einen die Flussrichtung dar, zum anderen zeigt ihr Durchmesser an, ob viel oder wenig Leistung transportiert wird.

Lösung ohne CSS und html

Mit CSS, html und anderen Seitenbeschreibungsmethoden stehe ich auf Kriegsfuß, bzw. brauche immer sehr lange bis ich etwas Vernünftiges hinbekomme. Viel schneller und einfacher geht es mit NR Bordmitteln.

Die Frage ist, wie bekomme ich einen animierten Fluss – so wie die Fronius Bubbles – hin? Die normalen Dashboard Nodes können das nicht. Hier hilft

node-red-contrib-ui-media

Dieser Node muss über die Palettenverwaltung nachinstalliert werden. Er erlaubt es, Bilder bzw. Videos in NR zu laden und im Dashboard darzustellen. Sehr praktisch. Und wenn man Animated GiFs verwendet, hat man sogar eine bewegte Anzeige. Der ui-media Node hat seine eigene Verwaltungsfunktion, mit der die gewünschten Bilder in den Node-Red Arbeitsbereich kopiert oder daraus gelöscht werden können.

Animated GIF

Ich habe dann mit Powerpoint – es geht natürlich auch mit jedem anderen Zeichenprogramm – eine kleine "Ameisenarmee" aus Pfeilen gezeichnet, diese in vier verschiedenen Bewegungsstadien dargestellt und als JPG Dateien abgespeichert. Die vier Dateien habe ich dann in das Online Tool EZgif.com hochgeladen und daraus ein animated GIF generiert. EZgif kann die Animation auch um 90° in jede Richtung drehen, so dass ich am Schluss animated GIFs für jede Flussrichtung habe.

Zur Darstellung der Leistung habe ich drei Sets in "schmal", "mittel" und "breit" generiert.

Natürlich kann man statt der Pfeile auch Bubbles à la Fronius oder Striche, Käfer, Mäuse oder was auch immer nehmen.

Energiefluss Dashboard

Schlussendlich habe ich das Ganze in ein Node-Red Dashboard 1.0 eingebaut. Das Ergebnis ist ganz ordentlich geworden.

Das Layout hinzubekommen, ist zugegebenermaßen etwas fummelig, aber wenn die Nodes richtig beschriftet sind, hat man die Elemente schnell positioniert. Mit dem neuen und besseren Dashboard 2.0 muss ich mich noch auseinandersetzen – ggf. schreibe ich etwas darüber.

Das Pi in der Mitte ist das Symbol für meine  Schaltzentrale. Ihr könnt natürlich etwas Anderes nehmen. Anders als bei Fronius habe ich den Ladezustand (SoC) der Batterie oben drüber geschrieben und die Wattzahl wie bei allen anderen Donut Gauges als Messwert angegeben.

Node Tableau

Das Node Tableau sieht wie folgt aus:

Und das JSON dazu:

Alle Werte die angezeigt werden, habe ich als global Kontextvariablen übernommen. Diese sind:

  1. Aktuelle PV Leistung: global.gaktPV
  2. Aktueller Netzbezug/Einspeisung: global.gpowerTotal
  3. Aktuelle Ladeleistung: global.chargeWatt
  4. Aktuelle Einspeisung aus Batterie: global.einspeisung
  5. Der Netto Hausverbrauch wird errechnet aus: 1. + 2. + 3. – 4.

Hier müsst ihr ran und das auf eure Verhältnisse anpassen. Mein Dashboard ist natürlich gewachsen, weshalb die Nomenklatur der Kontextvariablen leider nicht ganz einheitlich ist. Vielleicht sollte ich mal ein Refactoring machen…

Je nachdem, welche Leistung zwischen den fünf Komponenten hin- oder her flutscht, wird die Dicke des Pfeils ausgerechnet, das heißt die Leistung des einzelnen Flusses im Verhältnis zur Summe aller Energieflüsse

  • < =  25%: schmale Pfeile
  • < = 49%: mittlere Pfeile
  •  > 49%: dicke Pfeile

Hier sind eurer Kreativität keine Grenzen gesetzt!

Gesetzt werden die jeweiligen GiFs in den "Set Arrows" Function Nodes als Payload für die ui-media Nodes.

Die von mir verwendeten Bildchen/Icons habe ich hier zum Download abgelegt. Da ist sicher noch einiges Verbesserungspotenzial enthalten, aber es funktioniert für den Anfang.

Schreibe einen Kommentar

Ich freue mich über Lob und Kritik.
Falls du Probleme mit der hier vorgestellten Anleitung hast und nicht weiter kommst:
Bitte das Problem oder die Fehlermeldung(en) möglichst genau beschreiben, auch an welcher Stelle (z.B. in welchem Node oder Befehl) und unter welchen Umständen der Fehler auftritt.
Gerne kannst du mir auch ein Mail schreiben. Die Adresse findest du im Impressum.
Ich gebe mir viel Mühe, meinen Lesern weiterzuhelfen. Je konkreter du bist, desto einfacher und schneller kann ich versuchen zu helfen.
Deine E-Mail-Adresse wird nicht veröffentlicht.
Erforderliche Felder sind mit * markiert