NEWS
Test Adapter Zendure SolarFlow 6.0.0 – mit Nulleinspeisung
-
@lesiflo Primär die einzelnen States und da frage ich mich sofort was die bedeuten und was für Funktionen sich dahinter verbergen und was damit bezweckt wird. Themen die man nur mit einer Live-Demo und Diskussion richtig versteht. Das Grundkonzept dahinter ist mir klar.
Aura habe ich auch schon gesehen, bin aktuell aber (noch) bei der Lovelace Visu von Garfonso. Hat den Vorteil das man die Karten von HA nutzen kann, aber die Logik von ioBroker. Best of both worlds (subjektiv meine Meinung).
-
Lovelace Visu von Garfonso kenne ich nicht hatte vorher vis1. An Aura ist das coole die Nutzung des MCP Server, macht vieles einfacher und schneller (vor allem für faule Leute wie mich
) -
Kurzes Feedback: Bekomme jetzt PV von der großen Anlage und die Hyper verhalten sich so wie gewünscht. Leistung geht in Haus und Speicher oder von großer Anlage in Speicher:

Jetzt kommt übrigens die lange Umschaltzeit Laden/Entladen zum tragen. Es könnte von der großen PV geladen werden, die Leistung geht aber ins Netz. Außerdem geht dann wenn umgeschaltet wurde zu wenig Leistung in die Speicher.

Nach der Umschaltung wird außerdem etwas zu lange eingespeist. Wie sind da die Zeiten/Grenzen?
Hyper 3 (ohne PV) braucht wesentlich länger und lädt mit weniger Leistung als Hyper 1 und 2. Ich vermute Mal, das du beim Laden über AC die PV Leistung nicht mit berücksichtigt hast (Meine Konfig ist halt etwas speziell).

