NEWS
Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2
-
Das war es

-
Guten Morgen allerseits,
seit vergangenen Freitag hab ich auch endlich meinen SF800 Pro2 (aktuelle Firmware V2.0.0) am Netz. Aktuell laufen die 4 Solarmodule noch über dem Hoymiles Wechselrichter, um erstmal alle Verbindungen und Settings zu testen.
Das AC-Laden und auch das Entladen funktioniert aber schon mal unglaublich gut mit den Scripten hier aus dem Thread, ich bin immer noch schwer begeistert, was hier auf die Beine gestellt wurde!
@maxclaudi Sowohl dein ZenSDK-Script, als auch das zur Nulleinspeisung sind der Hammer! Ich hoffe du hast nichts dagegen, wenn ich das erstmal 1:1 übernommen habe, um meine Anlage ans Laufen zu bringen.Über das Wochenende haben sich aber ein paar Fragen ergeben, auf die ich bis jetzt keine Antwort gefunden habe:
-
Am Morgen erreichte der Akku die 10%-Marke und sollte da ja eigentlich stoppen mit der Einspeisung. Allerdings ging er irgendwie bis auf 8% runter und startete dann mit voller Last das AC-Laden, bis er wieder 10% erreicht hatte. Ab da dann keinerlei Auffälligkeiten und alles lief super. Ist das so korrekt und normal?
-
Die von dir gewählten 15s Regelungsintervall, sind die sozusagen als "Best Practice" von dir getestet? Wären zB 10s schon zu kurz bei der Regelungsträgheit des SF800?
-
Mir fehlt irgendwie eine Angabe, wieviel kWh ich geladen/eingespeist habe, aber da find ich nirgendwo Infos zu. Weder bei Zendure in der App, noch in dem ZenSDK oder im Adapter von nograx. Habt ihr ne Idee, wie ich das vernünftig tracken kann? Vielleicht über nen Shelly zwischen SF800 und Netz?
-
Ich sehe, dass der SF800 fleißíg zwischen Laden und Entladen hin und her wechselt. Da wir Warmwasser über einen Durchlauferhitzer beziehen sind das dann schon mal recht kurze Intervalle. Da überlege ich, wie man das evtl rausfiltern/ausschließen kann.
Aber bei den früheren Generationen von Zendure habe ich gelesen, dass nur alle 10min zwischen Laden und Entladen gewechselt werden soll, um die Relais zu schonen. Ist die Technik mittlerweile soweit, dass das kein Problem mehr darstellt oder ist das vermeiden von sehr häufigen Lade/Entlade-Wechseln immer noch zu empfehlen?
Soweit erstmal von mir :-)
Freue mich, wenn ich zukünftig irgendwie was sinnvolles zum Thema hier beitragen kann
-
-
Guten Morgen allerseits,
seit vergangenen Freitag hab ich auch endlich meinen SF800 Pro2 (aktuelle Firmware V2.0.0) am Netz. Aktuell laufen die 4 Solarmodule noch über dem Hoymiles Wechselrichter, um erstmal alle Verbindungen und Settings zu testen.
Das AC-Laden und auch das Entladen funktioniert aber schon mal unglaublich gut mit den Scripten hier aus dem Thread, ich bin immer noch schwer begeistert, was hier auf die Beine gestellt wurde!
@maxclaudi Sowohl dein ZenSDK-Script, als auch das zur Nulleinspeisung sind der Hammer! Ich hoffe du hast nichts dagegen, wenn ich das erstmal 1:1 übernommen habe, um meine Anlage ans Laufen zu bringen.Über das Wochenende haben sich aber ein paar Fragen ergeben, auf die ich bis jetzt keine Antwort gefunden habe:
-
Am Morgen erreichte der Akku die 10%-Marke und sollte da ja eigentlich stoppen mit der Einspeisung. Allerdings ging er irgendwie bis auf 8% runter und startete dann mit voller Last das AC-Laden, bis er wieder 10% erreicht hatte. Ab da dann keinerlei Auffälligkeiten und alles lief super. Ist das so korrekt und normal?
-
Die von dir gewählten 15s Regelungsintervall, sind die sozusagen als "Best Practice" von dir getestet? Wären zB 10s schon zu kurz bei der Regelungsträgheit des SF800?
-
Mir fehlt irgendwie eine Angabe, wieviel kWh ich geladen/eingespeist habe, aber da find ich nirgendwo Infos zu. Weder bei Zendure in der App, noch in dem ZenSDK oder im Adapter von nograx. Habt ihr ne Idee, wie ich das vernünftig tracken kann? Vielleicht über nen Shelly zwischen SF800 und Netz?
-
Ich sehe, dass der SF800 fleißíg zwischen Laden und Entladen hin und her wechselt. Da wir Warmwasser über einen Durchlauferhitzer beziehen sind das dann schon mal recht kurze Intervalle. Da überlege ich, wie man das evtl rausfiltern/ausschließen kann.
Aber bei den früheren Generationen von Zendure habe ich gelesen, dass nur alle 10min zwischen Laden und Entladen gewechselt werden soll, um die Relais zu schonen. Ist die Technik mittlerweile soweit, dass das kein Problem mehr darstellt oder ist das vermeiden von sehr häufigen Lade/Entlade-Wechseln immer noch zu empfehlen?
Soweit erstmal von mir :-)
Freue mich, wenn ich zukünftig irgendwie was sinnvolles zum Thema hier beitragen kann
Guten Morgen allerseits,
seit vergangenen Freitag hab ich auch endlich meinen SF800 Pro2 (aktuelle Firmware V2.0.0) am Netz. Aktuell laufen die 4 Solarmodule noch über dem Hoymiles Wechselrichter, um erstmal alle Verbindungen und Settings zu testen.
Das AC-Laden und auch das Entladen funktioniert aber schon mal unglaublich gut mit den Scripten hier aus dem Thread, ich bin immer noch schwer begeistert, was hier auf die Beine gestellt wurde!
@maxclaudi Sowohl dein ZenSDK-Script, als auch das zur Nulleinspeisung sind der Hammer!Dankeschön, wobei das DPL-Blockly-Skript nur eine Basis-Vorlage sein soll ;-)
Ich hoffe du hast nichts dagegen, wenn ich das erstmal 1:1 übernommen habe, um meine Anlage ans Laufen zu bringen.
Genau dafür ist es gedacht – als Vorlage für den Einstieg.
- Am Morgen erreichte der Akku die 10%-Marke und sollte da ja eigentlich stoppen mit der Einspeisung. Allerdings ging er irgendwie bis auf 8% runter und startete dann mit voller Last das AC-Laden, bis er wieder 10% erreicht hatte. Ab da dann keinerlei Auffälligkeiten und alles lief super. Ist das so korrekt und normal?
Da über minSoc festgelegt wird, wann die untere Entladegrenze erreicht ist, veranlasst die Firmware automatisch ein Nachladen der Batterie(n), bis mindestens minSoc wieder erreicht ist.
Siehe auch Zendure FAQ, Zitat:
...Zudem erkennt das System automatisch, wenn der Batteriestand kritisch niedrig ist (z. B. bei geringer PV-Erzeugung) und schaltet in diesem Fall selbstständig auf Netzstrom um, um Schäden an der Batterie zu vermeiden.
Wenn während des Betriebs noch Leistung aus der Batterie entnommen wird, stoppt die Entladung nicht exakt bei minSoc. minSoC ist ein berechneter Schätzwert und nicht direkt gemessene Volt. Deshalb kann die Batterie im laufenden Entladevorgang durchaus noch etwas weiter entladen werden.
Hinzu kommt, dass sich die Zellspannungen je nach Betriebszustand unterscheiden. Eine ruhende Batterie hat andere Zellspannungen als eine gerade geladene oder entladene Batterie.
Wenn Du das sofortige Nachladen vermeiden möchtest, würde ich einen Batterie-Entladeschutz über gemessene Volt realisieren.
Dann könntest Du minSoc z. B. auf 10 % setzen und den eigentlichen Batterieschutz über die gemessene minimale Zellspannung realisieren.Testweise könntest Du minVol auf z. B. 3,2 V verwenden und beobachten, welchem SoC dieser Wert bei Deinen Batterien ungefähr entspricht. Liegt das beispielsweise bei 15–20 %, wird die Entladung bereits dort beendet, ohne dass anschließend sofort wieder zwangsweise (wie bei minSoc) nachgeladen wird.
- Die von dir gewählten 15s Regelungsintervall, sind die sozusagen als "Best Practice" von dir getestet? Wären zB 10s schon zu kurz bei der Regelungsträgheit des SF800?
Die 15 Sekunden sind kein fester Optimalwert, sondern eher ein praxisnaher Erfahrungswert, der sich an den typischen Reaktionszeiten solcher (auch prof.) Systeme orientiert und sich in meinen Tests als praktikabel erwiesen hat. Bei meinen Regelungen gibt es unterschiedliche Zeiten.
Wenn Du das Basis-Script verwendest, kannst Du gerne andere Zeiten testen.Beim Erhöhen der Ausgangsleistung (Entladen) kommt das System meiner Erfahrung nach auch mit etwa 10 Sekunden gut zurecht. Die neue Leistung sollte dann aber auch für eine gewisse Zeit gehalten werden.
Das Reduzieren der Ausgangsleistung reagiert etwas schneller. Je nach System können hier auch etwa 6 Sekunden ausreichend sein.
Beim AC-Laden würde ich dagegen keine ständig schwankenden Leistungswerte vorgeben. Meiner Meinung nach ist es sinnvoller, mit einer möglichst konstanten Ladeleistung über einen längeren Zeitraum zu arbeiten.
- Mir fehlt irgendwie eine Angabe, wieviel kWh ich geladen/eingespeist habe, aber da find ich nirgendwo Infos zu. Weder bei Zendure in der App, noch in dem ZenSDK oder im Adapter von nograx. Habt ihr ne Idee, wie ich das vernünftig tracken kann? Vielleicht über nen Shelly zwischen SF800 und Netz?
Mich interessieren in erster Linie die Zählerwerte, denn das ist letztlich die Energie, die ich bezahlen muss.
Wenn Du dafür einen Shelly Plug oder eine andere Zwischensteckdose einsetzen möchtest, solltest Du darauf achten, dass auch negative Leistungen bzw. Rückspeisung korrekt erfasst werden. Tasmota-basierte Steckdosen unterstützen das beispielsweise.
- Ich sehe, dass der SF800 fleißíg zwischen Laden und Entladen hin und her wechselt. Da wir Warmwasser über einen Durchlauferhitzer beziehen sind das dann schon mal recht kurze Intervalle. Da überlege ich, wie man das evtl rausfiltern/ausschließen kann.
Aber bei den früheren Generationen von Zendure habe ich gelesen, dass nur alle 10min zwischen Laden und Entladen gewechselt werden soll, um die Relais zu schonen. Ist die Technik mittlerweile soweit, dass das kein Problem mehr darstellt oder ist das vermeiden von sehr häufigen Lade/Entlade-Wechseln immer noch zu empfehlen?
Das liegt daran, dass im DPL-Skript derzeit keine Mindesthaltezeit für den acMode (Mindest-acMode-Intervall) integriert ist.
Es sind auch keine Lastprofile implementiert etc.
Gerade bei reinen AC-Systemen im DPL-Betrieb ist das nicht ganz einfach umzusetzen.Deshalb bin ich beim 1600AC+ auch froh über die Off-Grid-Steckdose, an der sich ein Mikrowechselrichter betreiben lässt.
Der SF800 Pro 2 besitzt diese Möglichkeit ebenfalls.
Du könntest testweise einen 800-W-Hoymiles-Mikrowechselrichter an der Off-Grid-Steckdose betreiben.
Zwar wird die Batterie dann ebenfalls über AC geladen, der zusätzliche Umweg über das öffentliche Netz entfällt jedoch.
Wird gerade keine Leistung benötigt, lädt das System die Batterien automatisch über den an der Off-Grid-Steckdose angeschlossenen Wechselrichter.Alternativ kannst Du natürlich auch die vorhandenen DC-MC4-PV-Eingänge für die PV-Module nutzen.
Dadurch reduzierst Du die Anzahl der Wechsel zwischen AC-Laden und AC-Entladen deutlich und vermeidest zusätzlich unnötige Wandlungsverluste. -
-
Guten Morgen allerseits,
seit vergangenen Freitag hab ich auch endlich meinen SF800 Pro2 (aktuelle Firmware V2.0.0) am Netz. Aktuell laufen die 4 Solarmodule noch über dem Hoymiles Wechselrichter, um erstmal alle Verbindungen und Settings zu testen.
Das AC-Laden und auch das Entladen funktioniert aber schon mal unglaublich gut mit den Scripten hier aus dem Thread, ich bin immer noch schwer begeistert, was hier auf die Beine gestellt wurde!
@maxclaudi Sowohl dein ZenSDK-Script, als auch das zur Nulleinspeisung sind der Hammer!Dankeschön, wobei das DPL-Blockly-Skript nur eine Basis-Vorlage sein soll ;-)
Ich hoffe du hast nichts dagegen, wenn ich das erstmal 1:1 übernommen habe, um meine Anlage ans Laufen zu bringen.
Genau dafür ist es gedacht – als Vorlage für den Einstieg.
- Am Morgen erreichte der Akku die 10%-Marke und sollte da ja eigentlich stoppen mit der Einspeisung. Allerdings ging er irgendwie bis auf 8% runter und startete dann mit voller Last das AC-Laden, bis er wieder 10% erreicht hatte. Ab da dann keinerlei Auffälligkeiten und alles lief super. Ist das so korrekt und normal?
Da über minSoc festgelegt wird, wann die untere Entladegrenze erreicht ist, veranlasst die Firmware automatisch ein Nachladen der Batterie(n), bis mindestens minSoc wieder erreicht ist.
Siehe auch Zendure FAQ, Zitat:
...Zudem erkennt das System automatisch, wenn der Batteriestand kritisch niedrig ist (z. B. bei geringer PV-Erzeugung) und schaltet in diesem Fall selbstständig auf Netzstrom um, um Schäden an der Batterie zu vermeiden.
Wenn während des Betriebs noch Leistung aus der Batterie entnommen wird, stoppt die Entladung nicht exakt bei minSoc. minSoC ist ein berechneter Schätzwert und nicht direkt gemessene Volt. Deshalb kann die Batterie im laufenden Entladevorgang durchaus noch etwas weiter entladen werden.
Hinzu kommt, dass sich die Zellspannungen je nach Betriebszustand unterscheiden. Eine ruhende Batterie hat andere Zellspannungen als eine gerade geladene oder entladene Batterie.
Wenn Du das sofortige Nachladen vermeiden möchtest, würde ich einen Batterie-Entladeschutz über gemessene Volt realisieren.
Dann könntest Du minSoc z. B. auf 10 % setzen und den eigentlichen Batterieschutz über die gemessene minimale Zellspannung realisieren.Testweise könntest Du minVol auf z. B. 3,2 V verwenden und beobachten, welchem SoC dieser Wert bei Deinen Batterien ungefähr entspricht. Liegt das beispielsweise bei 15–20 %, wird die Entladung bereits dort beendet, ohne dass anschließend sofort wieder zwangsweise (wie bei minSoc) nachgeladen wird.
- Die von dir gewählten 15s Regelungsintervall, sind die sozusagen als "Best Practice" von dir getestet? Wären zB 10s schon zu kurz bei der Regelungsträgheit des SF800?
Die 15 Sekunden sind kein fester Optimalwert, sondern eher ein praxisnaher Erfahrungswert, der sich an den typischen Reaktionszeiten solcher (auch prof.) Systeme orientiert und sich in meinen Tests als praktikabel erwiesen hat. Bei meinen Regelungen gibt es unterschiedliche Zeiten.
Wenn Du das Basis-Script verwendest, kannst Du gerne andere Zeiten testen.Beim Erhöhen der Ausgangsleistung (Entladen) kommt das System meiner Erfahrung nach auch mit etwa 10 Sekunden gut zurecht. Die neue Leistung sollte dann aber auch für eine gewisse Zeit gehalten werden.
Das Reduzieren der Ausgangsleistung reagiert etwas schneller. Je nach System können hier auch etwa 6 Sekunden ausreichend sein.
Beim AC-Laden würde ich dagegen keine ständig schwankenden Leistungswerte vorgeben. Meiner Meinung nach ist es sinnvoller, mit einer möglichst konstanten Ladeleistung über einen längeren Zeitraum zu arbeiten.
- Mir fehlt irgendwie eine Angabe, wieviel kWh ich geladen/eingespeist habe, aber da find ich nirgendwo Infos zu. Weder bei Zendure in der App, noch in dem ZenSDK oder im Adapter von nograx. Habt ihr ne Idee, wie ich das vernünftig tracken kann? Vielleicht über nen Shelly zwischen SF800 und Netz?
Mich interessieren in erster Linie die Zählerwerte, denn das ist letztlich die Energie, die ich bezahlen muss.
Wenn Du dafür einen Shelly Plug oder eine andere Zwischensteckdose einsetzen möchtest, solltest Du darauf achten, dass auch negative Leistungen bzw. Rückspeisung korrekt erfasst werden. Tasmota-basierte Steckdosen unterstützen das beispielsweise.
- Ich sehe, dass der SF800 fleißíg zwischen Laden und Entladen hin und her wechselt. Da wir Warmwasser über einen Durchlauferhitzer beziehen sind das dann schon mal recht kurze Intervalle. Da überlege ich, wie man das evtl rausfiltern/ausschließen kann.
Aber bei den früheren Generationen von Zendure habe ich gelesen, dass nur alle 10min zwischen Laden und Entladen gewechselt werden soll, um die Relais zu schonen. Ist die Technik mittlerweile soweit, dass das kein Problem mehr darstellt oder ist das vermeiden von sehr häufigen Lade/Entlade-Wechseln immer noch zu empfehlen?
Das liegt daran, dass im DPL-Skript derzeit keine Mindesthaltezeit für den acMode (Mindest-acMode-Intervall) integriert ist.
Es sind auch keine Lastprofile implementiert etc.
Gerade bei reinen AC-Systemen im DPL-Betrieb ist das nicht ganz einfach umzusetzen.Deshalb bin ich beim 1600AC+ auch froh über die Off-Grid-Steckdose, an der sich ein Mikrowechselrichter betreiben lässt.
Der SF800 Pro 2 besitzt diese Möglichkeit ebenfalls.
Du könntest testweise einen 800-W-Hoymiles-Mikrowechselrichter an der Off-Grid-Steckdose betreiben.
Zwar wird die Batterie dann ebenfalls über AC geladen, der zusätzliche Umweg über das öffentliche Netz entfällt jedoch.
Wird gerade keine Leistung benötigt, lädt das System die Batterien automatisch über den an der Off-Grid-Steckdose angeschlossenen Wechselrichter.Alternativ kannst Du natürlich auch die vorhandenen DC-MC4-PV-Eingänge für die PV-Module nutzen.
Dadurch reduzierst Du die Anzahl der Wechsel zwischen AC-Laden und AC-Entladen deutlich und vermeidest zusätzlich unnötige Wandlungsverluste.Vielen Dank für die ausführlichen Antworten.
Genau dafür ist es gedacht – als Vorlage für den Einstieg.
Sehr komfortabler und umfangreicher Einstieg

