Energie Manager (ehemals Energieverbrauch Optimierer)

Nach dem letzten Update des Optimierers erscheint beim Öffnen der Konfiguration eine Fehlermeldung (siehe Anhang) und der Optimierer lässt sich danach nicht öffnen. Seine Arbeit verrichtet er aber weiterhin, so wie es aussieht.
Ein anderer Optimierer, den ich noch laufen habe, lässt sich aber weiterhin öffnen.
Fehlermeldung.txt (12,1 KB)

Bei mir, mit einem ungeregelten Speicher, im Abstand des Intervalls diese Fehlermeldung.
Ebenfalls habe ich bei allen Verbraucher die Variable für den aktuellen Verbrauch ausgewählt.

03.04.2025, 17:27:48 | TimerPool            | Energieverbrauch Optimierer (UpdateOptimizer): 
Fatal error: Uncaught DivisionByZeroError: Division by zero in C:\ProgramData\Symcon\modules\.store\de.symcon.energyoptimizer\EnergyOptimizer\module.php:2517
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.symcon.energyoptimizer\EnergyOptimizer\module.php(1072): EnergyOptimizer->getMinimumUsageUpdate(Array)
#1 C:\ProgramData\Symcon\modules\.store\de.symcon.energyoptimizer\EnergyOptimizer\module.php(1294): EnergyOptimizer->enableWithCapacity(Array, 4206.0, false)
#2 C:\ProgramData\Symcon\modules\.store\de.symcon.energyoptimizer\EnergyOptimizer\module.php(1676): EnergyOptimizer->updateWithCapacity(Array, 4206.0, Array)
#3 C:\ProgramData\Symcon\modules\.store\de.symcon.energyoptimizer\EnergyOptimizer\module.php(417): EnergyOptimizer->updateEnergy()
#4 C:\ProgramData\Symcon\scripts\__generated.inc.php(1315): EnergyOptimizer->Update()
#5 C:\Windows\System32\-(1): EO_Update(36430)
#6 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\de.symcon.energyoptimizer\EnergyOptimizer\module.php on line 2517

Auch Darstellungen sollten mittlerweile funktionieren. Ich schaue mir das an.

Edit: Ah, das macht die Visualisierung, nicht das Modul selbst… Da müsste sowieso nochmal was für nicht-schaltbare Speicher angepasst werden, da diese ja nunmal auch nicht „An“ oder „Aus“ geschaltet werden können. Da ist das dann ja eher ein „Optimieren“ oder „Ignorieren“. Funktionieren sollte es trotzdem alles, ich passe das aber in der Visualisierung an. Ich bin aber ehrlich gesagt nicht sicher, ob das visu-seitige Update noch in die 8.0 kommt…

Magst du mir dazu ein Debug Log schicken? Das sollte natürlich nicht passieren, ich frage mich was da schiefläuft…

Ah, da habe ich an einer Stelle den Fallback vergessen. Da wurde ja ein neues Feld hinzugefügt, welches in deiner Konfiguration halt noch nicht drin ist. Damit sollte der Optimierer aber umgehen können und kann es auch in der nächsten Version.

Oh, da stolpert er darüber, dass bei der Darstellung Minimum = Maximum ist. Das sollte er aber natürlich nicht, ich kümmere mich darum.

Die versprochenen Fixes sind jetzt online.

1 „Gefällt mir“

Irgendwie verstehe ich den Speicheroptimierer nicht oder ich habe einen Fehler in meiner Konfiguration. Das Laden des Speichers funktioniert, das tat es schon immer.
Aber der Speicher wird nicht entladen. Aus den Beschreibungen und den Weiterentwicklungen inkl. der neuen Parameter, z.B. Energiespeicher direkt schaltbar, würde ich es so verstehen, dass bei zu wenig verfügbarer Energie im Haus der Speicher entladen wird statt aus dem Netz zu beziehen. Aber das tut er nicht.
@mknee Da wir beide das mit dem Victron probieren, hast du jetzt das Entladen geschafft? Wie gesagt, 2700 - ESS control loop setpoint ist die notwendige Variable.