Mir fällt auf, des wenn PV von der großen Anlage kommt, Leistung aus dem Netz gezogen wird. Besser wäre etwas Einspeisung.
-
- Umschaltzeit werde ich wie gesagt heute Abend ins Update stellen.
- Was genau meinst du mit "Nach der Umschaltung wird außerdem etwas zu lange eingespeist. Wie sind da die Zeiten/Grenzen?"
- Die Automatisierung sollte den Hyper 3 im Verlaufe stärker einbeziehen bzw. mehr Ladeleistung geben. Ich verstehe deinen Hinweis, wie hast du das vorher gelöst? PV Leistung vom AC Limit abgezogen und dem Hyper 3 in dem Fall das abgezogene hinzugefügt?
-
- Umschaltzeit werde ich wie gesagt heute Abend ins Update stellen.
- Was genau meinst du mit "Nach der Umschaltung wird außerdem etwas zu lange eingespeist. Wie sind da die Zeiten/Grenzen?"
- Die Automatisierung sollte den Hyper 3 im Verlaufe stärker einbeziehen bzw. mehr Ladeleistung geben. Ich verstehe deinen Hinweis, wie hast du das vorher gelöst? PV Leistung vom AC Limit abgezogen und dem Hyper 3 in dem Fall das abgezogene hinzugefügt?
- Umschaltzeit werde ich wie gesagt heute Abend ins Update stellen.
- Was genau meinst du mit "Nach der Umschaltung wird außerdem etwas zu lange eingespeist. Wie sind da die Zeiten/Grenzen?"
- Die Automatisierung sollte den Hyper 3 im Verlaufe stärker einbeziehen bzw. mehr Ladeleistung geben. Ich verstehe deinen Hinweis, wie hast du das vorher gelöst? PV Leistung vom AC Limit abgezogen und dem Hyper 3 in dem Fall das abgezogene hinzugefügt?
Zu 2. Muss ich nochmal genauer beobachten. Es gedauert halt recht lange bis die Leistung in den Speicher geht, es wird zu viel ins Netz eingespeist. Eventuell ist hier der PI Regler etwas zu träge.
Zu 3.
Mittlerweile haben sich die 3 Hyper etwas angenähert 70/67/63 %. Das der dritte erst bei 63% liegt vermutlich daran, das er nur über AC mit 1200 W geladen wird. Die anderen beiden ja über DC und AC mit 1500 WIm Detail
-
Gesamtkuchen bilden: Verfügbarer AC-Überschuss (Dach-PV) + aktuelle DC-PV von Hyper 1 & 2 wurden zu einer gemeinsamen Gesamtleistung addiert (
zielGesamtLeistung = gesamtAC + pvAktiv). -
Soll-Anteil berechnen: Dieser Gesamtkuchen wurde nach fehlendem SOC (quadriert) und Akku-Kapazität auf alle drei Speicher verteilt (
(100 - SOC)² * kWh). -
Eigene PV abziehen: Vom berechneten Soll-Anteil wurde bei jedem Hyper dessen eigene DC-PV abgezogen (
benoetigtesAC = Math.max(0, sollGesamt - h.pv)). -
Rest an Hyper 3: Da Hyper 1 & 2 durch ihre eigenen Module oft schon einen Großteil (oder alles) ihres Soll-Anteils gedeckt hatten, brauchten sie entsprechend weniger AC-Leistung. Der dadurch „eingesparte“ AC-Überschuss ging automatisch an Hyper 3 (der 0 W eigene PV hat). Zusätzlich war das maximale AC-Limit bei H1/H2 dynamisch auf
1500 W - eigene PV(max. 1200 W) begrenzt.
Kurzbeispiel (alle bei 50 % SOC):
- Verfügbar: 1000 W AC-Überschuss + je 400 W DC-PV an H1 & H2 = 1800 W Gesamtkuchen.
- Soll-Gesamt (nach Kapazität 2,88 / 2,88 / 1,92 kWh): H1 = 643 W | H2 = 643 W | H3 = 514 W.
- Zuweisung AC-Leistung (Soll minus eigene PV):
- Hyper 1: 643 W − 400 W PV = 243 W AC
- Hyper 2: 643 W − 400 W PV = 243 W AC
- Hyper 3: 514 W − 0 W PV = 514 W AC
So bekamen alle drei exakt die gleiche effektive Ladeleistung im Verhältnis zu ihrer Kapazität und wurden gleichzeitig voll.
-
- Umschaltzeit werde ich wie gesagt heute Abend ins Update stellen.
- Was genau meinst du mit "Nach der Umschaltung wird außerdem etwas zu lange eingespeist. Wie sind da die Zeiten/Grenzen?"
- Die Automatisierung sollte den Hyper 3 im Verlaufe stärker einbeziehen bzw. mehr Ladeleistung geben. Ich verstehe deinen Hinweis, wie hast du das vorher gelöst? PV Leistung vom AC Limit abgezogen und dem Hyper 3 in dem Fall das abgezogene hinzugefügt?
Zu 2. Muss ich nochmal genauer beobachten. Es gedauert halt recht lange bis die Leistung in den Speicher geht, es wird zu viel ins Netz eingespeist. Eventuell ist hier der PI Regler etwas zu träge.
Zu 3.
Mittlerweile haben sich die 3 Hyper etwas angenähert 70/67/63 %. Das der dritte erst bei 63% liegt vermutlich daran, das er nur über AC mit 1200 W geladen wird. Die anderen beiden ja über DC und AC mit 1500 WIm Detail
-
Gesamtkuchen bilden: Verfügbarer AC-Überschuss (Dach-PV) + aktuelle DC-PV von Hyper 1 & 2 wurden zu einer gemeinsamen Gesamtleistung addiert (
zielGesamtLeistung = gesamtAC + pvAktiv). -
Soll-Anteil berechnen: Dieser Gesamtkuchen wurde nach fehlendem SOC (quadriert) und Akku-Kapazität auf alle drei Speicher verteilt (
(100 - SOC)² * kWh). -
Eigene PV abziehen: Vom berechneten Soll-Anteil wurde bei jedem Hyper dessen eigene DC-PV abgezogen (
benoetigtesAC = Math.max(0, sollGesamt - h.pv)). -
Rest an Hyper 3: Da Hyper 1 & 2 durch ihre eigenen Module oft schon einen Großteil (oder alles) ihres Soll-Anteils gedeckt hatten, brauchten sie entsprechend weniger AC-Leistung. Der dadurch „eingesparte“ AC-Überschuss ging automatisch an Hyper 3 (der 0 W eigene PV hat). Zusätzlich war das maximale AC-Limit bei H1/H2 dynamisch auf
1500 W - eigene PV(max. 1200 W) begrenzt.
Kurzbeispiel (alle bei 50 % SOC):
- Verfügbar: 1000 W AC-Überschuss + je 400 W DC-PV an H1 & H2 = 1800 W Gesamtkuchen.
- Soll-Gesamt (nach Kapazität 2,88 / 2,88 / 1,92 kWh): H1 = 643 W | H2 = 643 W | H3 = 514 W.
- Zuweisung AC-Leistung (Soll minus eigene PV):
- Hyper 1: 643 W − 400 W PV = 243 W AC
- Hyper 2: 643 W − 400 W PV = 243 W AC
- Hyper 3: 514 W − 0 W PV = 514 W AC
So bekamen alle drei exakt die gleiche effektive Ladeleistung im Verhältnis zu ihrer Kapazität und wurden gleichzeitig voll.
Doppelpost gelöscht
-
Die Datenpunkte acOnlyPenalty und acChargingAllowed gelten ja laut deiner Beschreibung nur für AC-Only-Geräte. Was ist aber wenn man einen Hyper hat, der genau das auch macht, ohne PV ? Wirken die da dann auch?
-
Die Datenpunkte acOnlyPenalty und acChargingAllowed gelten ja laut deiner Beschreibung nur für AC-Only-Geräte. Was ist aber wenn man einen Hyper hat, der genau das auch macht, ohne PV ? Wirken die da dann auch?
-
Ist jetzt die 6.1.1 geworden. Test also eher morgen, Sonne ist weg.