Wenn während des Betriebs noch Leistung aus der Batterie entnommen wird, stoppt die Entladung nicht exakt bei minSoc. minSoC ist ein berechneter Schätzwert und nicht direkt gemessene Volt. Deshalb kann die Batterie im laufenden Entladevorgang durchaus noch etwas weiter entladen werden.
Hinzu kommt, dass sich die Zellspannungen je nach Betriebszustand unterscheiden. Eine ruhende Batterie hat andere Zellspannungen als eine gerade geladene oder entladene Batterie.
Wenn Du das sofortige Nachladen vermeiden möchtest, würde ich einen Batterie-Entladeschutz über gemessene Volt realisieren.
Dann könntest Du minSoc z. B. auf 10 % setzen und den eigentlichen Batterieschutz über die gemessene minimale Zellspannung realisieren.Testweise könntest Du minVol auf z. B. 3,2 V verwenden und beobachten, welchem SoC dieser Wert bei Deinen Batterien ungefähr entspricht. Liegt das beispielsweise bei 15–20 %, wird die Entladung bereits dort beendet, ohne dass anschließend sofort wieder zwangsweise (wie bei minSoc) nachgeladen wird.
OK, also ist das erstmal normal und ich sollte mich um einen entsprechenden Entladeschutz kümmern, das ist gut zu wissen.
Das liegt daran, dass im DPL-Skript derzeit keine Mindesthaltezeit für den acMode (Mindest-acMode-Intervall) integriert ist.
Es sind auch keine Lastprofile implementiert etc.
Gerade bei reinen AC-Systemen im DPL-Betrieb ist das nicht ganz einfach umzusetzen.Alternativ kannst Du natürlich auch die vorhandenen DC-MC4-PV-Eingänge für die PV-Module nutzen.
Dadurch reduzierst Du die Anzahl der Wechsel zwischen AC-Laden und AC-Entladen deutlich und vermeidest zusätzlich unnötige Wandlungsverluste.Spätestens sobald ich auslesen und messen kann, wieviel kWh ich per AC in den SF800Pro schiebe und wieviel ich wieder ins Haus einspeise, kommen die 4 vorhandenen Panels direkt an den SF800 und es wird nur noch zum Kalibrieren per AC aufgeladen. Mein Hoymiles Wechselrichter kommt bei 4 Panels (SO/SW) sowieso regelmäßig an seine Belastungsgrenze mit den 2 MPPT, durch die 4 MPPT kann der SF800 da noch schön von aufladen.
Ich würde halt gern wissen, wieviel Energie ich per PV gewinne, bzw. einspeise, aber da muss ich ja auch die Energie per AC-Ladung wieder abrechnen. Ich hab mittlerweile nen Shelly dazwischen, der auch beide Richtungen kann (oder können soll), aber bisher blick ich bei den Messwerten von dem nicht durch. Der hat einen Wert für "ReturnedEnergy", was für mich dann die Einspeisung wäre. Und einen Wert "Energy", der aber der Gesamtwert in & out zu sein scheint. Passt für mich aber rechnerisch auch noch nicht ganz zusammen, aber das könnte auch einfach an mir liegen
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.
-
Erweitertes Blockly auf Basis von:
Das Blockly ist für Einsteiger als Grundlage gedacht. Es kann und sollte an das persönliche Setup sowie an die vorhandenen Verbraucher angepasst werden.
Sämtliche Debug-Ausgaben dienen ausschließlich den Testläufen und können später entfernt werden.
Die Beschreibung der Basis-Vorlage ist identisch mit folgenden zusätzlichen Ergänzungen:
- Batterie-Entladeschutz auf Basis der minimalen Zellspannungen der Batterien.
- Einfache Lasterkennung (Critical-Modus) für größere Verbraucher. Dabei wird die DPL-Regelung vorübergehend deaktiviert und die Leistungsregelung für eine definierte Zeit mit einem festen Wert übernommen.
- unterschiedliche Zeiten für inputLimit und outputLimit (intervalSec_inputLimit_auto_in_out_Limit; intervalSec_outputLimit_auto_in_out_Limit)
Das Blockly ist im Inneren wieder ausführlich kommentiert, sodass ich auf eine lange Erklärung verzichte.
Variable: intervalSec_criticalOutputLimit
Empfohlene Werte:
- 20s: eher aggressiv, häufiges Umschalten, nicht empfehlenswert.
- 30s: guter Kompromiss.
- 45s: im Alltag gut und angenehmer.
- 60s: ebenfalls gut geeignet.
Unter 15 Sekunden würde ich nicht gehen. Andernfalls besteht die Gefahr, dass bei taktenden Verbrauchern (insbesondere Induktionskochfeldern) ständig zwischen DPL und Critical-Modus gewechselt wird.
30 Sekunden halte ich für einen guten Ausgangs- und Testwert. Im Praxistest wird sich zeigen, welcher Wert für die eigenen Verbraucher am besten geeignet ist.
Meine persönliche Empfehlung: 45 bis 60 Sekunden.
Typische Verbraucher:
- Wasserkocher: ca. 2–3 Minuten
- Kaffeemaschine: ca. 20–40 Sekunden
- Mikrowelle: 30 Sekunden bis mehrere Minuten
Ein Induktionskochfeld taktet häufig:
- 3–8 Sekunden EIN
- 3–8 Sekunden AUS
(je nach Leistungsstufe)
Hier wirken 30 bis 45 Sekunden wie eine gute Entprellung.
Beispiel: Elektronischer Durchlauferhitzer:
ein elektronisch geregelter Durchlauferhitzer zieht seine Leistung normalerweise kontinuierlich. Während des Duschens können das mehrere Minuten mit nahezu konstanter Leistungsaufnahme sein.Bei einem Wert von 45 Sekunden läuft die Regelung beispielsweise folgendermaßen ab:
- Hohe Last wird erkannt.
- DPL-Regelung wird deaktiviert.
- fest definiertes Output-Limit (z. B. 600 W) wird gesetzt.
- Nach 45 Sekunden erfolgt erneute Prüfung.
- Ist die hohe Last weiterhin vorhanden, wird der Zustand weitere 45 Sekunden beibehalten.
- Erst nachdem der Verbraucher abgeschaltet wurde, wird spätestens nach 45 Sekunden wieder auf die normale DPL-Regelung umgeschaltet.
Ziel ist Nulleinspeisung.
Jedoch versucht das Blockly nicht das Ziel, jede Sekunde wieder eine perfekte Nulleinspeisung herzustellen.
Vielmehr soll verhindert werden, dass bei plötzlich auftretenden hohen Lasten ständig zwischen Laden und Entladen geregelt oder die DPL-Regelung permanent nachgeführt wird. Dadurch sollte das Gesamtsystem deutlich ruhiger und praxisgerechter arbeiten.Hinweis zum Urheber
Bitte den Urheberhinweis im Skript beachten.
Wenn auf Basis dieses Skripts oder von Teilen daraus eigene Veröffentlichungen entstehen, genügt ein kurzer Hinweis mit Verlinkung auf diesen Thread und/oder die Nennung meines Namens maxclaudi.
Im nächsten Beitrag folgt der Blockly-Code zum Download.
Viel Spaß damit!
Bilder vom Blockly:










