Zendure Smartflow AI - Meine erste Integration

Huhu, bin erst jetzt auf den Artikel gestoßen, nachdem ich mir mit P1 Sensor, Epex Spot und Zendure Integration über Automatismen eine Steuerung gebastelt habe. Funktioniert soweit recht gut.

Ich hab eine SF800pro in Betrieb. Werde deine Integration demnächst mal testen….to be continued

2 „Gefällt mir“

Ich habe jetzt lange rumgebastelt und darf euch nun eine neue Testversion präsentieren mit extrem umfangreichen Änderungen und Neuheiten.

Neu:

  • Jetzt kann man die externen Sensoren neu konfigurieren, ohne immer die ganze Integration vorher zu löschen, um dann alles neu ein zu richten.
  • 2 neue Sensoren, die die Preisplanung und die geplanten Aktionen etwas transparenter gestellten. Man sollte dann sehen können wann welche Aktion ausgeführt wird.

Verbessert:

  • Die Preis- und Planungsfunktionen wurden umfangreich umgebaut, so dass nun hoffentlich jede Preisspitzen und Ladezonen richtig erkannt und durchgeführt werden.
  • Komplett neue Entladeregelung eingebaut. Bei der ersten Version wurde immer versucht den Bezug des Hauses zu „jagen“ und ihn nahe 0 zu halten, dabei kam es dann irgendwann zu einem Sägezahnverhalten, dass sich auch durch Puffer oder einem trägeren Verhalten nicht ganz weg bekommen lies. Jetzt kommt die Delta-Regelung zum Einsatz. Durch das neue Regelverhalten, durch das nur auf die Veränderungen bei Bezug oder Einspeisung reagiert wird, sollte sich nun ein sehr konstantes Ladeverhalten zeigen, ein Sägezahn-Effekt ist nun fast ausgeschlossen.

Die V1.4.0-Beta5 steht zum Download und Testen bereit. :slight_smile:

3 „Gefällt mir“

Ich mußte noch eine Beta6 nachschieben, da das Laden bei PV-Überschuss nicht richtig geklappt hat, der AC-Betriebsmodus wurde nicht richtig gesetzt.

1 „Gefällt mir“

Absolut fantastische Integration :smiley:
Ich bin hellauf begeistert :star_struck:
Da wünsche ich mir wieder mein Zendure System zurück nur um es zu testen.

1 „Gefällt mir“

Hab gestern deine Integration installiert und aktiviert.

Funktioniert soweit recht gut.

Wenn ich im Verlauf nachsehe, sehe ich, dass die Batterie um 23:00 Uhr geladen wurde.
Ich sehe aber nicht warum!

1 „Gefällt mir“

Wenn ich sehe, dass bei dir gerade wegen hohem Preis entladen wird, dann war das ein Ladevorgang in einer günstigen Preiszone vor der Spitze, also alles richtig. Installier aber mal die neue Beta7, da sind 2 neue Sensoren dabei und neue Attribut-Entitäten, wo man dann noch besser erkennen kann WANN etwas passieren wird.

1 „Gefällt mir“

Hat auf Laden geschalten, obwohl als Sehr teuer Limit 0,2 eingestellt. ist.

PV ist keine installiert!

Ist das auch mit der Beta7 noch so?

ich habe jetzt die Beta7 wieder runtergegeben, da:

  • alle 3-4 Stunden auf PV-Überschuss laden geschalten wurde (keine PV aktiv)
  • das Soc Minimum auf 20% gestellt, auf 18% entladen wurde
  • in der Nacht bei günstigen Tarifen nach Epex nicht geladen wurde

update: ich hab in HA alles gelöscht und die beta7 komplett neu installiert.
lets have a look


tja..leider wieder der Switch auf Laden…warum auch immer

Ich habs gestern bei meinem Bekannten live beobachten können. Ich habe den Grund schon gefunden und arbeite an der Behebung. es sollte heute noch eine neue Testversion kommen, die dann stabil entläd. Ich habe zwar die Regelung neu erstellt, habe aber vergessen die Messgrößen anzupassen. Z.b. wird in der Beta7 auch die Hauslast falsch berechnet, weil ich vergessen habe den Akku mit zu berücksichtigen. Dieser Sensor wird aber gebraucht, um die Entladung richtig durchzuführen. Es kommt eine Lösung.

1 „Gefällt mir“

Mache gerne weitere Tests, wenn du was benötigst. Einfach pn.
L.g.

1 „Gefällt mir“

