Hoymiles HM-600 & HM-1500 mit Module über Speicher und Laderegler verbinden

@head Das Script kann nur eine Nulleinspeisung mit den wenigen einprogrammierten Sensoren. Einen Shelly 3em kennt es z.B. nicht.

Wenn ich nun aber ein anderes Script die OpenDTU steuern lasse, arbeiten die beiden Scripte gegeneinander. Deswegen der Punkt "externes Limit".

@grumpy_badger Verstehe ich nicht.

"einprogrammierten Sensoren": Ich gebe dem Venus OS meinen Zählerstand, ob über SDM630 oder über MQTT (wie bei mir) ist doch egal?

"ein anderes Script die OpenDTU steuern": Welches andere Script? Genau dieses hier soll doch die openDTU steuern?

Das wäre auch für mich die richtige Strategie.
Verstehe ich es richtig, dass ihr für die Steuerung die aktuelle Leistung der PV-Module nicht berücksichtigt, oder bezieht ihr die Werte des Victron MPPT auch noch mit ein?

Hintergrund meiner Frage: Du hattest geschrieben

Es könnte ja sein, in dem o.g. Fall. die Module trotzdem Leistung haben, dann hätte aber die Ladung des Speichers Vorrang.
Also angenommen PV-Leistung wäre 200W, der aktuelle Verbrauch 300W, könnte der WR ja trotzdem die 200W nehmen, der Speicher würde dann halt nicht geladen.
Deswegen würde ich es für sinnvoll erachten, auch die PV-Leistung mit einzubeziehen, oder hab ich einen Denkfehler?

@aromedia klar die PV Leistung beziehe ich anhand des victron mppt mit ein. Sende die Daten per mqqt an Node red (mit Hilfe des open dtu on battery ) und verarbeite sie dann dort wie du es schilderst...

@aromedia Wenn die Laderegler laden dann steigt die Spannung am Speicher und am Wechselrichter. Denn Laderegler und Wechselrichter hängen ja parallel am Speicher.
Es kann also sein, dass am Speicher 27V gemessen werden weil die PV viel Energie liefert und dann wenn z.B. eine Wolke kommt, fällt die gemessene Spannung am Speicher ab.
Dir bleibt also nichts anderes übrig wie die PV-Leistung mit einzubeziehen. Selbst mein Batteriesensor der direkt am Speicher hängt, zeigt diese Veränderung. Ich schätze mal nur wenn man die Spannung zwischen BMS und Speicher misst, dann könnte man unabhängig von der Leistung der PV handeln.
Die Frage ist aber: WIESO.
Ich denke auch du denkst viel zu kompliziert.
Ich mache es ganz einfach. Ich kann aktuell nur mit der Victron-App auf die Laderegler zugreifen. Die Daten der Laderegler sind also nicht in meinem Netzwerk. Auch der Batterie-Sensor ist nur in der Victron-App.
Die Spannung für meine Funktionen hole ich mir vom Eingang des Wechselrichters.
Ich habe das ganze beobachtet über die Victron-App. Die angezeigte Spannung vom BatterieSensor, vom Laderegler und vom Wechselrichter ist so gut wie immer ziemlich gleich. Manchmal nur dauert es wenige Sekunden bei dem einen länger als beim anderen um die aktuelle Spannung anzuzeigen oder manchmal ist ein Unterschied von ca. 0,1V.
Es ist also egal welche Spannung du nimmst: Vom Speicher, vom Laderegler oder vom Wechselrichter. Wenn Wechselrichter und Laderegler parallel am Speicher hängen, dann ist an allen 3 die gemessene Spannung so ziemlich gleich.
Man kann also sagen: Ich berücksichtige die PV-Leistung nicht, aber trotzdem berücksichtige ich sie unbeabsichtigt.

@all Bei welchem Batterielevel SOC schaltet Ihr dann den Wechselrichter weg? Oder wartet Ihr bis das BMS selbstständig eingreift? Ich würde mir den SOC per Mqtt holen und abhängig davon dann den Wechselrichter in Standby schicken.

Welche Grenze ist dafür sinnvoll?