-
Blockly zum download und importieren vom vorherigen Post
Das Blockly musste als Datei hinzugefügt werden, weil es zu groß ist.
Datei: maxclaudi_dpl.zip enthält nur maxclaudi_dpl.xml
- Datei herunterladen und Virenscan.
- maxclaudi_dpl.zip entpacken
- in iobroker neues, leeres Blockly erstellen
- maxclaudi_dpl.xml
importieren:

Das nächste Bild ist nur ein Beispiel.
Statt zenSDK_DPL_Blockly.xml - > maxclaudi_dpl.xml importieren.
Bitte den Urheber im Skript beachten.
Falls es Dir hilft oder Du Dich bedanken möchtest: Ein positives Voting als Dankeschön ist völlig ausreichend :-)
update 17.07.2026; 18:30h
verbesserte Version-
criticalOutputLimit ist Begrenzung: wie viel Watt max. output im criticalMode sein darf,
(auch max_outputLimit ist erlaubt). -
criticalGridPower definiert ab wie viel Watt ein Verbraucher als kritischer Verbraucher zählt.
Kommentare im Blockly bitte beachten.
download:
maxclaudi_dpl.zip
Hoffe es hilft Euch ein wenig; viel Spaß damit! :-) -
Vielen Dank für die ausführlichen Antworten.
Genau dafür ist es gedacht – als Vorlage für den Einstieg.
Sehr komfortabler und umfangreicher Einstieg