@Ubari
Sorry, bin noch nicht richtig zum Testen gekommen.
Habe die Variable 2700 - ESS control loop setpoint mal versucht und wie bei dir, wird der Speicher nicht entladen. Bei Überschuss konnte ich noch nicht testen.
Ich lasse das Ganze im Moment wie es ist, ESS über Victron und meine Verbraucher Regelung über meine OpenWB Wallbox.
Die Konfigurierung des Speichers und meiner beiden Wallboxen OpenWB und GoE Charger machen Probleme. Das will einfach nicht funktionieren. Vielleicht bin ich einfach zu blöd dazu. :face_with_peeking_eye:
Ich würde mir wünschen, dass es dazu ein ausführliches, interaktives Webinar geben würde. Die Konfigurierung des Energieoptimierers ist doch ein sehr komplexes Thema.

Ach ja, die Variable 2700 - ESS control loop setpoint ist doch eigentlich, ob ich Nulleinspeisung, die Energie ins Netz schieben, oder vom Netz beziehen will. Ist das wirklich die richtige Variable? Dazu muss ich bei Victron das ESS aktiv lassen und kann nicht auf externe Regelung stellen. Eigentlich sollte doch dann der Energieoptimierer die Regelung übernehmen?


Bei mir schon wieder ziemlich viel rot seit dem letzten bzw. vorletztem update.

05.04.2025, 15:21:12 | TimerPool | Energieverbrauch Optimierer (UpdateOptimizer):
Warning: Undefined variable $maxUsage in /var/lib/symcon/modules/.store/de.symcon.energyoptimizer/EnergyOptimizer/module.php on line 1949

Habe aber eigentlich keine „undefininierte Variable“. alles eingetrgen

Irgendwas scheint hier mit den Bedingungen nicht zu funktionieren.
Es sind keine Mindestlaufzeiten definiert.
Der Optimierer erkennt zwar richtig, dass nicht mehr alle Bedingungen erfüllt sind, trotzdem wird weiterhin angesteuert.

Der Energieverbrauch Optimierer schaltet Energiespeicher (noch) nicht zum Entladen, das muss die Batterie selbst machen. Wenn die Batterie sich aber bereits entlädt, dann wird dies in die Optimierung mit einbezogen und die entladene Leistung wieder frei gemacht. Ich habe aber noch als Thema offen, dass der Optimierer auch aktiv den Speicher entlädt.

Das sollte rein kosmetisch sein, soll aber natürlich trotzdem behoben werden. Der Fehler liegt nicht an deiner Konfiguration sondern da hatte ich einen kleinen Dreher. Ich habe meine Tests auch mal optimiert, damit solche kosmetischen Fehler besser auffallen.

Magst du mir von dem Vorgang ein Debug Log schicken? Dann schaue ich mal was da los ist.

Oh man, das hatte ich auch nicht auf dem Schirm… deshalb funktionierte das nicht mit meinem Multiplus II. @mknee ich hatte auch den Victron auf externe Steuerung und über Modbus ID 246 (Variable weiß ich grad nicht) gesteuert.
Grüße

Alles klar, danke für die Aufklärung. Aber was ist dann derzeit der Unterschied zwischen „Direkt schaltbar“ und „…indirekt schalten“?

„Direkt schaltbar“ bedeutet der Energiespeicher ist schaltbar und der Optimierer stellt ihn auf X% laden. Indirekt schalten ist für Energiespeicher, die zwar einen Status haben, aber nicht direkt durch Symcon schaltbar sind. Für diese Energiespeicher lässt Symcon dann beispielsweise gezielt Energie frei, damit diese dann durch die Automatik des Speichers abgegriffen wird.

Wurde in dem letzten oder vorletztem Update was an der Logik geändert ? Ich habe seit längerem nichts in den Settings geändert und das hat die letzten 1…2 Wochen jetzt wirklich extrem gut funktioniert, aber jetzt lädt er wieder das Auto obwohl gar nicht genug Sonne da ist und lädt auch sogwas was aus dem Akku.

