INFO: SFML Smart Charging kommt - Intelligentes Laden

Dynamisches Smart-Charging (STATS) für Akkus

Mit diesem Update führe ich die intelligente und dynamische Ladesteuerung für Akku, EV,.. ein. Ziel ist es, Solarstrom konsequent zu bevorzugen, den kommenden Tag vorauszusehen und Netzladung nur dann zuzulassen, wenn sie wirtschaftlich sinnvoll ist und keinen Solarertrag verdrängt.

Wie funktioniert es?

Das Smart-Charging berechnet (Hubble KI) jede Nacht einen dynamischen Ziel-Ladezustand (Ziel-SOC) für die Batterie und steuert das Laden automatisch:

  1. Hausverbrauchs-Analyse (3-Tage-Schnitt): Hubble ermittelt automatisch den durchschnittlichen Strombedarf des Hauses der letzten 3 Tage und teilt /erkennt Tag- und Nachtverbrauch.
  2. Solar-Überschuss-Prognose: Die SFML-Solarprognose für den kommenden Tag wird mit dem erwarteten Hausverbrauch tagsüber abgeglichen. Der erwartete Solar-Überschuss wird errechnet.
  3. Dynamischer Ziel-SOC: Um Platz für den Solar-Überschuss zu lassen, wird die Batterie vor Sonnenaufgang nur so weit aus dem Netz geladen, wie nötig.
  • Beispiel: Ist morgen viel Sonne vorhergesagt, bleibt der nächtliche Ziel-SOC niedrig (z. B. auf dem Minimum von 10-20 %), damit der Akku tagsüber voll durch Solarstrom geladen werden kann. Ist morgen schlechtes Wetter prognostiziert, wird der Akku bis zum konfigurierten Maximum aus dem Netz geladen.
  1. Schalter- & Preissteuerung: Sobald der Strompreis unter deine definierte Schwelle fällt, wird der Ladeschalter in Home Assistant automatisch eingeschaltet. Er schaltet sich sofort aus, wenn der dynamische Ziel-SOC erreicht ist oder der Strompreis wieder zu teuer wird.

Welche Entitäten werden benötigt?

Die Konfiguration erfolgt ganz einfach über den überarbeiteten Options-Flow:

  • Batterie-SOC-Sensor (Prozent): Der Sensor für den aktuellen Ladezustand deiner Batterie (0–100 %).
  • Ladeschalter / Ladesteuerung (Schalter): Eine Schalter-Entität (z. B. ein switch oder input_boolean), die den physischen Ladevorgang deiner Batterie in Home Assistant startet bzw. stoppt.
  • Strompreis-Sensor Ein Sensor, der den aktuellen dynamischen Strompreis liefert bevorzugt GPM aber es geht auch z. B. von Tibber oder Octopus.
  • Batterie-Kapazität (kWh): Zur Umrechnung der Solarprognose (kWh) in SOC-Prozentwerte.
  • Min/Max SOC & Preisgrenze: Deine Grenzwerte, ab wann Strom als “günstig” eingestuft wird und in welchem Bereich sich der Ziel-SOC bewegen darf.
5 „Gefällt mir“

Wird es möglich sein, Akku und Großverbraucher (z. B. EV) so zu steuern, dass die Einspeisebegrenzung des Wechselrichters zur Mittagszeit aktiv umgangen wird – also Solarüberschuss bevorzugt in den Akku oder ins EV fließt, statt gedrosselt zu werden? Und lässt sich die Einspeisung zeitlich so verschieben, dass ich lieber vormittags voll einspeiße als mittags gegen die Begrenzung anzulaufen?

1 „Gefällt mir“

Nein, dass wird aktuell nicht möglich sein. Aktuelle funktion ist maximales Geldsparen in der klassischen Kombination Solar + Akku + Dynamischen Tarif - ohne Automationen zu bauen ud vollautomatisch und Integriert.

Wie funktioinert es im Detail und warum ist es Automationen überlegen:

Hinweis: Fortführung / weitere Erklärung zu den Hinweisen von @Kaysen899 @Joachim-xo @lemuba @Johnny_1993 @RobertoCravallo um es von dem Update-Thread zu entkoppeln.

Die Idee dahinter: Wir alle wollen den Akku vollautomatisch und intelligent aus dem Netz laden, wenn der Strompreis (z. B. bei Tibber oder Awattar) extrem günstig ist – aber ohne dabei die eigene Solarproduktion am Tag zu blockieren oder den Akku unnötig zu stressen. Einmal einrichten und danach einfach vergessen. Hubble übernimmt die komplette Logik und versucht so das optimum an Preisersparnis und Akku-Lebensdauer herauszuholen. Hubble begreift den Akku als eigenständigen Part in eurer eigenen Energie-Matrix.. keine Sorge ich fange nicht wieder mit Star-Trek an … Grüße an Joachim und Roberto

Hier ist eine einfache Erklärung, wie es im Hintergrund für euch arbeitet:


Zone 1:

Der Nacht-Modus (Standard Smart-Charging)
Nachts (habe ich definiert von Sonnenuntergang - Sonnenaufgang), wenn keine Sonne scheint, prüft das System den Preis-Forecast für die kommenden Stunden. Fällt der Strompreis unter eure eingestellte Schwelle (max_price), wird der Akku aus dem Netz geladen.

Das Besondere:
Das System lädt den Akku nachts fast nie stumpf auf 100%. Es berechnet anhand der Wetterprognose für den nächsten Tag und eures durchschnittlichen Hausverbrauchs einen dynamischen Ziel-SoC. Es wird nur so viel Netzstrom geladen, dass am nächsten Tag noch exakt genügend Platz im Akku frei bleibt, um den erwarteten Solar-Überschuss komplett aufzunehmen. Um es so effizient wie möglich zu machen schaut Hubble auf den Wochentag und vergleicht ihn mit bereits bekanntem Wissen. Wochenende ist eben etwas anderes als Wochentags.

Zone 2:

Der Tag-Modus (Reine Solar-Priorität)
Tagsüber (von Sonnenaufgang bis Sonnenuntergang) wird das normale Netzladen komplett blockiert. Selbst wenn der Börsenpreis mittags unter euren max_price rutscht, schaltet sich die Netzladung nicht ein. Der Grund ist einfach: Wir wollen den Akku tagsüber für euren eigenen, kostenlosen Solarstrom freihalten, statt ihn mit Netzstrom zu blockieren.

Zone 3:

Die Defizit-Steuerung (24/7 aktiv bei Preis-Dumping)
Es gibt Tage, an denen der Strompreis extrem in den Keller rutscht (z. B. bei viel Wind im Netz oder Negativpreisen). Dafür gibt es den neuen Parameter force_charge_price (z. B. auf 10 Cent eingestellt).

Fällt der dynamic pricing Preis unter diese Schwelle, schaltet das System auf Zwangsladung um und lädt den Akku bis zum Maximum (max_soc) auf – allerdings nur, wenn die aktuelle Solarleistung euren Hausbedarf gerade nicht decken kann (solares Defizit).

  • Sonne reicht aus:
  • Scheint die Sonne kräftig und versorgt euer Haus komplett, bleibt die Netzladung aus. Der Solarstrom hat immer Vorrang.
  • Sonne reicht nicht aus: Ist es stark bewölkt und das Haus zieht mehr Strom als die Solarzellen liefern, schaltet das System sofort die Netzladung hinzu. So nutzen wir die billigen Stunden perfekt aus, wenn vom Dach nichts kommt.

VORTEIL: So werden Wechslerverluste minimiert und zum Beispiel Großverbrauher optimal zum günstigsten Preis geladen.


Schutz vor ständigem Hin- und Herschalten (Hysterese)