Mein Plan ist: Ich würde bei 10% SOC den Wechselrichter abschalten=Standby und bei 20% erst wieder ein.

Um den ganzen Rest kümmert sich ja das BMS des Pylontech 3000

@tom0512 ich schicke den hoymiles erst in standby wenn soc kleiner 12 prozent und keine PV Leistung. Wenn SOC kleiner 12 und PV Leistung da, dann speise ein was von pv kommt aber nur max den verbrauch, der rest geht dann wieder in den Akku.

Ich setze auch einen Status ob der Akku leer oder voll war mit einer Variable in node red.

Akku war leer: Wechselrichter darf auch mehr Leistung ziehen als von pv kommt um den verbrauch auszugleichen.

Akku war leer: Wechselrichter darf nur soviel ziehen wie von pv kommt um den verbrauch auszugleichen, rest geht in Akku.

So stelle ich sicher das der akku nicht ständig am unteren Limit rumdümpelt.

Wird etwas kompliziert, aber finde es so gut gelungen. :wink:

Gruß

1 „Gefällt mir“

@tom0512 ich versuche (erstmal) das vom Venus OS steuern zu lassen. Immerhin gibt es da "Mode: Optimized (with BatteryLife)". Warum das Leben unnötig kompliziert machen :slight_smile:

1 „Gefällt mir“

@stiech82 Vielen Dank für Deine sehr hilfreichen Praxiserfahrungen.
Bin da bei Dir: Keep it simple and stupid. Alles was man nicht zwingend benötigt weglassen.
Werde das jetzt auch erstmal so testen. Die DTU umzubauen um den Victron Laderegler auszulesen, kann ich bei Bedarf dann ja immer noch.

@suslik1987 Ich bin gerade erst in das Thema eingestigen und fand die Idee sehr interessant. Wäre es ggf. möglich deinen Node Red Flow als Startpunkt per Export zu erhalten?

@forest Hast du die Erfahrung ein HM600W oder HM1500 ohne Begrenzung mit einem 24V Akku zu betreiben?

@eddy-fischer Was meinst du mit Begrenzung? Meinst du auf 100% eingestellt?
Ich habe das so gemacht.
Würde ich aber nicht empfehlen. Der HM-600 läuft bei 100% mit ca. 680W. Das wird vermutlich die Lebensdauer deutlich verkürzen. Deswegen läuft der bei mir mit maximal 99%.

@rkoe ja kein Problem, schick mir eine pn dann schicke ich dir den export...

@head Das funktioniert leider nicht. Das BMS vom. Pylontech schaltet ab und danach kommt es zum Fehler 67 im MPPT Regler keine Verbindung zum BMS und der Akku wird nie wieder geladen. Müsste den Akku aus und wieder einschalten. Nun lädt er wieder. Aktuell alles noch im Testaufbau. Netzteil ist das Solarpanel. Werde jetzt selber abhängig vom SOC eingreifen.

Am Wochenende habe ich meinen Pylontech Speicher in Betrieb genommen. Aufgrund der Softstartfunktion des Pylontech verwende ich auch keinen Vorwiderstand für den Hoymiles.
Wie @stiech82 schon gemeint hatte, man denkt zu kompliziert.
Ich bin erstaunt, wie einfach und gut es funktioniert, eine Nulleinspeisung zu erreichen.
Die Steuerung erfolgt einzig über die openDTU (ohne Verbindung zum Pylontech oder Victron MPPT) mit openhab.
Die Spannungen von Victron/openDTU weichen tlw. nur um 0,5V voneinander ab, meistens ist die Differenz geringer.

Der Pylontech schaltet schnell zwischen laden/entladen um und hält sich der Verbrauch mit dem was vom Victron kommt die Waage, dann geht der Pylontech in "stand-by" (nur die Run-LED blinkt).

Hallo zusammen,

Meine Node Red Steuerung läuft nun und ich versuche weiter zu optimieren:

Ich habe in meine Node Red Steuerung eine Wetter Prognose/Forecast eingebaut. Wenn also am nächsten Tag viele Sonnenstunden prognostiziert werden, möchte ich meiner Regelung sagen, dass meine 2 Wechselrichter (2 Zähler) den Akku über Nacht leer saugen können/dürfen. Ich habe in Node Red eine elegante Möglichkeit gefunden dies zu tun.

Ich kriege dann die prognostizierten Sonnenstunden, (möglich ist auch Sonnenminuten je Stunde für die nächsten Tage) für die nächsten Tage. So kann ich z.b. die Regel einstellen, Sonnenstunden am nächsten Tag >4 dann dürfen die Wechselrichter den Akku möglichst leer machen, egal ob er vorher voll war, oder ob er nur zur Hälfte gefüllt war. So kann ich dann die Batterie am nächsten Tag wieder voll kriegen und laufe seltener in das Problem rein, wenn der Speicher voll ist und Verbrauch ausgeglichen und viel Sonne scheint und die Laderegler auf Absorption gehen und ich die Energie nicht nutzen kann.

Dafür setze ich ein Datum in einer flow Variable also immer das Datum für morgen heute, morgen und übermorgen dynamisch (wie in einem Art Kalender).

Mit dem Datum in der Variable kann ich dann über folgende URL/API

https://api.brightsky.dev/weather?lat=51.1&lon=6.95&date=2023-03-28
die Sonnenstunden aufsummieren für meinen Wohnort.
Ist ein kostenloser Dienst. Frage das dann stündlich ab und habe so immer super Forecast für die Sonnenstunden in meiner Region.
Der Link oben ist ein Link für meinen Wohnort/Region.
Einen separaten Link könnt ihr euch für eure Region hier erstellen: Bright Sky - Free JSON API for DWD's open weather data.
Die Daten sind auch super genau, zum Beispiel hat mir gestern meine Wetter.com App nur 1 Stunde Sonne für heute für meinen Wohnort angezeigt (auch heute morgen noch).
Mit der Website Bright Sky - Free JSON API for DWD's open weather data. wurden 5-6 Stunden Sonne angezeigt, und so ist es auch gekommen =).
Ich habe auch viele andere Dienst ausprobiert, aber selten wurden die Sonnenminuten/stunden übermittelt. Kann ich nur empfehlen.
Grüße
1 „Gefällt mir“

@suslik1987 Das ist eine schöne Erweiterung. Kann man das auch so gestalten z.B. um einen Verschattungszeitraum mit zu berücksichtigen?

Aktuell wird die gesamte prognostizierte Sonnenscheindauer verwendet, nehme ich an?

Wenn bekannt ist, in welchem Zeitraum eine reduzierte Leistung da ist, z.B. durch Verschattung, könnte man das einfließen lassen?

Summe (Tag) - %-Anteil (x-Std.)? Oder ist das overkill, weil es kaum ins Gewicht fällt?

Wenn die Angaben einigermaßen zuverlässig sind.

Steht Dein Script zur Verfügung?

Gruß

PS: Werde mich in der kommenden Woche um meine PV - HM Ein-/Anbindung kümmern

@pvweb Danke.

Also man kriegt als Ergebnis Sonnenminuten je Stunde für bis zu 5 Tage im Voraus. Ich summiere alle Sonnenminuten pro Tag, das reicht mir. Ist für mich genau genug.

Eigentlich sind da keine Grenzen gesetzt, die Daten liegen ja vor, was man daraus macht kommt vermutlich auf den Anwendungsfall an.

Man kann sich auch einen Sonnendashboard bauen odee ähnliches :wink:

Das Script bzw. den Flow in Node Red kann ich hier die Tage einstellen, sind einfach paar grundlegende Nodes in Node Red. Erstmal den Link erstellen für den Wohnort und dann in Node Red deklarieren der Variablen für heute, morgen, übermorgen etc.

Anschließend fragt man den Link per Api in Nodered ab und speichert die Daten wie Sonnenminuten in Variablen die man dann summieren kann oder anderweitig verarbeiten.

Gruß

