Wer ein sogenanntes Hauskraftwerk S10E von E3/DC bzw. der Firma „HagerEnergy GmbH“ besitzt, kann über die im Gerät vorhandene Modbus-TCP Schnittstelle einige Daten aus der Steuerung auslesen und diese zum Beispiel in seinem Hausautomationssystem weiter verarbeiten oder zumindest visualisieren. Für manche Informationen ist auch ein Beeinflussen der Funktionalität möglich.
Besitzt man Hausautomation Komponenten von verschiedenen Herstellern, muss man entweder für jede der Herstellerkomponenten eine eigene App nutzen, oder man versucht alle wesentlichen Daten an ein System zu übergeben und dort darzustellen. Für diesen Fall bietet sich unter anderem das Software-Tool Node-RED an. In diesem Beitrag beschreibe ich die Umsetzung. Weiter ist ein Dashboard realisiert, damit wichtige Informationen der solaren Stromversorgung übersichtlich dargestellt werden können.
Node-RED ist ein weltweit bekanntes, kostenfreies Software-Tool. Dadurch nutzen schon viele Enthusiasten diese Software und setzten schon Modbus Anbindungen, untern anderem an das Hauskraftwerk um. Aufbauend auf diesen Vorarbeiten erweiterte ich die Umsetzung, da die Modbus Spezifikation von E3/DC erweitert wurde, um zusätzliche Informationen an eine übergeordnete Steuerung übergeben zu können.
Die Basis Modbus-TCP Anbindung konnte ich diesem Beitrag (siehe Link) entnehmen und brauchte die Umsetzung nur auf die zusätzlich übertragenen Informationen zu erweitern. (Vielen Dank an den Entwickler.) Außerdem passte ich die Visualisierung etwas an. Nähere Informationen zur Modbus-TCP lassen sich auch aus der Anleitung der Modbus-TCP Schnittstelle von E3/DC entnehmen.
Visualisierung:
Dargestellt werden die folgenden Komponenten:
- Solarertrag (mittels Zeigerinstrument und als grafischer Verlauf)
- Hausverbrauch (mittels Zeigerinstrument und als grafischer Verlauf)
- Netzleistung (mittels Zeigerinstrument und als grafischer Verlauf)
- Batterieleistung (mittels Zeigerinstrument und als grafischer Verlauf)
- Statusübersicht
- Verschiedene Felder stellen auf einem Blick alle wesentlichen Verbrauchswerte dar. Die Darstellung ist der Anzeige der E3/DC App nachempfunden. Farbige Hintergründe geben einen schnellen Überblick über den aktuellen Zustand.
- Schwellwerteingabe
- für die Statusübersicht lassen sich die Farbumschaltungen (rot/grün) durch Schwellwerte individuell festlegen ohne die Programmierung anpassen zu müssen
- Der grafische Verlauf der String und Haus Phasen Leistungswerte gibt einen detaillierteren Überblick in Form von Liniendiagrammen.
- Weitere Diagramme ergänzen die Darstellung. Eine realisierte (sehr grobe) Leistungsermittlung vom Hausverbrauch auf Stundenbasis und einige weitere Diagramme runden das Bild ab.
Mithilfe der Daten aus der Schnittstelle und entsprechenden Programmierkenntnissen lassen sich noch viele weitere Darstellungen und Auswertungen umsetzen. Das Internet ist voll von guten Ideen.
Programmumsetzung:
Das Programm wurde in Node-RED in einem eigenen Tab umgesetzt und besteht aus mehreren Flows die zusammen die beschriebene Funktionalität abbilden.
Der erste und wichtigste Teil kümmert sich um die Modbus-TCP Schnittstelle und holt die Daten aus dem Hauskraftwerk ab. Dabei muss man einmalig im Hauskraftwerk die Modbus-TCP Schnittstelle freischalten und sich die IP Adresse heraussuchen. Die Schnittstelle wurde so konfiguriert dass jede Minute Daten per Modbus-TCP ankommen, decodiert und dann an die einzelnen Ausgänge des Funktionsnode weitergegeben. Die Abholrate von 1 Minute kann in der Konfiguration angepasst werden. Da die programmierung auch noch ganz grob den Stromverbrauch vom Haus berechnet, muss im entsprechenden Abschnitt dann noch bei dieser Berechnung der Faktor angepasst werden.
Weiterhin werden fast alle Werte noch in internen Flow Variablen nach dem Messzyklus abgelegt. Somit könnten andere Flows noch auf die Werte, unabhängig von der Modbus Abfragerate, zugreifen.
Der zweite Teil stellt schon einige Werte als Liniendiagramm dar.
Hier erfolgt nun die Darstellung von Werten als Zeiger- und Liniendiagramm. Zusätzlich erfolgt noch eine kleine Berechnung.
Im vierten Abschnitt erfolgt die grobe Berechnung des Energieverbrauches. Diese Werte werden leider über die Modbus-TCP Schnittstelle nicht übertragen. Aufgrund der Abtastrate enthält der berechnete Energieverbrauch vom Haus nur einen groben Richtwert. Er wird hier für einen Tagesvergleich herangezogen. Dafür sollte die Genauigkeit ausreichen.
Dieser Abschnitt stellt den stetigen Verlauf des Energieverbrauches vom Haus dar. Über die beiden manuell anklickbaren Input Nodes besteht die Möglichkeit den stetigen Verlauf täglich um 0:00 Uhr zu löschen damit die Grafik von vorn beginnt.
Dieser Abschnitt realisiert grafische Button. Mit Ihnen lassen sich Grenzwerte einstellen, um diese im nächsten Flow für die farbliche Darstellung zu nutzen.
Dieser letzte Abschnitt realisiert eine ähnliche Darstellung wie in der E3/DC App als Kurzübersicht. Die angezeigten Zahlen zeigen die wichtigsten Daten an. Farbige Hintergründe, deren Schwellwerte einstellbar sind, dienen der schnellen Übersicht. Einige kleine Grafiken in einigen Elementen zeigen weitere Detailinformationen an.
Den gesamten Flow stelle ich als ZIP File zur Verfügung. Ausgepackt lässt sich das JSON File in Node-RED importieren. Einige Anpassungen müssen allerdings durchgeführt werden. Entsprechende Detailinformationen wurden teilweise in den Beschreibungen der Nodes hinterlegt.
Viel Spaß beim Verbessern!
Hallo, node red mobbert die fehlende node bar-chart-data an. Kannst du mir bitte diese zur Verfügung stellen.
Vielen Dank.
Hallo Joachim,
Der fehlende Node hat die Bezeichnung „node-red-contrib-dashboard-bar-chart-data“. Dieser lässt sich im NodeRED im Adminbereich nachinstallieren.
Hamburger Menü -> Palette verwalten -> Register Installation -> Suchfeld „bar-chart“. Dann wird die Komponente angezeigt und kann installiert werden.
Ich hoffe dann läuft dein Flow.
Beste Grüße
Andi
Moin…wenn ich den Flow importiere, fehlen mir einige Notes. Wo bekomme ich die her?
Hi,
ich kann leider nicht feststellen was dir genau fehlt, ich versuche mich aber mal:
Die beiden Nodes können über „Palette verwalten“ hinzugefügt werden
Hey, sehr gutes Programm 🙂 ich habe nur ein Fehler mit dem „Gate“ Welches Paket muss ich nachinstallieren?
Hallo Sebastian,
ich habe die folgende Komponente zur Modbus TCP Anbindung genutzt:
https://flows.nodered.org/node/node-red-contrib-modbustcp
Ich hoffe das beantwortet deine Frage.
Beste Grüße
Andreas