NEWS
Script zum Laden/Entladen von Zendure Solarflow
-
@lesiflo Danke dir für die schnelle Rückmeldung. Schaue ich mir an. Habe deine Logik offen gesagt noch nicht verstanden und überlege gerade, es mir selbst aufzubauen, damit ich es auch verstehe, was ich steuere
Aber da deine Lösung ja offenbar schon lange gut funktioniert ist das eigentlich auch verschwendete Zeit. Ich werde mal basteln.
Noch etwas: ich habe derzeit ein anderes Script, dass morgens meinen Min-Soc von den standardmäßigen 10% temporär auf 5% reduziert. Hintergrund des Gedankens ist, dass ich damit nicht immer dieses morgendliche Auf- und Entladen haben, welches die Zendure-Steuerung macht (bei Min Soc 10% lädt er erst auf 13% und entlädt dann wieder). Bis dann genug PV-LEistung für die Nulleinspeisung da ist, passiert das ein paar Mal. Das möchte ich verhindern. Kann ich dann vor dein Script sowas hier einfach davor packen - oder steht sich da dann die Regelungen gegenseitig im Weg?
-
@the_stig Das kannst du so alleine stehen lassen. Der min SOC wird ja in meinem Script nicht berücksichtigt.
-
@lesiflo Danke dir. Da ich ehrlich gesagt wirklich einige deiner Schleifen nicht verstehe, habe ich mal selbst angefangen zu basteln. Deins ist vermutlich deutlich durchdachter, aber so könnte ich mich doch erstmal ranwagen und die ersten Tests starten, oder?
Den 10-Sek Timeout hast du eingebaut, damit nicht sekündlich oder noch mehr nachgeregelt wird, richtig?
-
@the_stig sagte in Script zum Laden/Entladen von Zendure Solarflow:
Den 10-Sek Timeout hast du eingebaut, damit nicht sekündlich oder noch mehr nachgeregelt wird, richtig?
Nein, der ist dazu da, dass nicht sofort zwischen entladen und PV-Laden umgeschaltet wird. Beim Hyper braucht man keinen Timer, der regelt sehr schnell.
Wenn du das so macht's wie oben solltest du im "sonst" Zweig einen Timeout einbauen je nachdem wie schnell der Hub ist und im "mache" Zweig mit "stop timeout" wieder aufheben. Somit wird verhindert, das bei der kleinsten Unterschreitung von 0 der Ausgangswert auf 0 geht und sich dann wieder langsam hochregeln muß.
Dein "Zielwert_Einspeisung" sollte auch nicht mit bei der Berechnung des "output" rein. Der dient dazu z.B. 30 Watt von der benötigten Leistung abzuziehen um zu verhindern, das was eingespeist wird.
Was genau verstehst du sonst nicht?
-
@lesiflo said in Script zum Laden/Entladen von Zendure Solarflow:
Was genau verstehst du sonst nicht?
Ich versuchs mal strukturiert:
-> du setzt hier den Wert Output mit dem output_Abzug, aber warum addierst du den Regelwert einzustellende Ausgangsleistung (das ist doch der in der vorherigen REgelung gesetzte Output-Wert, oder? Verstehe ich logisch einfach nicht.
-> das verstehe ich auch nicht. ausgang_max setzt du warum?
-> Fortfolgend dazu: warum wird dann output mit ausgang_max gesetzt?Generell: irgendwie fehlt mir noch das Verständnis, wo da Bezug auf den aktuellen Verbrauch genommen wird. Irgendwo müsste doch der output durch einen Verweis auf den aktuellen Gesamtverbrauch genommen werden. Wie gesagt - sorry. Bin da irgendwie ziemlich planlos...
-
@the_stig sagte in Script zum Laden/Entladen von Zendure Solarflow:
@lesiflo said in Script zum Laden/Entladen von Zendure Solarflow:
Was genau verstehst du sonst nicht?
Ich versuchs mal strukturiert:
-> du setzt hier den Wert Output mit dem output_Abzug, aber warum addierst du den Regelwert einzustellende Ausgangsleistung (das ist doch der in der vorherigen REgelung gesetzte Output-Wert, oder? Verstehe ich logisch einfach nicht.
-> das verstehe ich auch nicht. ausgang_max setzt du warum?
-> Fortfolgend dazu: warum wird dann output mit ausgang_max gesetzt?Generell: irgendwie fehlt mir noch das Verständnis, wo da Bezug auf den aktuellen Verbrauch genommen wird. Irgendwo müsste doch der output durch einen Verweis auf den aktuellen Gesamtverbrauch genommen werden. Wie gesagt - sorry. Bin da irgendwie ziemlich planlos...
Zu 1.
"output_Abzug" nehme ich als Puffer um die Ausgabeleistung etwas abzusenken damit zwischen zwei Regelungen keine Einspeisung erfolgt.
Bsp.:
Wert = 300 Watt (ist der Wert aus dem Trigger)
output_Abzug = 50 Watt (kann auch kleiner oder grösser gewählt werden)
out ist dann = 250 WattDie Ausgangsleistung muss addiert werden um das was mit output gesetzt wird wieder auszugleichen. Dabei ist der Wert der Ausgangsleistung immer der vorherige Wert.
- ausgang_max ist der maximale Wert, der vom BKW ins Netz geht wenn Bedarf besteht
PV = 500
min_PV_Leistung_laden = 100
500 - 100 = 400 Watt gehen dann maximal ins Netz und 100 in den Akku- Begrenzung des output und somit der einzustellenden Ausgangsleistung
Der Verweis auf den aktuellen Gesamtverbrauch erfolgt hiermit:
Wert = Triggervariable
-
@lesiflo Merci vielmals. So wird einiges klarer. Ich teste weiter...
-
Danke für das Script, läuft seit einigen Wochen komplett "Offline".
Was mir auffällt, bzw. gerne optimieren möchte ist das Schalten des Bypass Relais meines Hyper 2000 im Blocky Script, das schaltet doch sehr häufig. Mit welchen SOC Werten bzw. Ober / Untergrenze arbeitet Ihr denn? Eingestellt ist hier Untergrenze 10% und Obergrenze 98%. Wie würde man im Script das monatliche Laden auf SOC 100% realisieren?
Kann man hier im Blocky etwas optimieren, damit es nicht so häufig schaltet? Wie oft klickert bei Euch das Relais an den Grenzen? (Braun = SOC / gelb = Bypass ON/Off).
PS: Ahhh, ich sehe gerade, Lesliflo, hast oben wohl das Blocky Script paar Änderungen drin, ich verwende ein aelteres, angepasstes von Dir. Ich stelle mal um auf Dein "Neues"....evtl. liegt da das Problem. Vielleicht könntest Du oben in Deiner Beschreibung noch kurz schreiben, was man deaktivieren sollte, wenn kein Tibber vorhanden. Danke! -
@wildshunter
Hab das mit Tibber jetzt oben beschrieben. Die neue Version beinhaltet genau diese Timeouts gegen das hin und herschalten. Ich arbeite ständig mit 10% und 100%Laden am 1. des Monats auf 100 % so etwa. Um 00:01 Uhr wird auf 100% gesetzt, um 23:01 Uhr wieder auf 98%. Klappt aber nur wenn an dem Tag auch genug Leistung zum Aufladen vorhanden war.
Ansonsten kannst du versuchen noch pvforecast mit einzubauen um einen Tag zu erwischen an dem genug PV-Leistung vorhanden wäre.
-
@lesiflo
klasse, besten Dank, ich teste...nutzt Du einen Hyper 2000?
Hatte gestern Abend auf das neue Script umgestellt und die beiden Modulteile bzgl. Tibber deaktiviert. Gestern Abend hat Zendure dann noch die Batterie bis ca.60% geladen. AC Modus 2.
Als ich heute morgen geschaut habe war dann Batterie auf 98% (voll), aber keine Solareinspeisung (obwohl Sonne) und keine Abgabe ins Hausnetz. Modus: AC Modus 1 und Bypass aus.... komisch. Manuell jetzt auf Modus 2 gesetzt und Solar läuft wieder, aber im Bypass.... irgendwas scheint da noch nicht korrekt zu laufen im Hyper...Grüße
-
@lesiflo danke nochmal. Nutze jetzt ein deutlich runter reduziertes Script, basierend auf deiner Vorlage. Mit meinem eigenen Versuchen ging es nicht gut. Aber der erste Eindruck deines Scripts sieht echt gut aus!
-
@the_stig
welchen Zendure WL nutzt Du, den Hyper 2000? -
@wildshunter nein, nur den Hub2000 - daher brauche ich einiges vom Script nicht.
-
@lesiflo hast du eine Idee zu folgendem Screenshot:
Stromverbrauch liegt bei rund 3kW, max Ausgangsleistung ist auf 1200 Watt gestellt, trotzdem wird die Ausgangsleistung nur auf rund 720 Watt gesetzt. Fällt dir da was zu ein, warum? So sieht mein Script aktuell auch:
-
@the_stig Auf was steht "ausgang_max_soll"? Bzw. wie sind die anderen Variablen gesetzt?
-
@wildshunter
irgendwie schein der Hyper 2000 anders im Script zu reagieren, gerade nach Hause gekommen, Hyper arbeitet gerade nicht mehr (AC Mode 1). Einspeisung: kein Solar, kein Ausgang Haus. Batterie Idle. Wieder manuell auf AC Mode 2 gesetzt. Jetzt ist wieder Bypass: An.
Hm... irgendwelche Ideen? Danke! -
@wildshunter Wie sieht das Script aus?
-
@lesiflo Sieht so aus:
Habe jetzt mal die folgenden Schleifen von dir raus genommen, damit regelt er dann wieder hoch. Ggf. gehe ich auf die falschen Objekte im ioBroker mit deiner Regelung.
-
@the_stig Warum setzt du "output_abzug" auf -25?
Wird doch schon abgezogen. "-" und "-" ergibt "+". Somit addierst du 25W auf deinen Output was dann ja zu Problemen führen kann."input_Abzug" kannst du komplett rauslöschen.
Hab dir mal eine Version mit meinem Hub1200 erstellt. Einfach importieren und durch deine Werte vom Hub ersetzen.
Hub_Test.txt -
@lesiflo said in Script zum Laden/Entladen von Zendure Solarflow:
Hub_Test.txt
Danke dir - grad mal getestet. Klappt nicht. Es wird sofort - bei unveränderten Variablen wie bei dir - auf Ausgangsleistung 0 gesetzt. Es muss was mit dem Ausgang_max und Ausgang_max_soll zu tun haben. Hatte ich ja vorher schon - wenn ich es raus nehme, klappt es.