Um eure Hardware und das BMS (Batteriemanagementsystem) zu schonen, habe ich zwei Sicherheits-Hysteresen eingebaut. Das verhindert, dass der Lade-Switch ständig im Sekundentakt an- und ausgeht (z. B. wenn der Akku bei 99% steht, weil das BMS nicht exakt auf 100% kalibriert):

  1. Abschalt-Puffer: Die Ladung stoppt immer 2% vor dem eigentlichen Ziel (also bei 98% statt 100% bzw. bei 78% statt 80% Ziel-SoC).
  2. Einschalt-Puffer: Die Ladung startet erst wieder, wenn der Akku mindestens 7% unter das Ladeziel abgefallen ist.

Wie wird es eingerichtet?

In den Integrationseinstellungen findet ihr unter den Smart-Charging-Optionen folgende Kernwerte:

  • Batterie-Kapazität (kWh): Eure nutzbare Akkugröße.
  • Preis-Schwelle günstig (max_price): Der Preis, ab dem nachts geladen werden darf (in ct/kWh).
  • Preis-Schwelle extrem günstig (force_charge_price): Der Schwellenwert für die Zwangsladung bei solarem Defizit (in ct/kWh).
  • Ladeschalter: Der Switch in Home Assistant, mit dem eure Batterie die Netzladung steuert.

3 „Gefällt mir“

Genau dass, was ich immer schon gesucht habe und voll dahinter stehe.
Ich habe das bei mir so ähnlich auch umgesetzt, allerdings mit viel Mühe und Gefrickel.

Wenn das so hinhaut, wie du es beschreibst, kann ich ja tagsüber meine dynamische Akkusteuerung weiterhin einsetzen, (Akku so spät wie möglich voll) ohne das sich da was in die Quere kommt?
Das war in Verbindung mit evcc und meiner Steuerung bei Netzladen öfters der Fall, da beide über Modbus auf die Batterie zugreifen und diese steuern.
Bin sehr gespannt und freue mich drauf :hugs:

1 „Gefällt mir“

HUBBLE hat nun eine Anleitung dafür und du kannst vorher Berechenen / Anzeigen lassen wie es sich bei Dir auswirken würde.. einfach die Slider Verschieben..

(ich hatte ja angekündigt Hubble immer weiter aufzubohren)

2 „Gefällt mir“

Hallo Tom,

auch wenn ich das neue Feature aktuell nicht nutze, würde ich gerne besser verstehen, wie es funktioniert. Wie bzw. über welchen Zeitraum wird der durchschnittliche Hausverbrauch ermittelt? Bei uns kann dieser beispielsweise über 2–3 Tage bei lediglich 10–15 kWh pro Tag liegen und anschließend für ein oder zwei Tage auf 60–80 kWh pro Tag ansteigen – je nachdem, wann unsere BEVs geladen werden.

Anders betrachtet: Wir haben lediglich einen 10-kWh-Batteriespeicher, dem drei BEVs mit einer Gesamtkapazität von rund 130 kWh gegenüberstehen. Deren Ladebedarf fällt zeitlich sehr unterschiedlich und oft nicht vorhersehbar an.

Kann das neue Smart-Charging-Feature unter diesen Voraussetzungen überhaupt sinnvoll greifen bzw. einen echten Mehrwert bieten? Oder stößt der Algorithmus bei einem derart großen Ungleichgewicht zwischen Hausspeicher- und Fahrzeugbatteriekapazität an seine Grenzen?

Leider sind V2G, V2H und ähnliche Konzepte aktuell noch nicht wirklich praxistauglich bzw. flächendeckend verfügbar, sodass die Fahrzeugakkus für solche Optimierungen heute kaum nutzbar sind.

VG

Hallo @lemuba

Es ist kompliziert :slight_smile: Die KI betrachtet nicht nur " Tage" und “Verbräuche” sondern auch die Gewohnheiten. Hinzu kommen Jahreszeiten, Mittelwerte, Spitzenerkennung, … das ist mit einer einfachen Automation oder Mathematischen Berechnung (statisch) nicht zu machen. Wie es genau funktioinert ist mein Geheimnis. → Dafür bitte ich um Verständnis.. aber es ist sehr mächtig - soviel kann ich Dir sagen und es hat NICHTS mit einer Automation zu tun. Auch kann ich Dir sagen, dass ist erst der “erste” Schritt!