NEWS
IOBroker Anbindung an einen Kostal Plenticore
-
Hier mal ein tolles Beispiel, dass die "intelligente" Batteriesteuerung selbst unter diesen Bedingungen nicht vernünftig arbeitet:
Die grüne Linie knickt am ersten Tag ganz leicht ab, am zweiten und dritten Tag ganz deutlich. Das ist der Moment, wo die Anlage auf 70% begrenzt. Die Batterie wird also immer noch zu schnell geladen am Vormittag. Dadurch sind es schon jetzt 2-3 Stunden, in denen etwa 1-2,5kW verloren gehen. Im Sommer wird das noch extremer sein, wenn die Batterie in der Nacht nicht bis 5% entladen wird. Ich hoffe wirklich, dass die das endlich gebacken kriegen, den Ladestrom manuell einstellbar zu machen.
Hier die dazugehörige Ladekurve der Batterie. Viel zu steil, viel zu früh.
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Wie sehen bei euch denn die Werte in den letzten Tagen aus? Bei mir ist die Kurve sehr, sehr nah an der Realität, da die Tage jetzt natürlich wolkenlos waren und entsprechend die Prognose fast gleich Maximum war.
Bei mir läuft alles auf Max. Also Prognose = Max und Anlage schießt zT darüber hinaus und wird dann technisch bei 5,5 kW gedeckelt. Alle anderen Graphen habe ich in die Dropbox. Bei diesen Bedingungen ist es also recht einfach die Kurven gleich zu haben.
-
@Diginix Das mit den fehlenden Prognosewerten verstehe ich ehrlich gesagt nicht. Kannst du sagen, welche Werte dann alle fehlen und welche noch da und aktuell sind? Vielleicht kann ich so eingrenzen, was da nicht klappt.
-
@StrathCole Lies mal mein editierten Post. Du hast wahrscheinlich nur die Email gelesen.
Es waren alle Werte da. Aber wenn Prognose=Max dann liegen die Kurven übereinander.
Deswegen habe ich die Max Kurve nun gestrichelt. -
@Diginix Habe den Post vor dem Edit gelesen, hast recht.
-
So, ich habe jetzt noch einmal an KOSTAL geschrieben:
Sehr geehrter –,
vielleicht können Sie folgende Informationen noch einmal an das PM weiterleiten. In den letzten Tagen konnte man sehr gut beobachten, dass die intelligente Batteriesteuerung trotz konstanter Wetterbedingungen nicht ausreichend funktioniert.Im Anhang finden Sie einen Graphen der letzten drei Tage. Dabei ist der blaue Bereich die mögliche Leistung der PV-Anlage, die hätte genutzt werden können. Die grüne Linie zeigt den tatsächlichen Verlauf.
Es ist sehr gut zu sehen, dass die Anlage (also der Plenticore) gegen 11:30 in die 70%-Abriegelung läuft und entsprechend Leistung verschwendet wird.Die orangefarbene Linie zeigt den groben Punkt der Leistungsabriegelung bei normalem Hausverbrauch.
Die rote Linie zeigt den Verlauf der Batterieladung. Dabei ist gut zu sehen, dass die Batterie viel zu früh geladen wird und somit bei Überschreiten der Abriegelungsgrenze nicht mehr genügend Kapazität der Batterie zur Verfügung steht.
Ich denke, das PM kann anhand der Daten gut sehen, dass eine manuelle Ladesteuerung dringend notwendig wäre, da die intelligente Batteriesteuerung selbst bei den jetzt herrschenden Bedingungen die Abriegelung nicht verhindert, obwohl es durch geringere oder ausgesetzte Ladung zum Vormittag problemlos möglich wäre.
Ein simples Deaktivieren der intelligenten Steuerung würde das Problem natürlich noch weiter verschärfen. -
Übrigens zeigt das Piko-Portal die Leistungsreduktion nicht an. Ich gehe daher davon aus, dass der Plenticore gar keine Daten darüber zur Verfügung stellt, ob und wie die Leistung reduziert wurde. Im Interface und somit auch im Adapter wird zumindest einfach die angegebene Leistung in pv1, pv2 und ggf. pv3 angezeigt. Im Modbus habe ich es noch nicht nachvollzogen, denke aber, dass es da genauso sein wird.
Entsprechend habe ich nun noch eine Mail hinterhergeschickt:
Es gibt übrigens noch ein weiteres Problem. Der Wechselrichter zeigt weder im Interface noch über die Schnittstelle an, ob eine Leistungsreduzierung vorliegt und wie hoch diese ist. Es wird einfach eine geringere Leistung an den Strings angezeigt.
Beim aktuellen Wetter lässt sich natürlich dennoch problemlos nachvollziehen, wie die Reduktion erfolgt ist, eine Anzeige wäre aber trotzdem sinnvoll und hilfreich.Auch im Piko-Portal gibt es keine Informationen über die Leistungsreduktion, auch dort wird einfach die Watt-Leistung reduziert dargestellt, daher muss ich davon ausgehen, dass der Wechselrichter diese Daten überhaupt nicht bereitstellt.
Auch dieses Verhalten würde ich bitten, an das PM weiterzugeben, da es ja nicht im Sinne des Erfinders sein kann, dass im WR zwar die 70% eingetragen werden können, also die maximale Einspeiseleistung, jedoch nirgends ersichtlich ist, dass oder wann die Grenze überschritten und somit abgeriegelt wurde.
-
Bei mir ist heute der Adapter 15:38 Uhr mit diesen Logzeilen auf rot gesprungen:
2020-03-25 15:38:04.274 - [31merror[39m: plenticore.0 (2788) uncaught exception: Converting circular structure to JSON 2020-03-25 15:38:04.278 - [31merror[39m: plenticore.0 (2788) TypeError: Converting circular structure to JSON at JSON.stringify (<anonymous>) at Request._callback (/opt/iobroker/node_modules/iobroker.plenticore/lib/weather.js:619:85) at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) at Request.emit (events.js:198:13) at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:881:8) at ClientRequest.emit (events.js:198:13) at TLSSocket.socketErrorListener (_http_client.js:401:9) at TLSSocket.emit (events.js:198:13) at emitErrorNT (internal/streams/destroy.js:91:8) at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) 2020-03-25 15:38:04.890 - [31merror[39m: host.BT3-PRO Caught by controller[0]: TypeError: Converting circular structure to JSON 2020-03-25 15:38:04.891 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at JSON.stringify (<anonymous>) 2020-03-25 15:38:04.891 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.plenticore/lib/weather.js:619:85) 2020-03-25 15:38:04.891 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) 2020-03-25 15:38:04.891 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at Request.emit (events.js:198:13) 2020-03-25 15:38:04.892 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:881:8) 2020-03-25 15:38:04.892 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at ClientRequest.emit (events.js:198:13) 2020-03-25 15:38:04.892 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at TLSSocket.socketErrorListener (_http_client.js:401:9) 2020-03-25 15:38:04.892 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at TLSSocket.emit (events.js:198:13) 2020-03-25 15:38:04.892 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at emitErrorNT (internal/streams/destroy.js:91:8) 2020-03-25 15:38:04.892 - [31merror[39m: host.BT3-PRO Caught by controller[0]: at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) 2020-03-25 15:38:38.388 - [31merror[39m: plenticore.0 (21887) uncaught exception: Converting circular structure to JSON 2020-03-25 15:38:38.390 - [31merror[39m: plenticore.0 (21887) TypeError: Converting circular structure to JSON at JSON.stringify (<anonymous>) at Request._callback (/opt/iobroker/node_modules/iobroker.plenticore/lib/weather.js:619:85) at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) at Request.emit (events.js:198:13) at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:881:8) at ClientRequest.emit (events.js:198:13) at TLSSocket.socketErrorListener (_http_client.js:401:9) at TLSSocket.emit (events.js:198:13) at emitErrorNT (internal/streams/destroy.js:91:8) at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) 2020-03-25 15:38:38.393 - [31merror[39m: plenticore.0 (21887) exception by stop: The "path" argument must be one of type string, Buffer, or URL. Received type undefined
Die Instanz hat nur noch Loglevel "warn", daher habe ich leider nicht mehr zur Verfügung.
Er blieb bis zum manuellen Restart rot und hat somit auch keine Werte mehr erfasst. Meine Überwachung hat das zum Glück bemerkt, ich konnte aber erst 17 Uhr eingreifen. -
Bei mir auch. Ich habe gerade neu gestartet:
plenticore.0 2020-03-25 15:37:31.088 error (32366) exception by stop: The "path" argument must be one of type string, Buffer, or URL. Received type undefined plenticore.0 2020-03-25 15:37:31.085 error at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) plenticore.0 2020-03-25 15:37:31.085 error at emitErrorNT (internal/streams/destroy.js:91:8) plenticore.0 2020-03-25 15:37:31.085 error at TLSSocket.emit (events.js:198:13) plenticore.0 2020-03-25 15:37:31.085 error at TLSSocket.socketErrorListener (_http_client.js:401:9) plenticore.0 2020-03-25 15:37:31.085 error at ClientRequest.emit (events.js:198:13) plenticore.0 2020-03-25 15:37:31.085 error at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:881:8) plenticore.0 2020-03-25 15:37:31.085 error at Request.emit (events.js:198:13) plenticore.0 2020-03-25 15:37:31.085 error at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) plenticore.0 2020-03-25 15:37:31.085 error at Request._callback (/opt/iobroker/node_modules/iobroker.plenticore/lib/weather.js:619:85) plenticore.0 2020-03-25 15:37:31.085 error at JSON.stringify (<anonymous>) plenticore.0 2020-03-25 15:37:31.085 error (32366) TypeError: Converting circular structure to JSON plenticore.0 2020-03-25 15:37:31.081 error (32366) uncaught exception: Converting circular structure to JSON plenticore.0 2020-03-25 15:36:57.848 error at emitErrorAndCloseNT (internal/streams/destroy.js:59:3) plenticore.0 2020-03-25 15:36:57.848 error at emitErrorNT (internal/streams/destroy.js:91:8) plenticore.0 2020-03-25 15:36:57.848 error at TLSSocket.emit (events.js:198:13) plenticore.0 2020-03-25 15:36:57.848 error at TLSSocket.socketErrorListener (_http_client.js:401:9) plenticore.0 2020-03-25 15:36:57.848 error at ClientRequest.emit (events.js:198:13) plenticore.0 2020-03-25 15:36:57.848 error at Request.onRequestError (/opt/iobroker/node_modules/request/request.js:881:8) plenticore.0 2020-03-25 15:36:57.848 error at Request.emit (events.js:198:13) plenticore.0 2020-03-25 15:36:57.848 error at self.callback (/opt/iobroker/node_modules/request/request.js:185:22) plenticore.0 2020-03-25 15:36:57.848 error at Request._callback (/opt/iobroker/node_modules/iobroker.plenticore/lib/weather.js:619:85) plenticore.0 2020-03-25 15:36:57.848 error at JSON.stringify (<anonymous>) plenticore.0 2020-03-25 15:36:57.848 error (14778) TypeError: Converting circular structure to JSON plenticore.0 2020-03-25 15:36:57.839 error (14778) uncaught exception: Converting circular structure to JSON
-
Danke für den Hinweis. Ich schau mal rein. Problem ist, dass das außerhalb meines Codes ist kotz. Muss ich wohl schauen, dass ich da noch irgendwo Exceptions zusätzlich abfange.
-
Okay, lag an was anderem. Habe einen Fix ins Git geladen.
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Okay, lag an was anderem. Habe einen Fix ins Git geladen.
Geht nicht - Adapter startet alle 30 Sekunden neu
-
@tom57 Mit derselben Meldung?
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Mit derselben Meldung?
Nein .....
host.iob 2020-03-25 17:51:40.192 info Restart adapter system.adapter.plenticore.0 because enabled host.iob 2020-03-25 17:51:40.191 error instance system.adapter.plenticore.0 terminated with code 156 (156) host.iob 2020-03-25 17:51:39.597 info instance system.adapter.plenticore.0 started with pid 1909 host.iob 2020-03-25 17:51:09.547 info Restart adapter system.adapter.plenticore.0 because enabled host.iob 2020-03-25 17:51:09.546 error instance system.adapter.plenticore.0 terminated with code 156 (156) host.iob 2020-03-25 17:51:08.971 info instance system.adapter.plenticore.0 started with pid 1862 host.iob 2020-03-25 17:50:38.923 info Restart adapter system.adapter.plenticore.0 because enabled host.iob 2020-03-25 17:50:38.922 error instance system.adapter.plenticore.0 terminated with code 156 (156) host.iob 2020-03-25 17:50:38.373 info instance system.adapter.plenticore.0 started with pid 1847 host.iob 2020-03-25 17:50:08.347 info Restart adapter system.adapter.plenticore.0 because enabled host.iob 2020-03-25 17:50:08.347 error instance system.adapter.plenticore.0 terminated with code 156 (156) host.iob 2020-03-25 17:50:07.797 info instance system.adapter.plenticore.0 started with pid 1831 host.iob 2020-03-25 17:49:37.773 info Restart adapter system.adapter.plenticore.0 because enabled host.iob 2020-03-25 17:49:37.773 error instance system.adapter.plenticore.0 terminated with code 156 (156)
-
@tom57 Hast du ihn mal manuell komplett angehalten und neu gestartet?
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
@tom57 Hast du ihn mal manuell komplett angehalten und neu gestartet?
Nein hatte nur neu gestartet ....
Jetzt habe ich Ihn angehalten ... etwas gewartet ... und neu gestartet.
Jetzt habe ich keine Neustarts mehr.Wo ist der Unterschied mit Anhalten zum Neustarten ?
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
Wo ist der Unterschied mit Anhalten zum Neustarten ?
Das weiß ich nicht. Ich habe das aber auch manchmal bei Adaptern, die ich aktualisiere, dass ioBroker sie nicht korrekt neu startet und ich dann einmal manuell beenden muss.
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Das weiß ich nicht. Ich habe das aber auch manchmal bei Adaptern, die ich aktualisiere, dass ioBroker sie nicht korrekt neu startet und ich dann einmal manuell beenden muss.
Ok, wieder was gelernt
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
@tom57 Hast du ihn mal manuell komplett angehalten und neu gestartet?
Nein hatte nur neu gestartet ....
Jetzt habe ich Ihn angehalten ... etwas gewartet ... und neu gestartet.
Jetzt habe ich keine Neustarts mehr.Wo ist der Unterschied mit Anhalten zum Neustarten ?
In einem solchen Fall läuft dann noch ein Zombiprozess.
Wenn du den Adapter stoppst und in der Kommandozeile:ps auxww | grep plenticore
ausführst, siehst du ihn. Mit diesem Kommando kann man ihn killen:
sudo kill -9 $(pidof io.plenticore.0)
-
Ich habe jetzt die aktuelle Version 2.1.0 ins Git und ins NPM repository geladen. Damit sollte sie morgen auch im "latest" von ioBroker auftauchen. Einzige Neuerung seit dem letzten Git-Upload ist das einstellbare minimum MinSoC.
Zudem habe ich die README auf den neuesten Stand gebracht und auch die Vorhersage etwas erläutert.
Nun habe ich auch noch eine deutsche Übersetzung der README eingepflegt.