Nulleinspeisung (Demo) - surfer1264/Zendure-Stuff GitHub Wiki

image

Disclaimer

Die HACS Integration für Hoymiles WR sagt: "Bitte verwenden Sie die Strombegrenzungsfunktion nicht für die Nulleinspeisung, da dies zu einer Beschädigung des Wechselrichters durch übermäßiges Schreiben in das EEPROM führen kann."

Es ist aktuell nicht herauszubekommen, welcher Sensor des Wechselrichters genutzt wird beim Hoymiles (der permanente oder der non-permanente, letzerer wäre unkritisch). Demnächst werde ich den Wechselrichter wechseln und den APSystem EZ-1 nutzen, der ebenfalls in HomeAssistent gut integrierbar ist und vor allem geeignet ist für die lokale Steuerung.

Folgende Implementierung zeigt daher nur exemplarisch eine Reglerimplementierung, die sehr genau und zeitnah den gewünschten Energiebedarf bereitstellt. Je nach Konfiguration ist diese als Nulleinspeisung oder Nullbezug einsetzbar. (Die Regelung lief bei mir ca. 20h ohne Probleme auf dem HA Green)

Use at your own risk!

Im Kern wollte ich einen funktionierenden Regelalgorithmus entwickeln. Dieser ist bisher nicht unter allen Bedingungen getestet, z.B. muss der Regler Bypass Modus pausieren. Dies ist bisher nicht abgebildet.

Den Weg mit dem Hoymiles verfolge ich nicht weiter.

Einfacher Regler

Ziel ist Nulleinspeisung (oder Nullbezug) mit Hysterese. Dies bedeutet, die Regelung arbeitet nicht absolut auf NULL sondern bringt den zu regelnden Wert in den durch die Hysterese definierten Regelbereich. Durch Definition des Sollwertes mit Offset lässt sich Nulleinspeisung (keine Einspeisung ins Netz) oder Nullbezug (kein Bezug aus dem Netz) realisieren.

Voraussetzungen

  • einen Shelly 3EM oder anderen Smartmeter, der das Verbrauchssignal im HA zur Verfügung stellt. Ich nutze den Shelly 3EM: sensor.wohnung_channel_a_powerDieser Sensor bildet den realen Bezug des Haushalts ab.
  • einen Wechselrichter, dessen Ausgangssignal man mit HA beeinflussen kann. Ich habe einen Hoymiles WR, dessen Ausgangssignal sich ändern lässt über den Sensor: number.dtu_leistungsbegrenzung. Dieser Sensor ist beim Hoymiles ein Prozentwert. 0% entspricht geschlossen; 100% entspricht offen. Die Regelschrittweite ist durch den Prozentansatz begrenzt auf 8W (bei einem 800W WR)

Initialisierung

Hier werden nur Startwerte gesetzt, die in der Reglerroutine Verwendung finden. Der wichtigste anzupassende Wert, ist die Leistung des Wechserichters.

Die Variable WRLeistung ist auf den Sollwert des WRs zu setzen. Ich nutze einen HMS-800-2T mit 800W Ausgangsleistung.

Die Variable Sollwert legt die zu regelnde Zielgröße fest. Hier könnte also auch ein abweichender Wert als NULL definiert werden.

Varianten:

  • Sollwert = 0 (Regeln auf 0)
  • Sollwert = negativ (z.B: -20W, Nullbezug realisieren)
  • Sollwert = positiv (z.B: 20W, Nulleispeisung realisieren)

Die Variable Hysterese definiert den Regelbereich. Bei einer Hysterese von 10(W) reagiert der Regler nicht, wenn der Sollwert zwischen z.B: +10W und -10W pendelt (bei Sollwert von Null).

Zusammen mit der Hysterese kann man so Regelbereiche defnieren. (z.B. von -10W..0...10W; oder 0W...10...20W).

Die Variable MAXEinspeisung begrenzt die Ausgabe auf einen Prozentwert. Beispiel: MAXEinspeisung = 50

Beispiel: 50 bedeutet Begrenzung auf 50% der Leistung des WR (bei einem 800W WR also auf 400W). Liegt der Hausbedarf unterhalb der 400W, greift die Regelung. Liegt der Hausbedarf oberhalb der 400W, wird die Lieferung auf 400W begrenzt.

Arbeitsweise

Der Flow startet alle drei Sekunden. Er prüft, ob der Solarflow überhaupt Online ist. (im WLAN: device_tracker.solarhub ). Dies ist ein Sensor, den die FritzBox zur Verfügung stellt. Er prüft, ob überhaupt schon Energie ausgeliefert wird. (sensor.sf_output_home_power_filtered). Dies ist ein Sensor des Zendure Solarflows. Diese ersten zwei Schritte sollen sicherstellen, dass der Flow überhaupt nur arbeitet, wenn sinnvoll (z.B. Hub ist nachts ausgeschaltet, oder Hub liefert noch keine Energie, weil Entladegrenze erreicht)

Der Flow ermittelt die Abweichung zum Sollwert.

Der Sollwert wird umgerechnet auf die prozentuale Abweichung (Delta) zur maximalen WR-Leistung.

Beispiel: Der Shelly3EM meldet einen Bezug von 100W. Dies entspricht einem Delta 12,5% der Wechselrichterleistung.

Im Ergebnis wird der Wechselrichter um diesen Prozentwert Delta) beaufschlagt, im vorliegenden Beispiel um 12,5% weiter geöffnet, was eben genau 100W entspricht. Der hier berechnete Ausgabewert wird natürlich immer auf den Wertebereich 0..100% begrenzt.

Sollte eine Begrenzung konfiguriert sein, wird diese ggf. berücksichtigt.

Die Regelgenauigkeit (oder der Regelfehler) liegt bei 8W (bei Verwendung eines Hoymiles WR mit 800W Sollleistung). Dies liegt daran, dass die Regelgrösse hier ein ganzzahliger Prozentwert ist. 1% von 800W ist damit die kleinste Regeländerung, die möglich ist.

Einstellung am SolarFlow

  • Alle Energiemodis deaktivieren
  • Nur Grundeinspeisung einstellen und den Ausgang des Hubs auf den maximalen Wert zum Wechselrichter einstellen.

Download

Download des NodeRed-Flows