[Modul] E3DC Stromspeicher

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).

Moin nochmals,
bis jetzt noch immer keine Fehlermeldung aus Richtung E3DC.

1 „Gefällt mir“

Hallo Brovning,

ich wollte kurz einen Dank da lassen, super Modul hat auf Anhieb ohne jedes Problem geklappt.

Seit ein paar Tagen habe ich jetzt einen S 10 X im Einsatz. Mich würde interessieren, kann man eigentlich auch festlegen wie voll der Akku geladen werden soll? Also z.B. nur 95%?
Normalerweise sollte doch ein Akku nicht 100% geladen werden, oder? Oder sehe ich das falsch?

Danke und viele Grüße
Stephan

1 „Gefällt mir“

E3DC ist extrem an der Einhaltung der versprochenen Lebenszyklen der Akkus interessiert und hat sein Batteriemangement in diese Richtung ausgelegt. Abhängig von der eingesetzten Zellchemie werden die Akkus intern nur so voll geladen, dass den Akku nicht (unnötig) schädigt und das über die ausgelegte Lebenszeit noch ein bisschen Wasser unter dem Kiel ist.

Du kannst das System in den vorgeschlagenen Grenzen bedenkenlos einsetzen.

Vielen Dank für deine schnelle Antwort.

Alles klar, dann muss ich mir über die obere Ladegrenze keine Gedanken machen. Freut mich zu hören.

Viele Grüße und ein schönes Wochenende
Stephan

mehr Gedanken solltest Du Dir über die untere Ladegrenze machen, wenn Du den Motorschalter für die Notstromversorgung installiert hast.
Im Winterhalbjahr wirst Du den Speicher je nach Größer der PV, der Batterie und Deines Hausverbrauches nicht voll bekommen.
Ich mache es so, dass ich ab November, bis Mitte/Ende Februar immer 50% in der Batterie belasse, damit ich im Falle eines Stromausfalls noch genügend Strom mindestens für ein paar Stunden habe. Leider kann man das nicht über die App einstellen, sondern nur direkt am Gerät.

Hi,

Es gibt im git ein sehr cooles projekt namens rscp2mqtt dieser greift per rscp direkt auf die anlage zu und kann auch schreiben.

Damit kann man bspw auch die ankage anweisen, den akku aus dem netz zu laden. Interessant wenn man einen dynamischen stromambieter (tibber, awattar etc) hat. Wenn netzstrom billig, akku laden.

Viele grüsse

Hallo @firewire ,

vielen Dank! Freut mich, wenn dir mein Modul weiterhilft.

Wie von @tango geschrieben, musst du dir grundsätzlich bzgl. Batterielebensdauer keinerlei sorgen machen.
Wie aber von @kris geschrieben, macht es durchaus Sinn, die Ladesteuerung selbst zu übernehmen. Bspw. morgens die Akkuladung zu stoppen, um mittags Ladereserve zu haben, damit man nicht in die 70% Abregelung läuft oder ähnliches.

Siehe: [Modul] E3DC Stromspeicher - #132 von Brovning

Ich steuere die komplette E3DC Lade-/Entladesteuerung automatisiert über IPS in Zusammenspiel mit meinem Modul. Als RSCP Schnittstelle verwende ich das Programm „rscpgui“ auf einem dauerhaft laufendem Windows Server (solche Programme gibt es bestimmt auch für Unix). Das Programm öffnet eine MQTT Schnittstelle. Über IPS kann ich per MQTT die Lade- und Entladewerte setzen und das rscpgui Programm sendet die Werte per rscp an den Speicher.