PV: 3400W
Überschuss: 4100 W ?? Komisch.
Wallbox: 6A

Dump anliegend.
dump (1).txt (40,5 KB)

Jetzt hab ich auch ein eher neues Problem.

Ich hab 3 Geräte die darüber gesteuert werden. Derzeit ist nur ein 3,5kW Heizstab aktiv den ich 0-100% regeln kann. Der ist auf Prio 1 gestellt aber der einzige der auf Automatik steht.

Problem:
Obwohl der Überschuss laufend über 4000 W liegt, nutzt der Heizstab nie die volle Energie. Und ich denke ich hab nun gefunden warum nicht.
Offenbar nimmt der auch die Aktuellen Verbräuche der anderen beiden (oder mindestens den von Prio 1 obwohl die gar nicht eingeschaltet sind.
Das macht aber doch keinen Sinn, denn der laufende Verbrauch der WP taucht ja gar nicht bei der Überschüssigen Energie auf.

Das Gerät ist eine Wärmepumpe die dann eben zwischen 1000 und 3000 W braucht in ihrem normalen Betrieb (nicht über den Energie Manager).
Immer wenn die WP gerade mehr braucht, reduziert der Heizstab.
Die Funktion der WP über den Energie-Manager ist dass wenn aktiv würde die in einen „Überladungsmodus“ gehen, sie nimmt sich dann deutlich über 5000 W wenn ich genug Überschuß hätte.
Aber sie braucht natürlich auch im Normalbetrieb Leistung von 0 bis teils 4000 W. Daher darf der Wert nicht ein weiteres mal abgezogen werden wenn gar nicht auf aktiv gestellt.

Denke das hängt mit einer für diesen Fall falschen Berechnung der verfügbaren Energie zusammen, die auch nicht aktiv Geräte in die Berechnung mit einbezieht.

Cheers Seppm

EDIT: Jetzt hab ich es gut gesehen. Wenn ich den Heizstab de-aktiviere im Energie Manager, dann bleibt der geplante Verbraucht trotzdem die Summe der aktuellen Leistungen von Wärmepumpe und Heizstab.
Daher würde ich annehmen dass die Berechnung des geplanten Verbrauches nicht stimmt, denn was soll geplanter Verbrauch sein wenn alle Geräte im Manager deaktiviert sind.

An der prinzipiellen Logik wurde nichts geändert, aber es kann natürlich sein, dass irgendwelche Implementationsdetails hier Nebeneffekte haben. Deine Geräte sind aufgrund von Mindestlaufzeit oder Nachlaufzeit gesperrt und laufen ansonsten auf Minimum. Von den Rückgaben her wirkt es so, als wenn du Variablen für den aktuellen Verbrauch eingestellt hast. Ist das korrekt? Ich würde auch raten, dass das Verhalten über eine längere Zeit als die eingestellte Nachlaufzeit eintritt. Kann das sein? Ich prüfe mal, ob das „Aufziehen“ der Nachlaufzeit vielleicht unter bestimmten Bedingungen zu übereifrig ist…

EDIT: Hat sich erstmal erledigt da ich auf Absolut gestellt hatte //

Mmmh, das Verhalten ist ziemlich eindeutig, vor allem mit dem was ich beim EDIT schrieb. Denn das war früher nicht. Da war Geplanter Verbrauch bei 0 wenn alle Geräte inaktiv gestellt waren oder nicht automatisch aktiv waren.
Nun nimmt er da den Wert des je aktuellen Verbrauches. Aber das macht mE keinen Sinn und falls es sinnvolle Fälle gibt, müsste man es konfigurierbar haben denn das resultierende Verhalten macht den Manager derzeit leider unbrauchbar.

Die Einstellung der WP ist auf 30 Min Mindestlaufzeit, aber wie gesagt, die ist inaktiv. aber natürlich hat die trotzdem Verbrauch, zB 2000 W. Der soll aber nicht gezählt werden wenn ich die Überhöhung nicht eingeschaltet habe, wo sie dann zB 5000 W oder mehr braucht.
Das ist sicher ein Sonderfall weil hier ja nicht die Leistung der WP geregelt werden kann (wie zB beim Heizstab) sondern die WP läuft mit ihrem aktuellen Verbrauch und wenn ich über 5000 W freie Kapazität habe, dann schaltet die für 30 Min auf „Überladung“ und braucht dann zwischen 5 und 8000 Watt.

Der Heizstab ist auf 60 Sec Mindest und 60 Sec Nachlauf eingestellt. Wenn das ein Problem ist, kann ich das ändern.

Ich denke die Rechnung nimmt auch inaktive Leistungen mit rein.
Sehe ich ja gerade gut:
WP 26 W
Heizstab 14 W
Geplanter Verbrauch sagt er 40W. Und das ist mE nicht richtig.

Wie könnte ich es noch erklären?

Cheers Seppm

Meine vorherige Antwort ging an @thezepter . Ich hatte die geschrieben und abgeschickt bevor ich deine Nachricht gesehen hatte :slight_smile:

Also, der Energie Manager nimmt zur Berechnung der verfügbaren Energie im absoluten Modus die anliegende Verfügbare Leistung und zieht davon den aktuellen Verbrauch von allen Geräten ab, egal ob diese automatisch oder manuell geschaltet werden. Das wirkt für mich auch logisch. Wenn ich 4000 W produziere, aber meine manuell aktiv geschaltete Gaming Anlage 3,5 kW nutzt, dann sollte der Manager auch nur versuchen die übrigen 500 W unterzubringen. Das wäre zumindest mein Verständnis.

Geplanter Verbrauch ist hier zu verstehen als das, was der Energie Manager meint, was alle Geräte nach dem aktuellen Schaltvorgang verbrauchen. Das beinhaltet halt auch Geräte, die nicht automatisch sind. Wenn also der Manager beispielsweise deinen Heizstab automatisch auf 50% schaltet wird der geplante Verbrauch 1,75 kW (50% Heizstab nach Konfiguration) plus der aktuelle Verbrauch vom Heizstab. Wenn du dafür eine Variable hast, dann wird also deren Wert genommen. Ansonsten wird das auf Basis des eingestellten Verbrauchs und dem Wert der Schaltvariable berechnet. Bei der nächsten Aktualisierung wird dann auch für den Heizstab der aktuelle Wert genutzt, da sich dieser wahrscheinlich bis dahin aktiviert hat.

Und ja, das wurde tatsächlich mal angepasst. Früher wäre dem Energie Manager egal gewesen, dass ein weiteres Gerät manuell läuft und massenhaft Energie verbraucht. Die Solaranlage produziert etwas und das wurde auf die automatischen Geräte verteilt. In deinem letzten Beispiel hätte der Manager also den Heizstab auf 3500 Watt gehalten und damit zu einem Einkauf von 1500 Watt geführt. Wäre das wirklich deine bevorzugte Lösung gewesen? Der Manager hat als Zielsetzung ja eine sinnvolle Verteilung des selbst produzierten Stroms und möchte einen Energiebezug ja gerade verhindern.

OK, ich hab noch nicht geschafft das Problem zu erklären.

… ich hab den langen Part rausgelöscht weil der Modus auf Absolut stand und dies die Probleme erklärte … (dann spar ich im Thread lieber Platz)

Ja, ich habe die aktuelle Wirkleistung in W per Variable eingebunden und eine Nachlaufzeit von 300 Sekunden

Ich beobachte das auch gerade etwas mehr. Liegt vielleicht auch an den Wolken, die das ganze verursachen. ich beobachte weiter

Ich habe nochmal geprüft, aber die Nachlaufzeit sollte im Laufe des Verhaltens aus deinem Debug nicht wieder aufgezogen werden. Ab der nächsten Version logge ich das Erneuern der Nachlaufzeit auch mal, damit ich auch ganz sicher sein kann :wink:

1 „Gefällt mir“