Installationshinweise zur HA‐Regelung - surfer1264/Zendure-Stuff GitHub Wiki

Disclaimer

Die Flowgruppen sind nummeriert.

In den Nodes sind die Sensornamen in jedem Fall zu überprüfen. Die Stellen sind kenntlich gemacht mit:

image

Achtung:

  • Ich nutze einen WR, der "absolut" angesteuert wird (mit Wattzahlen). Die Flows sind 1:1 verwendbar.
  • Es gibt auch WRs, die relativ angesteuert werden (Prozentzahl). Weitere Hinweise siehe auch unten unter (8) Testflows
  • Wer drei Phasen seines Smartmeters auslesen will, muss ebenfalls eine leichte Anpassung vornehmen. Vorarbeit siehe Flow (8) Testflow

(1.1) Initialisierung

Es werden grundlegende Variablen initialisiert. Unter anderem die Wechselrichter-Parameter WRmax und WRmin. Bitte hier korrekt setzen (keine Mondwerte)

image

(1.2) Initialisierung Termindaten

Der Bypass Sensor ist eine Ableitung von Zenduredaten. Dafür braucht man die Zendure-Integration. Falls Ihr das nicht habt/machen wollt...Löscht diesen Teil der Initialisierung raus.

image

(2) Reglerfunktion

Hier ist der Sensor des Einspeisesensor (bei mir ein Shelly 1PluasPM) zu überprüfen. Habt Ihr keinen? diese Node löschen. Wenn der Hub keine Energie mehr liefert, dann wird die Reglerfunktion nicht mehr aufgerufen. Das Entfernen dieser Node ist aber unschädlich.

Hier die lokale Abfrage Eures Smartmeters anpassen. (Die IP-Adresse des SmartMeters ist gefragt.) Oder ihr ersetzt die Node durch einen klassischen "current-state" Knoten und lest den relevanten HA-Sensor aus).

Dies ist auch die Stelle (siehe Disclaimer), an der ggf. die absolute Reglerfunktion gegen eine relative Funktion zu tauschen ist (siehe FLow (8)), je nach Wechselrichter.

Dies ist auch die Stelle (siehe Disclaimer), an der ggf. die 3-Phasenabfrage einzubauen ist (siehe FLow (8)).

image

Dies ist auch die Stelle (Inject-Knoten) wo die Taktung des Reglers zu verändern ist (mein Standard: 5 Sekunden).

(3.1) Spezial: Bypass

Der Bypass Sensor ist eine Ableitung von Zenduredaten. Dafür braucht man die Zendure-Integration. Falls Ihr das nicht habt/machen wollt...Löscht diesen Subflow einfach. Unschädlich.

(3.2) Spezial: Regelalgorithmus aktiv/deaktiv

Hier wird auf eine Änderung des Schalters "Regel Algorithmus aktiv" reagiert. Es erfolgt der Wechsel zwischen Fixeinspeisung und Regelung.

image

(3.3) Spezial: Ausfall Smartmeter

Wenn der Smartmeter ausfällt (kann ja mal vorkommen), dann wird der WR gestoppt, um ein undefiniertes Verhalten zu verhindern (Hub läuft weiter und lädt Akku). Dieser Flow nutzt einen Device- Tracker-Sensor aus der FRITZ!Box-Tool-Integration. Diesen Flow kann man auch löschen. Hat sonst keine andere Funktion.

image

(3.4) Spezial: Counter zurücksetzen

Ich zähle die Anzahl der Regeleingriffe. Dieser Counter wird jeden Morgen um 08:00 zurückgesetzt.

(3.5) Spezial: Terminmodus an/aus

Hier wird auf eine Änderung des Schalters "Terminmodus aktiv" reagiert.

(4) Reaktion auf Änderungen im Dashboard

Daten aus dem Dashboard werden gelesen. Dieser Subflow stellt die sicher, dass Änderungen an den Parametern sofort erfolgen, “ on the fly”

(5) Terminmodus

kümmert sich um das Handling der Einspeisgrenzen, wenn der Terminservice aktiv ist. Stichwort Terminüberwachung. (läuft einmal pro Minute)

(6) Hilfe

Zwei Hilfsflows

Debug einschalten/ausschalten. Es werden die Daten des Reglers in der Debug-Spalte von Node-Red ausgegeben.

image

Der zweite Flow fängt alle außergewöhnlichen Fehler zur Reglung (aller Flows) ab und listet sie in der Debug-Spalte auf.

image

(7) Wechselrichter

Hier müsst Ihr die konkreten WR-Sensoren und Aktionen auswählen/verändern, die zu Eurem Wechselrichter passen. Ggf. eine Anpassung vornehmen in der Function-Node, wenn Ihr einen Wechselrichter betreibt, der über Prozentwerte gesteuert wird. (siehe unten (8) Testflow)

image

(8) Testflow

Exemplarisch zeige ich hier, wie man 3 Phasen des Shelly 3-EM ausliest und zu einer "TotalPower" verarbeitet.

image

Falls Ihr eine relative Ansteuerung Eures Wechserichters braucht (in Prozent, z.B. Hoymiles), dann müsst Ihr zwei Codezeilen von ihren Kommentar-Tags befreien im Flow (7.1):

image

An den Flow in (7.1) wird immer eine Payload in ähnlicher Form übergeben msg.payload = {einspeisewert: wert3};. Dies ist immer ein absoluter Wert in Watt. Wenn da ein Prozentwert rauskommen soll, dann muss die function-Node so aussehen:

let wrmax = flow.get("WRLeistung"); //WR-Max Leistung holen
let regelwert = msg.payload.einspeisewert; //den Reglerwert lesen (in Watt)
regelwert = (regelwert / wrmax * 100); // den Reglerwert umrechnen in %
msg.payload = { einspeisewert: regelwert }; //die payload neu befüllen
return msg;

Aus 400W Einspeisegrenze (hier Übergabe des wert3) wird so ein Regelwert von 400W/800W*100 = 50% (wenn wrmax = 800)

Ob das gut funktioniert? Testen! Den Debug "Knoten 18" dafür aktivieren.

Hilfestellungen zur Laufzeit

Alle relevanten Variablen sind als FLow-Variablen angelegt und können zur Laufzeit abgefragt werden. Dies hilft zu verstehen, was zur Laufzeit passiert, wenn Ihr im Dashboard rumspielt.

image