Wenn während des Betriebs noch Leistung aus der Batterie entnommen wird, stoppt die Entladung nicht exakt bei minSoc. minSoC ist ein berechneter Schätzwert und nicht direkt gemessene Volt. Deshalb kann die Batterie im laufenden Entladevorgang durchaus noch etwas weiter entladen werden.
Hinzu kommt, dass sich die Zellspannungen je nach Betriebszustand unterscheiden. Eine ruhende Batterie hat andere Zellspannungen als eine gerade geladene oder entladene Batterie.
Wenn Du das sofortige Nachladen vermeiden möchtest, würde ich einen Batterie-Entladeschutz über gemessene Volt realisieren.
Dann könntest Du minSoc z. B. auf 10 % setzen und den eigentlichen Batterieschutz über die gemessene minimale Zellspannung realisieren.Testweise könntest Du minVol auf z. B. 3,2 V verwenden und beobachten, welchem SoC dieser Wert bei Deinen Batterien ungefähr entspricht. Liegt das beispielsweise bei 15–20 %, wird die Entladung bereits dort beendet, ohne dass anschließend sofort wieder zwangsweise (wie bei minSoc) nachgeladen wird.
OK, also ist das erstmal normal und ich sollte mich um einen entsprechenden Entladeschutz kümmern, das ist gut zu wissen.
Das liegt daran, dass im DPL-Skript derzeit keine Mindesthaltezeit für den acMode (Mindest-acMode-Intervall) integriert ist.
Es sind auch keine Lastprofile implementiert etc.
Gerade bei reinen AC-Systemen im DPL-Betrieb ist das nicht ganz einfach umzusetzen.Alternativ kannst Du natürlich auch die vorhandenen DC-MC4-PV-Eingänge für die PV-Module nutzen.
Dadurch reduzierst Du die Anzahl der Wechsel zwischen AC-Laden und AC-Entladen deutlich und vermeidest zusätzlich unnötige Wandlungsverluste.Spätestens sobald ich auslesen und messen kann, wieviel kWh ich per AC in den SF800Pro schiebe und wieviel ich wieder ins Haus einspeise, kommen die 4 vorhandenen Panels direkt an den SF800 und es wird nur noch zum Kalibrieren per AC aufgeladen. Mein Hoymiles Wechselrichter kommt bei 4 Panels (SO/SW) sowieso regelmäßig an seine Belastungsgrenze mit den 2 MPPT, durch die 4 MPPT kann der SF800 da noch schön von aufladen.
Ich würde halt gern wissen, wieviel Energie ich per PV gewinne, bzw. einspeise, aber da muss ich ja auch die Energie per AC-Ladung wieder abrechnen. Ich hab mittlerweile nen Shelly dazwischen, der auch beide Richtungen kann (oder können soll), aber bisher blick ich bei den Messwerten von dem nicht durch. Der hat einen Wert für "ReturnedEnergy", was für mich dann die Einspeisung wäre. Und einen Wert "Energy", der aber der Gesamtwert in & out zu sein scheint. Passt für mich aber rechnerisch auch noch nicht ganz zusammen, aber das könnte auch einfach an mir liegen
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.
@T-147 sagte:
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
-
@T-147 sagte:
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
@T-147 sagte:
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
Vielen Dank. Wenn ich mal Zeit finde, werde ich es mir mal ansehen. Meine Steuerung läuft aktuell ganz gut für mich.
Bin grad in mehreren anderen Projekten beschäftigt. -
@T-147 sagte:
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
@T-147 sagte:
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
Mögen Dir beim Händewaschen niemals die Ärmel runter rutschen!