@lesiflo Da ich gesehen habe das du den Status auch schon verwendest in deiner Visu: Statt reiner Text ist es jetzt doch eine Options-Liste geworden. Syntaktisch eher richtig. Musst du dann halt noch anpassen.
-
Irgendwas passt da noch nicht. Hyper 1 steht, dafür übernehmen die beiden anderen die volle Last. Hyper 1 hat dabei den größten Ladestand. Eventuell ist das mit der Reihenfolge das Problem. So ganz habe ich das noch nicht verstanden wann welches Gerät verwendet wird.

Bei mir wird das so umgesetzt:
1. Vorab-Prüfung: Direkte PV-Nutzung vor Akku-Entnahme
Bevor überhaupt Strom aus den Akkus gezogen wird, prüft das Skript, ob die Geräte gerade eigene PV-Leistung erzeugen:
-
PV-Vorrang: Wenn ein Hyper mehr PV-Leistung liefert als eine definierte Reserve (
pvGrenze), wird diese überschüssige Energie direkt als Hausbedarf ausgegeben. -
Der Vorteil: Dieser Strom fließt direkt ins Haus, ohne den Umweg über die Batterie zu nehmen (vermeidet ca. 20 % Wandlungsverluste).
2. Berechnung des Entlade-Gewichts über den SOC (Kubische Gewichtung)
Für den verbleibenden Leistungsbedarf ermittelt das Skript für jeden der drei Speicher ein individuelles Gewicht:
-
Abstand zum Minimum: Es wird berechnet, wie viel Prozent der Batterie über dem individuell konfigurierten Mindest-SOC (
h.socMin) liegen (h.soc - h.socMin). -
Kubische Potenz (
Math.pow(..., 3)): Dieser Abstand wird hoch 3 genommen.
- Beispiel: Hat Speicher 1 einen Abstand von 40 % und Speicher 2 von 20 %, ist das Gewicht nicht einfach doppelt so hoch, sondern $40^3 / 20^3 = 64000 / 8000 = 8$-mal so hoch.
- Effekt: Speicher mit einem deutlich höheren Füllstand übernehmen fast die gesamte Last. Je näher sich die Speicher im Füllstand annähern, desto gleichmäßiger verteilt sich die Last. Speicher, die bereits auf ihrem Minimum (
h.socMin) stehen, bekommen das Gewicht0und tragen nichts mehr bei.
3. Iterative Verteilung in einer Schleife (Loop)
Da die einzelnen Speicher physikalische und konfigurierte Leistungsgrenzen haben (im Skript auf max. 1200 W pro Gerät begrenzt:
maxE), geschieht die Zuweisung in einer Schleife (bis zu 20 Durchläufe,CONFIG.MAX_LOOP_ROUNDS):-
Pro-rata-Aufteilung: Der noch offene Gesamtbedarf (
verbleibenderBedarf) wird in der Runde im Verhältnis der eben berechneten Gewichte auf die aktiven Speicher aufgeteilt. -
Kappung am Limit: Droht ein Speicher dabei sein Hardware-Limit (
maxE) zu überschreiten, wird er bei seinem Maximum gedeckelt. -
Restmengen-Verteilung: Sollte nach einem Deckelungs-Schritt noch immer Bedarf offen sein (weil ein Speicher voll ausgelastet ist), läuft die Schleife weiter und verteilt den verbleibenden Restbedarf neu auf die verbleibenden Speicher, die noch Reserven haben.
4. Das finale Ergebnis
Am Ende liefert die Funktion ein Array mit den exakten Watt-Vorgaben für die drei Wechselrichter (
werte: [e1, e2, e3]), die im Hauptskript viasetEntlademodusan die Hardware übergeben werden. -
-
@lesiflo Jede volle Stunde wird neu sortiert, Ziel ist es ein Gerät mehr zu belasten um die Effizienz zu erhöhen (und auch nur so viele Geräte zu verwenden wie nötig). Die anderen sollen dazu gezwungen werden den Wechselrichter abzuschalten damit sie auch kein Standby Verbrauch mehr haben. Schau mal bitte was um 19:00 passiert. Ein Gerät das nur AC Laden kann (oder optional aktiviert hat) wird dann mit dem penalty belegt (sprich wenn im default 50% unter dem mit DC)
-
Mittlerweile entladen alle 3 Hyper. Schaltet der 3. Hyper dazu wenn mehr Leistung benötigt wird als 2 liefern können?
-
-
OK, alles klar. Gut zu wissen. Ich hatte vorhin den Fall, das Hyper 3 stand und 1 und 2 liefen. Wichtig ist das am Ende alle 3 gleich entladen werden. Bei meinem Script werden alle 3 Hyper gleich belastet.
-
OK, alles klar. Gut zu wissen. Ich hatte vorhin den Fall, das Hyper 3 stand und 1 und 2 liefen. Wichtig ist das am Ende alle 3 gleich entladen werden. Bei meinem Script werden alle 3 Hyper gleich belastet.
@lesiflo Ich finde es halt unsinnig wenn gerade bei geringen Lasten das ganze aufgeteilt wird. Der Wechselrichter verbrät selber locker 20-30W wenn das Gerät aktiv ist. Wenn du dann nur eine Last von 300W im Haus hast und 3 Geräte jeweils 100W einspeisen kannste also noch mal 90W an Verbrauch oben drauf rechnen.
Nach ca. einer Stunde wird ja durchgerauscht und ein Gerät kann sich dann ausruhen...
-
-
Ok, dann macht deine Lösung natürlich mehr Sinn, war mir so nicht bekannt. So wie das gesehen habe macht das HEMS aber nicht so. Aktuell entlädt bei mir nur ein Hyper.
Wird der führende immer reihum getauscht oder wie wird die Auswahl getroffen? -
Exakt, jede Stunde. Gibt aber einen kleinen Puffer wenn die Differenz nicht so groß ist. Wenn H1 führend bei 80% steht wird erst getauscht wenn er knapp über 8% unter H2 oder H3 liegt. Das würde sonst dazu führen das wirklich jede Stunde getauscht wird.
-
Moin,
kannst du es noch ändern, das man den Wert für suggestedInverseMaxPower selbst anpassen kann oder die Prüfung dafür auf inaktiv setzt. Ich würde das gerne auf meine eigene Verantwortung hin anpassen können. Heute morgen hat der Adapter bei 18% SOC die Leistung dann auf 130 W gedrosselt. Dadurch habe ich diese Nacht 0,5 kWh mehr aus dem Netz bezogen als mit meinem Script. Ist nicht viel aber summiert sich halt.
Ansonsten funktioniert die Nulleinspeisung bei mir bisher sehr gut. -
@lesiflo Es gibt den globalen Schalter 'zendure-solarflow.0.adapterAutomation.ignoreSuggestedInverseMaxPower' was die Prüfung außer Kraft setzt. Dann könntest du mit zendure-solarflow.0...control.inverseMaxPower die gewünschte maximale Leistung vorgeben.
Edit: Du scheinst aber eine recht hohe Grundlast zu haben wenn du deine 3 Hyper über Nacht komplett leer ziehst?
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