@suslik1987 Geniale Idee, aber ich verstehe den Sinn dahinter nicht.
Speist du ins Stadtnetz ein und bekommst Geld dafür oder warum machst du das?
Ich denke mir halt: Ich will die Energie abgedeckt haben die ich im Haus verbrauche. Was nützt es mir wenn die Wechselrichter den Akku leer saugt, ich aber nicht so viel Energie im Haus verbrauche?
Auf der anderen Seite: Was nützt es mir, wenn ich den Akku nicht leer sauge und über Nacht Energie vom Stadtnetz beziehen muss, nur weil es weniger Sonnenstunden geben wird?
Zumindest wenn man LiFePo4 verbaut hat, sehe ich keinen Sinn dahinter. Der Wechselrichter darf bis zu einem gewissen Füllstand vom Akku saugen und wenn der unterschritten wird, schaltet der Wechselrichter ab. Erst wenn ein gewisser etwas höher Füllstand als beim Abschalten erreicht wird schaltet der Wechselrichter wieder an. Das wars.
Ich lass mich aber gerne des besseren belehren. Ich will ja verstehen.

1 „Gefällt mir“

@stiech82 Hi Stiech.

Kurz gesagt ich möchte nicht das die Batterie bei schlecht Wetter immer am untersten Rand hängt. Die Batterie soll auch mal voll geladen werden. Das ist bei gutem Wetter kein Problem. Bei schlechtem Wetter aber schon. Ich kriege keine Vergütung, versuche also möglichst alles zu verbrauchen, was ich erzeuge.

Ich setze zunächst mal einen Status in Node Red ob Batterie leer war oder voll war. Also 0 und 1. Zum Beispiel bei SOC <13 Status =0. Und SOC > 80 =1

Wenn Batterie leer war, dann: PV Leistung wird für Ausgleich des Verbrauchs genutzt, WR darf aber nicht mehr einspeisen als die aktuelle PV Leistung. Somit wird der Überschuss an PV Leistung in die Batterie eingespeist bis sich der Status ändert. So wird der Akku auch mal mit Überschussleistung bei schlecht Wetter gefüllt.

Wenn Batterie voll war, dann: Darf der WR auch mehr einspeisen als die aktuelle PV Leistung hergibt, also er darf den Akku entladen bis der Verbrauch ausgeglichen ist. Überschuss geht weiterhin in den Akku.

Ich habe auch 2 Zähler und 2 Tarife. Einer für norm. Strom 35 Cent, der andere für Wärmepumpe Strom für 22 Cent. Daher möchte ich grundlegend, dass auch der norm. Strom vorrangig ausgeglichen wird da dieser ja teurer ist. Der 2. WR der den Strom der Wärmepumpe ausgleicht, darf z.B. bei Batterie SOC >50 mit anspringen.

Die einzelnen Parameter, wie Batteriestatus befinden sich noch in der Findungsphase...=)

Jetzt kommen wir zu deiner Frage:

Meine Situation ist vlt etwas spezieller aber ich möchte mit den Sonnenstunden für die nächsten Tage planen. Ich möchte verhindern, dass bei Tagen mit viel Sonne die Laderegler lange auf Absorption gehen (weil Speicher voll und Verbrauch ausgeglichen). Dies passierte bereits weil in den Tagen davor der Batterie Status 0 war und der Akku nicht entladen werden durfte... Wenn ich aber weiß morgen ist super Sonnenwetter, dann darf/soll der Akku ruhig komplett entladen werden unabhängig vom Batteriestatus, damit ich wieder neue Sonnenenergie speichern kann und möglichst nichts verschenke.

Hoffe es ist nun verständlicher...Node Red macht echt Spaß und gefühlt entdeckt man täglich neue Dinge die man erweitern kann.

Weitere PV Überschuss Nutzung würde sich bei einem Hybrid/Elektroauto ergeben oder andere Geräte die man per WLAN Steckdose schalten könnte.

Möglich wäre es auch das Brauchwasser in der Wärmepumpe auf eine höhere Temperatur vorzuheizen bei Überschuss, also die Energie in Wärme zu speichern, da habe ich mich aber noch nicht rangetraut. Vlt kommt das noch =)

Gruß