-
@T-147 sagte:
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
Mögen Dir beim Händewaschen niemals die Ärmel runter rutschen!

Habe soeben noch einmal das Blockly hochgeladen.
War ein Datenpunkt nicht richtig.
Entweder selbst korrigieren oder noch einmal die korrigierte Version downloaden.Korrektur:

oder die ganzen Blöcke zur Fehlerkorrektur entfernen.
@T-147:
Mögen Dir beim Händewaschen niemals die Ärmel runter rutschen!
:-)))
-
@T-147 sagte:
Und sofern ich die kurzen Sprünge durch den Durchlauferhitzer über das Script irgendwie rausgefiltert bekomme, dürfte das die schnellen und großen Lastwechsel nochmal deutlich reduzieren.Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
Da hast du ja ordentlich was zusammen geschraubt

Meine Regierung hat gerade Urlaub, da darf ich momentan nicht so viel spielen.
Aber jetzt schon vorab vielen Dank für deine Arbeit. -
Blockly für Dich, @jockel_bln, evtl @daniel-8 und Alle Einsteiger als Basis oder Vorlage zum testen ;-)
Da hast du ja ordentlich was zusammen geschraubt

Meine Regierung hat gerade Urlaub, da darf ich momentan nicht so viel spielen.
Aber jetzt schon vorab vielen Dank für deine Arbeit.Blockly – Einfache DPL-Regelung (Nulleinspeisung & AC-Laden) für Einsteiger in Verbindung mit dem Steuerungs-Script dieses Threads
Postupdate 17.07.2026; 18:30h
verbesserte Version für kritische Verbraucher-
criticalOutputLimit ist Begrenzung: wie viel Watt max. output im criticalMode sein darf
(auch max_outputLimit ist erlaubt). -
criticalGridPower definiert ab wie viel Watt ein Verbraucher als kritischer Verbraucher zählt.
Kommentare im Blockly bitte beachten.
Download -> HIER
-
-
Guten Morgen allerseits,
seit vergangenen Freitag hab ich auch endlich meinen SF800 Pro2 (aktuelle Firmware V2.0.0) am Netz. Aktuell laufen die 4 Solarmodule noch über dem Hoymiles Wechselrichter, um erstmal alle Verbindungen und Settings zu testen.
Das AC-Laden und auch das Entladen funktioniert aber schon mal unglaublich gut mit den Scripten hier aus dem Thread, ich bin immer noch schwer begeistert, was hier auf die Beine gestellt wurde!
@maxclaudi Sowohl dein ZenSDK-Script, als auch das zur Nulleinspeisung sind der Hammer! Ich hoffe du hast nichts dagegen, wenn ich das erstmal 1:1 übernommen habe, um meine Anlage ans Laufen zu bringen.Über das Wochenende haben sich aber ein paar Fragen ergeben, auf die ich bis jetzt keine Antwort gefunden habe:
-
Am Morgen erreichte der Akku die 10%-Marke und sollte da ja eigentlich stoppen mit der Einspeisung. Allerdings ging er irgendwie bis auf 8% runter und startete dann mit voller Last das AC-Laden, bis er wieder 10% erreicht hatte. Ab da dann keinerlei Auffälligkeiten und alles lief super. Ist das so korrekt und normal?
-
Die von dir gewählten 15s Regelungsintervall, sind die sozusagen als "Best Practice" von dir getestet? Wären zB 10s schon zu kurz bei der Regelungsträgheit des SF800?
-
Mir fehlt irgendwie eine Angabe, wieviel kWh ich geladen/eingespeist habe, aber da find ich nirgendwo Infos zu. Weder bei Zendure in der App, noch in dem ZenSDK oder im Adapter von nograx. Habt ihr ne Idee, wie ich das vernünftig tracken kann? Vielleicht über nen Shelly zwischen SF800 und Netz?
-
Ich sehe, dass der SF800 fleißíg zwischen Laden und Entladen hin und her wechselt. Da wir Warmwasser über einen Durchlauferhitzer beziehen sind das dann schon mal recht kurze Intervalle. Da überlege ich, wie man das evtl rausfiltern/ausschließen kann.
Aber bei den früheren Generationen von Zendure habe ich gelesen, dass nur alle 10min zwischen Laden und Entladen gewechselt werden soll, um die Relais zu schonen. Ist die Technik mittlerweile soweit, dass das kein Problem mehr darstellt oder ist das vermeiden von sehr häufigen Lade/Entlade-Wechseln immer noch zu empfehlen?
Soweit erstmal von mir :-)
Freue mich, wenn ich zukünftig irgendwie was sinnvolles zum Thema hier beitragen kann
@T-147 sagte:
...zwischen Laden und Entladen gewechselt werden soll, um die Relais zu schonen....Wer zusätzliche Sicherheit möchte:
Blockly – Einfache DPL-Regelung (Nulleinspeisung & AC-Laden) für Einsteiger in Verbindung mit dem Steuerungs-Script dieses Threads
Postupdate 18.07.2026; 15:30h
Version wie zuvor inkl. kritische Verbraucher + Neu: intervalSec_change_acModeAllowed- intervalSec_change_acModeAllowed:
acMode-Wechsel nur alle x Sekunden erlaubt. Schont Relais und verhindert häufiges Umschalten zwischen Laden und Entladen.
0 oder 10-60 sec.
Auch > 60 möglich.
Darf jede(r) für sich entscheiden.
Je höher der Wert, desto später erfolgt der Wechsel zwischen Laden und Entladen.
Da das Blockly im Inneren wieder sehr ausführlich kommentiert ist, verzichte ich hier auf eine lange Erklärung.
Bitte die Hinweise direkt im Skript lesen.
Import-Anleitung:
Wie man ein Blockly importiert, ist in diesem Post hier beschrieben.
Das Skript ist standardmäßig für einen Zendure 1600AC+ vorkonfiguriert.
Bitte prüft vor dem ersten Start unbedingt die folgenden Variablen und passt sie an euer eigenes System an:
- max_outputLimit: 1600
- max_inputLimit: 1600
- criticalGridPower: 600
- criticalOutputLimit: 1600
Urheberrechtshinweis
Bitte respektiert die Arbeit, die in diesem Projekt steckt, und beachtet den Urheberhinweis direkt im Skript.
Wenn ihr auf Basis dieses Skripts (oder Teilen davon) eigene Modifikationen veröffentlicht, fügt bitte eine kurze Verlinkung zu diesem Thread und / oder die Nennung meines Namens maxclaudi hinzu.
Vielen Dank!Datei: maxclaudi_dpl_acMode_kV.zip enthält nur maxclaudi_dpl_acMode_kV.xml
- Datei herunterladen und Virenscan.
- maxclaudi_dpl_acMode_kV.zip entpacken
- in iobroker neues, leeres Blockly erstellen
- maxclaudi_dpl_acMode_kV.xml
importieren.
Download:
maxclaudi_dpl_acMode_kV.zipViel Spaß damit!
-
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden