Dieses Dokument bietet eine detaillierte Anleitung, wie Sie mit Node-RED eine Nulleinspeisung für Ihre Solaranlage realisieren können. Das Ziel ist es, die Einspeisung Ihrer Photovoltaikanlage zu minimieren, indem Sie den aktuellen Netzbezug und die Erzeugungsleistung in Echtzeit überwachen und den Wechselrichter dynamisch anpassen. Dadurch wird sichergestellt, dass der erzeugte Strom nicht in das öffentliche Netz zurückgespeist wird, sondern optimal im eigenen Haushalt genutzt wird.
Zur Umsetzung dieser Lösung müssen Sie verschiedene Hardwarekomponenten (wie Smart Meter, Wechselrichter mit Fernsteuerungsoptionen und einen Steuerrechner wie einen Raspberry Pi) sowie Softwarekomponenten (Node-RED, MQTT-Broker, spezifische Nodes und ggf. Hysterese-Module) miteinander verbinden.
Die Lösung basiert auf einem kontinuierlichen Datenstrom, der von Zählergeräten und Wechselrichtern erfasst wird. Im Wesentlichen gibt es drei Kernbereiche:
Ihre Anlage sollte ein Smart Meter oder einen vergleichbaren Zähler haben, der den aktuellen Verbrauch und Netzbezug in Echtzeit misst. Diese Daten können über MQTT, Modbus oder andere Schnittstellen in Node-RED eingespeist werden. Ein typisches Setup beinhaltet den Einsatz eines Hichi IR Lesekopfes oder ähnlich, der Ihre Zählerdaten erfasst.
Gleichzeitig sollten Sie Zugriff auf die Daten Ihres Wechselrichters haben, der über APIs, Modbus oder MQTT steuerbar ist. Diese Daten liefern den aktuellen Ertrag und ermöglichen die Anpassung der Einspeiseleistung.
Die Flow-Logik besteht im Wesentlichen aus den folgenden Komponenten:
Der zentrale Aspekt besteht darin, den aktuellen Netzbezug (Verbrauch minus PV-Erzeugung) zu bestimmen und dann den Einspeise-Wechselrichter so zu steuern, dass genau die erforderliche Leistung abgegeben oder reduziert wird. Dies führt zu einer dynamischen Anpassung, die sich an die sich ändernden Bedingungen des Verbrauchs und der Erzeugung anpasst.
Ein gängiger Ansatz ist die Verwendung eines PID-Reglers, der eine präzise Steuerung erlaubt. Alternativ können Sie auch simplere Vergleichs- und Berechnungsalgorithmen nutzen, die den Zielwert „0 Einspeisung“ kontinuierlich anstreben.
Der Wechselrichter muss dauerhaft mit den aktuellen Messdaten versorgt werden, um seine Einspeiseleistung kurzfristig anzupassen. Dies kann über MQTT oder eine andere relevante Schnittstelle realisiert werden. Es ist wichtig, dass die Kommunikation in nahezu Echtzeit erfolgt, um Überschüsse bzw. Defizite im Netz sofort zu korrigieren.
Darüber hinaus ist es essenziell, Toleranzgrenzen und Sicherheitsmechanismen (zum Beispiel über Hysterese) zu implementieren, damit es nicht zu häufigen oder abrupten Änderungen kommt, die den Wechselrichter und das gesamte System destabilisieren könnten.
Im Folgenden wird ein Beispiel-Flow beschrieben, der als Grundlage für die Programmierung Ihrer Nulleinspeisung dienen kann. Der Flow besteht aus mehreren Schritten, die von der Datenerfassung über die Berechnung der Differenz bis hin zur Aussteuerung des Wechselrichters reichen.
Erstellen Sie zwei MQTT-In-Nodes in Node-RED, einen für den Zähler (Smart Meter) und einen für den Wechselrichter. Stellen Sie sicher, dass sie regelmäßig aktualisierte Daten empfangen. Die Konfiguration könnte beispielsweise so aussehen:
/* Beispiel: MQTT-In-Node für Zählerdaten */
{
"id": "node-zaehler",
"type": "mqtt in",
"name": "Zählerdaten",
"topic": "home/solar/zähler",
"qos": "0",
"datatype": "auto",
"broker": "mqtt-broker",
"x": 100,
"y": 100,
"wires": [["node-verarbeitung"]]
}
/* Beispiel: MQTT-In-Node für Wechselrichterdaten */
{
"id": "node-wechselrichter",
"type": "mqtt in",
"name": "Wechselrichterdaten",
"topic": "home/solar/wechselrichter",
"qos": "0",
"datatype": "auto",
"broker": "mqtt-broker",
"x": 100,
"y": 200,
"wires": [["node-verarbeitung"]]
}
Beide Nodes leiten die Daten an einen zentralen Function-Node weiter, der für die Berechnung der Einspeiseleistung verantwortlich ist.
In einem Function-Node können Sie den aktuellen Verbrauch (Netzbezug) in Beziehung zur PV-Erzeugung setzen. Das folgende Beispiel zeigt, wie die Einspeiseleistung berechnet wird:
/* Beispiel: Berechnung der Nulleinspeisung */
let zaehlerWert = flow.get("letzterZählerwert") || 0; // z.B. aus einem vorherigen Node
let wechselrichterWert = flow.get("letzterWRWert") || 0; // aktueller Wert des Wechselrichters
// Beispiel: Annahme, dass positive Werte den Verbrauch und negative Einspeisung darstellen
// Berechnung der Differenz zur angestrebten Nulleinspeisung:
let differenz = 0 - (zaehlerWert + wechselrichterWert);
// Logik: Wenn die Differenz signifikant ist, passen wir den Einspeisewert an
if(differenz !== 0) {
// Anpassung der Wechselrichterleistung proportional zur Differenz
// Beispiel: Minimalwert, um den Wechselrichter aktiv zu halten
let steuerWert = (Math.abs(differenz) > 150) ? (differenz > 0 ? -20 : -5) : (differenz > 0 ? -10 : -2);
// Setzen eines minimalen Steuerwerts
if(steuerWert < -1) {
steuerWert = steuerWert;
} else {
steuerWert = -1;
}
msg.payload = steuerWert;
} else {
msg.payload = 0; // Keine Anpassung, wenn exakte Nulleinspeisung erreicht
}
// Speichern der Werte für weitere Schritte
flow.set("letzterZählerwert", zaehlerWert);
flow.set("letzterWRWert", wechselrichterWert);
return msg;
Dieser Node vergleicht den aktuellen Zustand und berechnet die notwendige Anpassung, um den Einspeisewert des Wechselrichters zu reduzieren oder zu erhöhen, sodass letztlich eine Nulleinspeisung erreicht wird.
Um unnötiges Schalten und Instabilitäten zu vermeiden, ist es ratsam, einen Hysterese-Mechanismus zu implementieren. Hierfür können Sie einen zusätzlichen Node oder eine Funktion in Ihrem Code integrieren, der Schwellwerte setzt und somit verhindert, dass kleine Schwankungen zu Anpassungen führen.
Die Implementierung kann beispielsweise die folgenden Schritte enthalten:
Auf diese Weise wird die Steuerung stabiler, und häufige kleine Schwankungen beeinflussen das System nicht übermäßig.
Nachdem die erforderliche Einspeiseleistung berechnet wurde, müssen Sie diesen Wert an den Wechselrichter senden. Dazu nutzen Sie einen MQTT-Out-Node in Node-RED, der den berechneten Steuerbefehl an das Thema sendet, das der Wechselrichter überwacht. Ein Beispiel der Konfiguration sieht wie folgt aus:
/* Beispiel: MQTT-Out-Node für Wechselrichtersteuerung */
{
"id": "node-out-wechselrichter",
"type": "mqtt out",
"name": "Wechselrichter Steuerung",
"topic": "home/solar/steuerung",
"qos": "0",
"retain": "false",
"broker": "mqtt-broker",
"x": 300,
"y": 100,
"wires": []
}
Dieser Node empfängt den Steuerwert aus dem vorangegangenen Function-Node und sendet ihn an den Wechselrichter. Der Wechselrichter interpretiert den empfangenen Wert, um seine Einspeiseleistung anzupassen.
Neben der reinen Steuerung können Sie Node-RED auch zur Visualisierung der Betriebsdaten Ihrer Solaranlage nutzen. Dashboards bieten Ihnen einen Überblick über den aktuellen Status des Zählers, den Leistungszustand des Wechselrichters und die erreichte Nulleinspeisung.
Für die Visualisierung können Sie Nodes wie node-red-dashboard verwenden, mit denen Sie Diagramme und Anzeigen konfigurieren. Dies ermöglicht es Ihnen, auf einen Blick zu erkennen, ob Ihre Regelung korrekt funktioniert und wie sich Verbrauch und Erzeugung im Laufe der Zeit verhalten.
Komponente | Funktion | Kommunikationsprotokoll |
---|---|---|
MQTT-In-Node (Zähler) | Erfassung aktueller Verbrauchsdaten | MQTT/Modbus |
MQTT-In-Node (Wechselrichter) | Erfassung aktueller Erzeugungsdaten | MQTT/Modbus/API |
Function-Node (Verarbeitung) | Berechnung der Differenz und Steuerungslogik | - |
Hysterese-Node | Stabilisierung der Schaltvorgänge | - |
MQTT-Out-Node (Wechselrichtersteuerung) | Senden der Anpassungsbefehle | MQTT |
Stellen Sie sicher, dass Ihre Hardware für den Echtzeitbetrieb geeignet ist. Dazu gehören:
Achten Sie darauf, dass die MQTT-Broker-Konfiguration den Datenfluss optimiert. Verwenden Sie, wenn möglich, ein verschlüsseltes Protokoll (z.B. TLS), um die Kommunikation zwischen den Geräten abzusichern. Ebenso sollten Sie sicherstellen, dass die Nodes stets aktuelle Software-Versionen nutzen, um Sicherheitslücken zu vermeiden.
Bevor Sie den Flow in den Dauerbetrieb überführen, sollten Sie umfangreiche Tests in einer kontrollierten Umgebung durchführen. Überprüfen Sie, ob folgende Aspekte gegeben sind:
Nutzen Sie Debug-Nodes in Node-RED, um die Ausgabe der Function-Nodes zu überwachen, und passen Sie gegebenenfalls Parameter an, um die Regelung optimal zu kalibrieren.
Die grundlegende Lösung kann durch unterschiedliche Zusatzfunktionen optimiert werden. Folgende Erweiterungen können das System noch leistungsfähiger machen:
Wenn ein Batteriespeicher vorhanden ist, kann dieser in den Node-RED Flow integriert werden, sodass überschüssige Solarenergie zur Ladung der Batterie genutzt wird, anstatt in das öffentliche Netz eingespeist zu werden. In diesem Fall sollten zusätzliche Nodes zur Überwachung des Batteriestatus und zur Steuerung der Lade-/Entladezyklen eingebunden werden.
Durch die Verwendung von Dashboard-Nodes können Sie umfassende Visualisierungen erstellen, die den aktuellen Messzustand, Leistungskennzahlen und historische Daten darstellen. Dies unterstützt nicht nur Fehleranalysen, sondern bietet auch einen klaren Überblick über den Zustand Ihrer PV-Anlage.
Für eine noch präzisere Anpassung der Einspeiseleistung kann ein PID-Regler (Proportional-Integral-Derivative) integriert werden. Dieser Regler passt die Ausgabe kontinuierlich an und reagiert sehr feinfühlig auf Veränderungen im Netzbezug. In Node-RED können Sie diesen Algorithmus entweder durch einen eigenen Function-Node oder durch spezialisierte Nodes implementieren.
Die Sicherheit Ihrer Anlage und die Stabilität der Steuerung sollten stets Priorität haben. Einige Punkte, die Sie dabei berücksichtigen sollten:
Durch diese Maßnahmen wird gewährleistet, dass Ihre Nulleinspeisung nicht nur effizient, sondern auch zuverlässig arbeitet.
Die Implementierung einer Nulleinspeisung mit Node-RED ist eine anspruchsvolle, aber lohnende Aufgabe, die eine Kombination aus Echtzeit-Datenerfassung, dynamischer Regelungslogik und präziser Steuerung des Wechselrichters umfasst. Durch den Einsatz von MQTT, verschiedenen Function-Nodes, Hysterese-Mechanismen und ggf. erweiterten PID-Reglern können Sie eine Lösung schaffen, die Ihre Solaranlage optimal auf den Eigenverbrauch ausrichtet.
Die vorgestellte Lösung ist flexibel und kann an spezifische Hardwarekonfigurationen und individuelle Anforderungen angepasst werden. Es wird empfohlen, die Implementierung schrittweise zu testen und kontinuierlich zu überwachen, sodass Sie jederzeit eingreifen können, falls unerwartete Probleme auftreten. Zusätzlich können Sie mit Visualisierungstools und Dashboards den Systemzustand überwachen und so langfristig die Effizienz Ihrer Anlage optimieren.
Insgesamt ermöglicht diese Methode, den Eigenverbrauch zu maximieren und gleichzeitig die Einspeisung ins öffentliche Netz minimal zu halten – ein entscheidender Faktor zur Optimierung der Wirtschaftlichkeit und Nachhaltigkeit Ihrer Solaranlage.
Zusammenfassend zeigt dieser Leitfaden, wie Sie mit Node-RED eine effiziente Lösung zur Nulleinspeisung Ihrer Solaranlage implementieren können. Angefangen bei der Erfassung der Zähler- und Wechselrichterdaten über die zentrale Regelungslogik bis hin zur feinen Steuerung der Einspeiseleistung, bietet dieser Flow ein solides Fundament für die Optimierung Ihrer PV-Anlage. Die Integration erweiterter Funktionen wie Batteriespeicher-Anbindung, visuelle Dashboards und PID-Regler kann zusätzlich zur weiteren Effizienzsteigerung beitragen. Es ist wesentlich, dass Sie während der Implementierung auf Stabilität, Sicherheit und kontinuierliche Überprüfung der Systemparameter achten, um ein zuverlässiges und sicheres Betriebsumfeld zu gewährleisten.
Durch die iterative Entwicklung und systematische Validierung können Sie den Flow laufend anpassen und optimieren. Die hier dargestellten Beispiele und Parameter bieten Ihnen einen Startpunkt – an diesem können Sie Ihre spezifische Anlage und Anforderungen ausrichten, um die bestmögliche Leistung zu erreichen.