[Modul] E3DC Stromspeicher

Genau so etwas nutze ich, nur eben mit GUI und für Windows.

Hi, hab vor ein paar Tagen einen S10X in Betrieb genommen, hat 21 kWh, es ist so ein System mit dem neuen 700V Hochvoltsystem. Heute hab ich das im Symcon mit dem Modul angelegt und Tatsache, es kommen Werte. Hat mir jemand eine schöne Idee für eine geschmeidige Visualisierung? Ich verwende auch die Wallbox von OpenWB, da wird der E3DC ja auch ganz gut integriert.

Auf jeden Fall aber ein herzliches Dankeschön für dieses gute Modul.

Moin zusammen,
beim Modul vom E3DC bekomme ich ständig die nachstehende Fehlermeldung.
IPS läuft als Version 6.2 bei mir im Docker auf der Synology. Das Modul E3DC ist auf dem aktuellen Stand (Version 1.6). Wie bekomme ich den Fehler weg und was hat er zu bedeuten?

17.11.2022, 23:36:39 | TimerPool | S10 E (cyclicDataUpdateSlow):
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 266240 bytes) in /var/lib/symcon/modules/.store/e3dc/libs/myFunctions.php on line 475
17.11.2022, 23:37:40 | TimerPool | S10 E (cyclicDataUpdateSlow):
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 266240 bytes) in /var/lib/symcon/modules/.store/e3dc/libs/myFunctions.php on line 475
17.11.2022, 23:38:40 | TimerPool | S10 E (cyclicDataUpdateSlow):
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 266240 bytes) in /var/lib/symcon/modules/.store/e3dc/libs/myFunctions.php on line 475

Vielen Dank für eure Unterstützung.

Hallo @guwen ,

in welchem Intervall rufst du die Werte ab? Kleiner 10 Sekunden?
Deine HW ist nicht geeignet für dein gewähltes Abrufintervall…
Stelle 10 Sekunden ein und der Fehler wird Morgen verschwinden

So. Feierabend. Habe nachgeschaut. Abfrageintervall ist auf 2 sek. eingestellt.
Ich probiere die 10 sek. aus. Aber befriedigend ist das nicht, da es die Berechnung der Wirkarbeit verschlechtern wird.

Hi,

Von welcher hardware sprichst du? Der Speicher kann deutlich mehr abfragen verkraften. Ich habe ein paar datenblöcke als Blockabfragen erstellt und mal zum testen auf eine sekunde gehabt. Lief soweit ganz gut. Hab es jetzt auf 5 sek. u d läuft immer noch ohne murren.

@paresy
Kann man auch über ein modul blöcke abfragen? Ich kann mir vorstellen das dies die performance steigert.

Viele grüße

Klar kann der E3DC Speicher mehr.
Sein Server hat zu wenig Arbeitsspeicher.
Er muss seinen Server an seine Ansprüche anpassen oder auf die 2-3% Genauigkeit verzichten…

Die Aussage passt nicht.
Der RAM ist pro PHP Thread auf 32MB ab Werk begrenzt. Egal wie viel RAM der Host hat.
Michael

Dann verstehe ich nicht, warum es leistungsstärkere Server mit 1 Sekunde schaffen und seiner nicht mit 2 Sekunden.
Werde beim nächsten Update das Minimum auf 5 stellen.

Vielleicht weil betreffen User das Limit hochgeschraubt haben?
Der Fehler tritt beim Zugriff auf das Archiv auf. Vielleicht wird da, durch den rekursiven Aufruf der Funktion, einfach zu viel Speicher belegt.
Michael

Genau, deswegen soll er einmal auf 10 Sekunden stellen, dann sollte das Problem behoben sein.

@guwen
Sollte das Problem heute behoben sein, durch hochstellen des Abrufintervalls, kannst du ja mal den Hinweis von @Nall-chan verfolgen: Hochstellen des PHP Thread Speicher-Limits. Abfrageintervall wieder reduzieren und prüfen, ob der Fehler erneut auftritt oder eben nicht mehr.
Rückmeldung in diesem Thema wäre natürlich nett.

Moin,
entschuldige die späte Antwort. Hat ein „kleines“ Problem mit meiner Syno RS815+. Die hat sich nämlich spontan dazu entschlossen den Dienst zu quittieren. Glücklicherweise habe ich den Hinweis zum Bug des Intel Atom C2538 gefunden, und der Fehler konnte schlussendlich mit einem 100Ohm Widerstand gelöst werden.
Nun kann ich mich wieder dem Abrufintervall widmen :slight_smile:
Mit 10 Sek. treten aber keine Fehler mehr auf.
Dem Hinweis von @Nall-chan gehe ich morgen nach, wenn ich wieder zuhause bin.
Ich melde mich auf jeden Fall dazu.
Schicken Sonntag euch allen.

1 „Gefällt mir“

Moin,
Welche(n) Parameter kann/soll ich denn wo anpassen um das zu testen?

Du kannst versuchen das memory_limit in der php.ini anzupassen:

Aber vorher ausrechen ob, wenn alle PHP-Threads das maximale an Speicher nutzen würden (eigentlich nie der Fall), der verfügbare RAM ausreichend ist.
Das wäre unter den Spezialschaltern der Wert ThreadCount.

Also mal eben bei memory_limit=1G einzutragen ist keine gute Idee :smiley:
Ich persönlich musste den Wert mit den 32MB nie anpassen. Und würde es auch nicht machen.

Dafür habe ich ThreadCount auf 100 stehen, da ich sehr viele PHP-Module im Einsatz habe.

Michael

OK, verstanden.
Der ThreadCount steht bei mir auf 10 (ist, denke ich, die Standardeinstellung).
In der PHP.ini habe ich den Wert für memory_limit nun von 32M auf 128M gesetzt. Mal langsam erhöhen und schauen was passiert. Parallel habe ich für den E3DC den Abfrageintervall auf 5 sek. gesetzt. Bin gespannt, was kommt.
Der Speicher und die Systemauslastung sollte nicht das Problem sein.

50 ist Standard.
10 ist kleiner als das Minimum (50?), öffne den Tab PHP Informationen in der Konsole. Dann siehst du wie viele wirklich reserviert sind.
Michael

Gemacht: 25 IDs.
Und wenn ich mir das eine Weile ansehen, dann kommen da bei mir <5 gleichzeitig.
Mit PHP habe ich halt auch noch nicht so viel „gewerkelt“.

@Nall-chan und @Brovning
Habe den Aktualisierungsintervall erst auf 5 sek. gestellt → Keine Fehler
Gestern Abend dann wieder auf 2 sek. → bis heute morgen keine Fehler.
Mit memory_limit = 128M in der php.ini läft es super, und die kleine DS720+ mit 6GB RAM stört das auch nicht.
Danke euch.
Ach ja, und bitte das min. des Aktualisierungsintervalls nicht auf >=5sek setzen. Lieber den Hinweis auf die php.ini in die Doku schreiben. Danke.

Hallo @guwen,

freut mich, dass es bisher klappt, aber für eine 100%ige Aussage musst du einen vollen Tag abwarten (von 0:00 -23:59).