Ich glaube, ich habe es endlich geschafft und die Beta8 ist raus. Hier das Changelog:

Fixes

  • Stabilisiert die Entladeregelung bei geringer Netzlast (kein Abbruch mehr bei ~0 W Bezug)
  • Verhindert unbeabsichtigtes Umschalten auf Laden während aktiver Entladung
  • Korrigierte Erkennung von PV-Überschuss vs. batteriebedingter Einspeisung
  • Verbesserte inkrementelle Entladeregelung zur Zielhaltung nahe 0 W Netzbezug
  • Fix für fehlerhafte Hauslastberechnung bei gleichzeitiger Batterieentladung
  • Verhindert unnötiges Zurücksetzen des AC-Modes bei kurzen Leistungsänderungen

Intern

  • Robustere State-Machine für idle / charging / discharging
  • Zusätzliche Schutzlogik gegen Regel-Oszillation
  • Verbesserte Kompatibilität mit Zendure-AC-Modus-Logik

Testet bitte, wie stabil nun die Entladeregelung läuft. Bei mir sind nun in den Tests keine plötzlichen Entladeabbrüche mehr aufgetaucht.

Damit es richtig läuft, sind auch bestimmte Einstellungen in ZHA extrem wichtig. Die Einstellung Energie-Export MUß auf Erlaubt stehen und falls ihr einen P1 Sensor ausgewählt habt, dann entweder raus damit, oder im Bereich Zendure Manager den Betriebsmodus auf Aus oder Manuelle Steuerung. Wenn man einen Sensor eingestellt hat und es ist z.b. auf Smarte Leistungsregelung gestellt, dann kommt meiner Regelung die von Zendure in die Quere und es kommt zu einem Sägezahn Effekt, weil die Zendure-Eigene Regelung ab einem bestimmten Wert den Entladevorgang meiner Regelung unterbricht. WICHTIG!!!

Das hat mich die letzten Tage Nerven und graue Haare gekostet, bis ich festgestellt habe, dass mir da unter Umständen auch ein Firmware-Bug in die Parade fährt und es nicht mehr nur an einem Fehler in meiner Regelung liegt. :wink:

1 „Gefällt mir“

Hmmm…schwer zu sagen, wo jetzt bei mir genau das Problem liegt. Fakt ist, dass ich in der Hauslast oft mehr habe, als in der Netzlast (also das, was ich von Netz sauge). Jetzt ist das aber so, dass ich keine PV am Speicher angeschlossen habe. Demnach müsste nach der Formel, wenn P1+PV=Hauslast ist, P1+0=Hauslast=P1 sein, oder?
Warum ist das dann so unterschiedlich?

Ich habe gestern gleich nach deiner Veröffentlichung die 140.B8 installiert und von da an ist genau nichts mehr gegangen. Völlig egal, was auch immer ich in deiner Integration, in der ZHA oder auf der Zendure App eingestellt hatte. Es hatte null Auswirkungen. Erst ein Reset und komplettes Löschen aller Zendure Sensoren in HA hat geholfen.

Derzeit ist bei mir nur die ZHA installiert und meine selbstgebastelten Automationen. Das funkt.

Stimmt, richtig. So sollte es sein. Im Prinzip ist dein Bezugssensor auch die Hauslast, wenn der Akku nicht eingreift und deshalb brauchst auch du einen Hauslastsensor.

Wenn du das Update installierst, dauert es in der Regel immer eine Zeit lang, bis alle Sensoren und nötigen Integritäten alle Informationen liefern. So lange zeigen die Sensoren in meiner Integration Fehler an oder stehen auf Unbekannt. Wenn dann alles gestartet ist, mußt du einmal den Betriebsmodus auf Manuell stellen, warten bis das die Sensoren unten anzeigen und dann wieder zurück auf Automatik. Ab dann sollte alles gehen.

In Blick in die Zukunft: Die nächste Beta steht kurz bevor. Der Große Wurf, ich habe es endlich geschafft und endlich eine stabile Entladeregelung. Das 2. gute, der Akku wird nun vor Preisspitzen geladen. Negativ war heute aber, dass die Entladung nicht von selbst angesprungen ist. Ich habe da schon Änderungen vorgenommen und wenn heute Nachmittag, wenn die 2. Preisspitze kommt, die Entladung von selbst startet, dann, dann hab ich es endlich geschafft, die KI-Regelung, Preisanalyse und Preisplanung klappt endlich und ich kann mit dem finalen Feintuning beginnen. :smiley:

PS: Dabei fällt mir ein, dass ich nie getestet habe wie sich meine Integration verhält, wenn kein PV-Sensor da ist. Mit deinem System wärst du mir bei den Tests also wichtig und ich hoffe, du bleibst auch bei der nächsten Beta mit am Ball. :slight_smile:

1 „Gefällt mir“

Gerade habe ich einen Meilenstein heraus gebracht, Beta9. Zum ersten mal seit ich angefangen habe mit der Idee und der Entwicklung, haben alle Schritte Live automatisch funktioniert. Laden vor einem erkannten Preispeak in einer günstigen Preisphase, automatisches Entladen ab errechneten Preis UND eine absolut stabile Entladekurve ohne Schwingen, Entladeabbrüche und, und und… :smiley:

Ich könnte gerade Lachen und Weinen zugleich vor Freude. :smiley: Hier das Changelog:

:rocket: Major Improvements

  • Fully stabilized price-based discharge logic
  • Automatic pre-charging before price peaks now works reliably
  • Discharge starts and stops exactly based on price advantage
  • No more random discharge interruptions at low grid import
  • Stable behavior across long-running price peaks

:brain: Logic & State Handling

  • Introduced latched price-based discharge to prevent oscillation
  • Clean exit from price-based discharge when price advantage is gone
  • Improved internal power state synchronization (idle / charge / discharge)
  • Reduced dependency on manual mode toggling

:gear: Control & Regulation

  • Improved delta-based discharge controller targeting small grid import
  • Prevents unintended feed-in caused by measurement noise
  • Output remains active at low loads instead of collapsing to zero
  • Better separation between PV surplus, battery discharge and grid export

:lady_beetle: Fixes

  • Fixed discharge being aborted at or near 0 W grid import
  • Fixed false charge transitions during active discharge
  • Fixed incorrect behavior after Home Assistant restarts
  • Fixed planning states blocking valid price-based discharge

:bar_chart: Transparency

  • Planning status and decision reasons are now internally consistent
  • Clear distinction between planning, price-based logic and emergency modes

:warning: Beta notice:
This release is considered functionally complete and stable,
but still under observation for fine-tuning and UX improvements.

Jetzt gibts noch etwas Finetuning, 2 Sensoren geben noch nicht das gewünschte aus und Sprachdateien anpassen, dann gibt es den Meilensteinrelease!!!

3 „Gefällt mir“

Gerne!
Ich werde es morgen mit folgendem Ablauf installieren/integrieren.

  1. In der App alles deaktivieren
  2. im Zendure Manager Betriebsmodus auf „aus“
  3. die Verbindungsart: das ist die Frage, zenSDK oder Cloud? Oder egal?
  4. ich deaktiviere meine Automatik
  5. nach Integration von SmartFlow auf Manuell stellen und warten…

Noch etwas zu beachten?

Energie-Export auf Erlaubt in ZHA, dass ist das wichtigste. Verbindungsart hab ich aktuell auf Cloud.

In der Beta9 sind jetzt auch Änderungen drin, damit die Manuell/Automatik Geschichte nicht mehr nötig sein sollte, aber Sicher ist Sicher. :slight_smile:

Jetzt ist sie raus, die V1.4.0, ein Meilenstein-Release. Auf der Github-Seite habe ich auch die Readme und die Anleitung aktualisiert. Damit sollten dann kaum noch Fragen offen sein. :slight_smile:

:rocket: Zendure SmartFlow AI V1.4.0 – Meilenstein-Release

Diese Version markiert den entscheidenden Durchbruch der Integration.
Nach intensiver Entwicklungs- und Testphase arbeitet die Steuerung nun
stabil, deterministisch und vollständig nachvollziehbar – auch unter
realen Bedingungen mit PV, Batterie, Preisschwankungen und Messrauschen.


:glowing_star: Zentrale Neuerungen & Durchbrüche

:battery: Stabile Delta-Entladeregelung (inkrementell)

  • Vollständige Ablösung der bisherigen statischen Entladelogik
  • Inkrementelle Leistungsanpassung statt Ein/Aus-Schalten
  • Ziel: Netzbezug nahe 0 W (mit definierter Toleranz)
  • Verhindert:
    • Entlade-Abbrüche bei kurzen Überschüssen
    • Umschalten auf Laden durch Messrauschen
    • Ping-Pong zwischen Laden & Entladen
  • Funktioniert identisch in:
    • Automatik
    • Sommer
    • Manuell (Entladen)

