Intelligent, economic and stable control for Zendure SolarFlow systems in Home Assistant
- 🇬🇧 English
- 🇩🇪 Deutsch
Battery SmartFlow AI automatically controls your Zendure SolarFlow system – based on:
- ☀️ PV generation
- 🏠 Real household load
- 🔋 Battery SoC
- 💶 Dynamic electricity prices (optional)
- ⚙️ Device-specific control profiles
The integration combines this data into a physically stable and economically optimized charging and discharging strategy.
Goal:
Minimal grid import.
Maximum economic efficiency.
No hectic direction changes.
- Adaptive peak detection (individually configurable)
- Price pre-planning with valley detection
- Dynamic grid regulation (regulation instead of full power)
- Device profiles per model
- Hard-sync with real AC mode
- Transparency sensors for price logic
- Profit / savings calculation
- Seasonal logic (summer/winter)
For the integration to work correctly, the following points must be fulfilled:
In the Zendure app:
- Charge power → Maximum
- Discharge power → Maximum
- HEMS → disabled
- No parallel automations
The following settings are mandatory:
- Do not select a P1 sensor
- Energy export: Allowed
- Zendure Manager → Operating mode OFF
Incorrect settings lead to:
- Blocked AC modes
- Discharge interruptions
- Unstable regulation
Recommended:
- Split mode with separate import & export
(e.g. Shelly Pro 3EM)
Supported:
- Tibber
- EPEX
- Octopus (including German Forecast API)
Without an electricity price, PV- and load-based control still works.
- Open HACS
- ⋮ → Custom repositories
- Add repository:
https://github.com/PalmManiac/battery-smartflow-ai - Type: Integration
- Install
- Restart Home Assistant
After installation:
Settings → Devices & Services → Add Integration → Battery SmartFlow AI
Here you select:
- Device profile
- Battery SoC sensor
- PV power
- Electricity price (optional)
- Price history (optional)
- Zendure AC mode
- Charge & discharge entities
- Grid mode
📖 Detailed explanations can be found in the manual (V2).
You can choose between:
- No grid sensor
- One combined sensor (+/-)
- Two sensors (import & export)
Recommended: Two sensors.
Here you select:
- Grid import
- Grid export
separately.
The integration uses model-dependent control parameters.
Currently supported:
- SF800Pro
- SF1600AC+
- SF2400AC
The profile influences, among other things:
- Target grid import
- Regulation speed
- Export tolerance
- Hardware limits
The peak factor can be adjusted via the GUI and influences the detection of price peaks.
Formula:
Peak threshold = max( Average price × Peak factor, Average price + €0.03 )
Default: 1.35
- Lower → detects more peaks (more sensitive)
- Higher → detects only strong price peaks (more conservative)
V2 makes the price logic visible, e.g.:
- Ø daily price
- Current peak threshold
- Engine status
- Adaptive peak active
The integration can show:
- Ø charging price (weighted average)
- Discharged energy
- Price difference
- Total profit in €
Note: Details about the calculation are in the manual (V2).
Price + PV + load combined.
Focus on autonomy, without price planning.
Focus on economic efficiency, with price planning.
No AI interventions, charging/discharging/standby manually.
- SoC minimum / SoC maximum
- BMS limit detection (SoC limit status)
- Emergency charging function
- Hard-sync with real Zendure AC mode
This README provides an overview.
For details (including screenshots, examples, FAQ) see:
- Manual (V2)
- GitHub Issues for bugs & feature requests
- Pull Requests welcome
Battery SmartFlow AI – understandable, stable, economical.
Deutsche Version
Intelligente, wirtschaftliche und stabile Steuerung für Zendure SolarFlow Systeme in Home Assistant
Battery SmartFlow AI steuert dein Zendure SolarFlow System automatisch – basierend auf:
- ☀️ PV-Erzeugung
- 🏠 Realer Hauslast
- 🔋 Batterie-SoC
- 💶 Dynamischen Strompreisen (optional)
- ⚙️ Gerätespezifischen Regelprofilen
Die Integration kombiniert diese Daten zu einer physikalisch stabilen und wirtschaftlich optimierten Lade- und Entladestrategie.
Ziel:
Minimaler Netzbezug.
Maximale Wirtschaftlichkeit.
Keine hektischen Richtungswechsel.
- Adaptive Peak-Erkennung (individuell einstellbar)
- Preis-Vorplanung mit Valley-Erkennung
- Dynamische Netzregelung (Regelung statt Vollgas)
- Geräteprofile pro Modell
- Hard-Sync mit realem AC-Modus
- Transparenz-Sensoren für Preislogik
- Gewinn-/Ersparnis-Berechnung
- Saisonale Logik (Sommer/Winter)
Damit die Integration korrekt arbeitet, müssen folgende Punkte erfüllt sein:
In der Zendure App:
- Ladeleistung → Maximum
- Entladeleistung → Maximum
- HEMS → deaktivieren
- Keine parallelen Automationen
Folgende Einstellungen sind zwingend erforderlich:
- Kein P1-Sensor auswählen
- Energie-Export: Erlaubt
- Zendure Manager → Betriebsmodus AUS
Falsche Einstellungen führen zu:
- Blockierten AC-Modi
- Entladeabbrüchen
- Instabiler Regelung
Empfohlen:
- Split-Modus mit separatem Bezug & Einspeisung
(z. B. Shelly Pro 3EM)
Unterstützt:
- Tibber
- EPEX
- Octopus (inkl. deutscher Forecast API)
Ohne Strompreis funktioniert PV- und lastbasierte Steuerung weiterhin.
- HACS öffnen
- ⋮ → Benutzerdefinierte Repositories
- Repository hinzufügen:
https://github.com/PalmManiac/battery-smartflow-ai - Typ: Integration
- Installieren
- Home Assistant neu starten
Nach der Installation:
Einstellungen → Geräte & Dienste → Integration hinzufügen → Battery SmartFlow AI
Hier werden ausgewählt:
- Geräteprofil
- Batterie-SoC Sensor
- PV-Leistung
- Strompreis (optional)
- Preisverlauf (optional)
- Zendure AC-Modus
- Lade- & Entlade-Entitäten
- Netzmodus
📖 Detaillierte Erklärungen findest du in der Anleitung (V2).
Du kannst wählen zwischen:
- Kein Netzsensor
- Ein kombinierter Sensor (+/-)
- Zwei Sensoren (Bezug & Einspeisung)
Empfohlen: Zwei Sensoren.
Hier werden:
- Netzbezug
- Netzeinspeisung
separat ausgewählt.
Die Integration nutzt modellabhängige Regelparameter.
Aktuell unterstützt:
- SF800Pro
- SF1600AC+
- SF2400AC
Das Profil beeinflusst u. a.:
- Ziel-Netzbezug
- Regelgeschwindigkeit
- Export-Toleranz
- Hardware-Grenzen
Der Peak-Faktor ist über die GUI einstellbar und beeinflusst die Erkennung von Preisspitzen.
Formel:
Peak-Schwelle = max( Durchschnittspreis × Peak-Faktor, Durchschnittspreis + 0,03 € )
Standard: 1.35
- Niedriger → erkennt mehr Peaks (sensitiver)
- Höher → erkennt nur starke Preisspitzen (konservativer)
V2 macht die Preislogik sichtbar, z. B.:
- Ø Tagespreis
- Aktuelle Peak-Schwelle
- Engine-Status
- Adaptive Peak aktiv
Die Integration kann:
- Ø Ladepreis (gewichteter Durchschnitt)
- Entladene Energie
- Preis-Differenz
- Gesamtgewinn in €
sichtbar machen.
Hinweis: Details zur Berechnung stehen in der Anleitung (V2).
Preis + PV + Last kombiniert.
Autarkie-Fokus, ohne Preisplanung.
Wirtschaftlichkeits-Fokus, mit Preisplanung.
Keine KI-Eingriffe, Laden/Entladen/Standby manuell.
- SoC-Minimum / SoC-Maximum
- BMS-Limit-Erkennung (SoC-Limit Status)
- Notladefunktion (Emergency)
- Hard-Sync mit realem Zendure AC-Modus
Diese README bietet eine Übersicht.
Für Details (inkl. Screenshots, Beispiele, FAQ) siehe:
- Anleitung (V2)
- GitHub Issues für Bugs & Feature-Wünsche
- Pull Requests willkommen
Battery SmartFlow AI – erklärbar, stabil, wirtschaftlich.