:right_arrow: Ergebnis: erstmals dauerhaft stabile Entladung über lange Zeiträume


:euro_banknote: Intelligente Preis-Vorplanung (Peak-Analyse)

  • Analyse kommender Strompreise (z. B. Tibber / EPEX)
  • Erkennung relevanter Preisspitzen
  • Berechnung eines wirtschaftlichen Zielpreises anhand:
    • Peak-Preis
    • konfigurierbarer Gewinnmarge
  • Gezieltes Netzladen nur, wenn:
    • ein günstiges Zeitfenster existiert
    • der Akku noch Kapazität hat
    • kein sinnvoller PV-Überschuss anliegt

:right_arrow: Kein Zeitplan, kein Dauerladen – kontextbasierte Planung


:fire: Preisbasierte Entladung (robust & korrekt)

  • Entladung bei teurem Strom nur bei echtem wirtschaftlichem Vorteil
  • Vergleich:
    • aktueller Strompreis
    • Ø Ladepreis des Akkus
  • Sauberer Exit der Entladung, sobald der Preisvorteil entfällt
  • Kein „Festhängen“ mehr durch blockierte Exit-Bedingungen

:high_voltage: Sehr-teuer-Logik (Priorität 1)

  • Bei Preisen ≥ Sehr-Teuer-Schwelle:
    • Entladung hat absolute Priorität
    • unabhängig von Modus (Sommer / Winter / Automatik)
  • Temporäres Ignorieren der Entladebegrenzung
  • Begrenzung nur noch durch die Hardware (~2400 W)

:right_arrow: Ziel: maximale Vermeidung von Netzbezug bei Extrempreisen


:brain: Intelligente Zustandsführung & Schutzmechanismen

  • Hard-Guards gegen Fehlumschalten
    • Kein automatisches Wechseln von Entladen → Laden durch Überschuss
    • Unterscheidung zwischen:
      • echtem PV-Überschuss
      • batteriebedingter Einspeisung
  • Anti-Export-Guard
    • Reduziert Entladeleistung sofort bei Einspeisung
    • Verhindert Überschwingen ins Netz
  • Reset bei Moduswechsel
    • Kein „Blockade-Zustand“ mehr
    • Kein manuelles Umschalten nötig, um Logik zu reaktivieren

:bar_chart: Korrekte Hauslast-Berechnung (entscheidend!)

  • Hauslast wird nun physikalisch korrekt berechnet aus:
    • Netzbezug
    • PV-Eigenverbrauch
    • Batterieentladung
  • Verhindert:
    • falsche Defizit-Erkennung
    • fehlerhafte Entladeabbrüche
  • Grundlage für die stabile Delta-Regelung

:window: Volle Transparenz in Home Assistant

Neue & korrigierte Sensoren

  • Next Planned Action
  • Next Planned Action Time (TIMESTAMP)
  • Next Action State
  • Next Action Time (TIMESTAMP)
  • Planungsstatus & Begründungen:
    • planning_status
    • planning_reason
    • planning_active
    • planning_target_soc
    • planning_next_peak

Wichtig

  • unknown bedeutet jetzt bewusst:
    • keine Aktion nötig
    • keine Planung aktiv
  • Keine versteckten Zustände mehr nur in Attributen

:hammer_and_wrench: Technische Fixes & Stabilität

  • TIMESTAMP-Sensoren liefern nun korrekte ISO-Zeitstempel
  • Einheitliche „Single Source of Truth“ für geplante Aktionen
  • Persistenzfehler behoben (Ø Ladepreis, Latch-Zustände, Power-State)
  • Robuste Verarbeitung unterschiedlicher Preis-Datenformate

:warning: Wichtige Hinweise (Voraussetzungen)

Für korrektes Verhalten zwingend erforderlich:

  • Zendure-App:
    • Lade- & Entlade-Limits auf 2400 W
    • HEMS deaktivieren
    • ggf. App-Stromsensoren entfernen
  • Zendure Home-Assistant Integration:
    • Energie-Export: Erlaubt
    • Zendure Manager Betriebsmodus: AUS
    • Kein P1-Sensor auswählen bzw. Vorgabe entfernen

:chequered_flag: Fazit

v1.4.0 ist der Punkt, an dem Zendure SmartFlow AI:

  • stabil arbeitet
  • wirtschaftlich korrekt entscheidet
  • vollständig erklärbar ist

Ein echter Meilenstein –
die Grundlage für alle kommenden Features. :rocket:

1 „Gefällt mir“