NEWS
IOBroker Anbindung an einen Kostal Plenticore
-
@maverick Das gezeigte Diagramm ist einfach nur ein Screenshot vom flot Adapter.
Alle nötigen Datenpunkte werden per influxDB erfasst und können dann mit flot, e-chart, grafana usw. in jeglicher Form visualisiert werden. Wie man das allerdings in eine iob VIS bekommt, k.a.
Ich habe jarvis im Einsatz, da könnte ich sicher was von Grafana einbinden. -
@bernd-0 sagte in IOBroker Anbindung an einen Kostal Plenticore:
Ich würde gerne mit dem Ändern des Datenpunktes den Haken in den Apdapter-Einstellungen entfernen und ebenso dann im Wechselrichter. Ich hoffe, ich konnte es verständlich erklären.
Es ist doch oftmals so, dass die intelligente Steuerung (über den WR oder auch den Adapter) ziemlich daneben liegt. Dann habe ich nur eine Batterieladung bis 60 / 70% und ärgere mich, dass ich zuvor eingespeist habe. Manchmal stimmt das eigene Bauchgefühl doch besser. Dann würde ich gerne "umschalten" können durch Veränderung des Datenpunktes.Hallo Bernd, hallo Strathcole, hallo Gemeinde,
ich habe einen Plenticore 10 mit BYD HVS 7.7 im Einsatz. Mit dem Plenticore-Adapter logge ich schon seit einiger Zeit die Daten mit.
Nun möchte ich die Register 1038 (Maximum charge power limit) bzw. 1044 (Maximum SOC) des Batteriemanagements schreiben können, um das Ladeverhalten der Batterie in Abhängigkeit vom Wetter beeinflussen zu können und der 70%-Kappung über Mittag zu begegnen.
Da ich die Register über den Plenticore-Adapter nicht schreiben kann, habe ich den Modbus-Adapter installiert und mir vom Installateur die Batteriesteuerung auf "extern über Protokoll (Modbus TCP)" umstellen lassen:
Folgende Einstellungen habe ich am modbus-Adapter vorgenommen:
Unter Holding-Register habe ich folgendes eingestellt:
Setze ich anschließend unter der Objekten der Wert für Adresse 1042 nun auf 80%, kommt vorerst folgendes:
Nachdem ich zurückschalte auf Lesemodus (Adresse 1042 in der Instanz CW deaktivieren), kommt ein Wert von 5%:
Es ist egal, ob ich vorher 80% oder irgend einen anderen Wert eintrage, die Einstellung geht immer auf den Wert 5%.Bleibe ich mit irgendeinem Wert in Adresse 1042 im zyklischen Schreibmodus (CW), dann hört die Batterie auf zu laden (vermutlich, weil er auf den Wert 5% geht). Das spricht schon mal dafür, dass die Batterie auf die Einstellung reagiert.
Es hängt scheinbar "nur" noch daran, korrekte Werte in die Register zu bekommen:
-
1042 (z.B. vor dem Mittag nur bis 50% aufladen) und ertragsabhängig vor der Kappung auf 90% oder mehr wieder zu öffnen)
-
1038 (z.B. über die Kappungszeit auf beispielsweise 2000W zu begrenzen, damit die Batterie schonend geladen wird, aber vor allem nur so viel vom Ertrag weggekappt wird, dass man unter die 70%-Grenze kommt).
Habe ich einen Fehler in der Konfiguration "Allgemein" in der Instanz oder bei "Holding Register" der Adresse 1042 (Float Big Endian, WP, CW, SF)?
Wäre prima, wenn mir jemand helfen könnte.
Plenticore 10: UI-Version: 01.21.06586
Modbus: v3.4.17 -
-
Hallo,
mal eine vermutlich relativ einfache Frage: Wenn ich den Wert von plenticore.0.forecast.day1.power.day_adjusted mit dem History-Adapter aufzeichne und in Flot darstelle, zeigt sich immer ein gewisser Zick-Zack-Verlauf.
Ist das nur bei mir so oder bei mehr von euch?
Ich habe schon probiert die Ursache zu verstehen, war aber bislang noch nicht erfolgreich. -
@homeuser Zeig doch mal ein Diagramm und ggf. noch die History Einstellungen von dem Objekt.
-
@diginix Hier die History-Einstellungen des Objektes und ein Chart als Beispiel (aus History und Flot, aber mit unterschiedlichem Zeitraum).
-
@homeuser Ich komme erst am WE wieder an meine Daten. Aber möglicherweise schwankt der Wert eben tatsächlich so. Dass du alle 900 s zwingend ein Wert schreibst auch wenn er sich ggf. nicht geändert hat, willst du so?
Das wäre ansonsten noch ein Versuch und ggf. die Entprellzeit auch noch auf mehr als 5 s. Dann logt der Adapter nicht jeden Sprung. Und dazu noch die minimale Diff. zum letzten Wert noch höher, vllt 1000.
Dann glättet sich die Kurve sicher schon. Weitere Glättung stellt man dann in Flot ein. -
Hallo,
zuerst einmal vielen, vielen Dank an @StrathCole für den tollen Kostal PlentiCore Adapter. Seit Mai 2021 erfreue ich mich fast täglich an den abgerufenen Daten und verarbeite sie weiter.
Damit sind wir auch schon bei meiner Idee: DIY Batterie & DIY DC-Wallbox an Kostal PlentiCore
Über die Modbus Register kann man ja doch ein bisschen den PlentiCore regeln. Damit müsste es doch auch möglich sein, eine DIY Batterie aus ALI Batterien (ca. 205€/kWh statt ca. 500€/kWh für nicht-DIY, jeweils heutige Preise, am 11.11. bestimmt noch einiges billiger) und einem ALI BMS (Daly?) auf die Beine stellen zu können. Damit wären doch, gemäß der PlentiCore Specs 120 - 650 Volt bei 13 A, Batterien mit sagen wir 48 bis 192 LiFePo4 Zellen möglich, die dann 2 - 8 kW Leistung hätten. Und man könnte mit 15 - 320 Ah Zellen dann von 2 bis 200 kWh Batterien bauen. Dazu bräuchte man 3 - 12 BMS für 16 Zellen oder 2 - 8 BMS für 24 Zellen. Aus den BMS kann man die minimale und maximale Spannung auslesen lassen (python script) und über die Leistungen den Kostal (ab)regeln.
Was denkt ihr, wo ist mein Denkfehler oder ist es wirklich so einfach?
Und weiter gesponnen:
Man könnte doch über den CCS Stecker auch ein E-Auto anschließen. Bei 400V und 13A wären das 5,3 kW Ladeleistung und obendrauf könnte man das Auto vielleicht auch als Akku benutzen mit den gleichen 5,3 kW Entladeleistung. Das Auto bekommt doch nur über 2 Kontakte Spannungen übermittelt, die die Ladestati A, B und C einstellen, oder?
Diese DC-Wallbox kostet also nur einen CCS Stecker, Kabel und einen kleinen zweipoligen DC Umschalter für 1000V und 13A zwischen den Batterien und eine kleine Steuerlogik für die Ladestati A, B und C. Das kann doch alles mit Blockly schnell gemacht werden.
Nochmal: Was denkt ihr, wo ist mein Denkfehler oder ist es wirklich so einfach?
Mic
-
@mic208 Sorry, da muss ich gestehen, dass ich raus bin Dafür kenne ich mich mit Ladesteuerung und dem ganzen Drumherum zu wenig aus.
-
@mic208
Da wird der MPPT eventuell versuchen gegenzuregeln. Ausserhalb des MPPT-Bereiches bleiben, dann könnte es vielleicht klappen.Ist schon eine wilde Idee nur um eine Wallbox zu sparen.
-
Firmwareupdate verfügbar:
2022.03.30
KOSTAL_Update_PLENTICORE_PIKO_IQ_01.22.06892 (FW01.65/PAR03.50)Änderungen:
- Bugfix 0-Watt Abregelung
- Bugfix Abwählen der intelligenten Batteriesteuerung nach dem Update auf FW >= 01.60
- RfG-Anforderungen für Spanien umgesetzt, Parametersatz "ES RD647 Type A"
- Entfernung der Auswahl von veralteten Parametersätzen
-
@diginix Meine Antwort einen Monat später: Das Glätten in der Anzeige löst für mich leider nicht das Problem, da ich ja abhängig von den Daten etwas steuern möchte. Ich habe mich daher auf die Suche nach der Ursache gemacht und vermutlich gefunden. Mal sehen, ob die Änderung weitere tests besteht und übernommen wird.
-
@homeuser Danke für die Contrib. Im Git ist alles drin, ich werde das bei mir auch mal installieren und beobachten.
-
Gerade habe ich die neue Version 2.2.2 veröffentlicht, die dann auch bald im Beta-Repository landen sollte. PastCoder hat eine zweite Batteriestrategie eingebaut. Danke dafür.
-
@strathcole Obwohl ich die dynamische MinSOC Steuerung in der Instanz aus habe, wurde vorhin mein MinSOC von 5% auf 10% gesetzt. Danach habe ich mal tesweise das "Dynamisches Batteriemanagement" deaktiviert und dadurch wurde der MinSOC erneut von 10% auf 12% und wieder auf 10% gesetzt.
Die Batteriestrategie steht auf Variante 1. Aber bis Adapter v2.2.1 wurde der MinSOC nicht durch die Dynamisches Batteriemanagement (Intelligente Batteriesteuerung) verändert.
Ich habe nun alle Steuerungen in der Instanz aus, aber dennoch steht im Log:
"Using forecast of day 2 for MinSoC calculation." und der MinSOC wird geändert.Ich habe die readme in EN und DE zu beiden Strategien durchgelesen aber es noch nicht verstanden
Kannst du zum einen sagen was die Intentionen der 2 verschiedenen Srategien sind und warum der MinSOC vom Adapter geändert wird obwohl die Steuerung gar nicht aktiv ist.Problem ist auch, dass die Prognose vom Plenticode mittlerweile schlechter ist als die vom pvforecast. Bis vor Wochen habe ich immer die vom Plenticore gelobt. Für morgen sagt dein Adapter nur 11 kWh voraus und pvforecast 30 kWh.
Hier sieht man schön die zwei Adapter Prognosen der letzten Tage verglichen mit dem realen Ertrag:
Blau eingekreist sind die viel zu gering ausgefallenen Prognosen des Plenticore Adapters. -
@diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
@strathcole Obwohl ich die dynamische MinSOC Steuerung in der Instanz aus habe, wurde vorhin mein MinSOC von 5% auf 10% gesetzt. Danach habe ich mal tesweise das "Dynamisches Batteriemanagement" deaktiviert und dadurch wurde der MinSOC erneut von 10% auf 12% und wieder auf 10% gesetzt.
Das sollte er eigentlich nicht machen. Ich habe da auch nichts am Code geändert, müsste also schauen, ob etwas durch die Contributions verändert wurde, das das verursachen könnte.
Die Batteriestrategie steht auf Variante 1. Aber bis Adapter v2.2.1 wurde der MinSOC nicht durch die Dynamisches Batteriemanagement (Intelligente Batteriesteuerung) verändert.
Ich habe nun alle Steuerungen in der Instanz aus, aber dennoch steht im Log:
"Using forecast of day 2 for MinSoC calculation." und der MinSOC wird geändert.Das steht da eigentlich immer.
Ich habe die readme in EN und DE zu beiden Strategien durchgelesen aber es noch nicht verstanden
Kannst du zum einen sagen was die Intentionen der 2 verschiedenen Srategien sind und warum der MinSOC vom Adapter geändert wird obwohl die Steuerung gar nicht aktiv ist.Nein, die zweite Strategie hat "PastCoder" integriert. Die Begründung steht hier:
https://github.com/StrathCole/ioBroker.plenticore/pull/62Problem ist auch, dass die Prognose vom Plenticode mittlerweile schlechter ist als die vom pvforecast. Bis vor Wochen habe ich immer die vom Plenticore gelobt. Für morgen sagt dein Adapter nur 11 kWh voraus und pvforecast 30 kWh.
Ja, ich kann nicht sagen, woran es liegt, aber es ist mir selbst auch schon aufgefallen. In der Vorhersageberechnung wurde meines Wissens nach nichts verändert, das Ursache sein könnte. Muss ich aber noch mal vergleichen. Entweder ist da ein Bug in einer der letzten Versionen eingeflossen oder die Wetterdaten der Anbieter, die ich nutze, sind so deutlich schlechter geworden. Ich habe derzeit auch große Abweichungen.
-
@strathcole said in IOBroker Anbindung an einen Kostal Plenticore:
@diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
@strathcole Obwohl ich die dynamische MinSOC Steuerung in der Instanz aus habe, wurde vorhin mein MinSOC von 5% auf 10% gesetzt. Danach habe ich mal tesweise das "Dynamisches Batteriemanagement" deaktiviert und dadurch wurde der MinSOC erneut von 10% auf 12% und wieder auf 10% gesetzt.
Das sollte er eigentlich nicht machen. Ich habe da auch nichts am Code geändert, müsste also schauen, ob etwas durch die Contributions verändert wurde, das das verursachen könnte.
@Diginix Hast Du beides abgeschaltet: dynamische Batteriemanagement und dynmischen SoC? Ich habe einen Blick in den Code geworfen und einen Verdacht (erstmal unabhängig davon, ob das neu ist oder schon länger drin ist).
Wenn Du das Logging auf "debug" stellst, welche Ausgaben erhälst Du bei den folgenden zwei Zeilen?- Writing MinSoC value to .....
- New and old MinSoC: ....
Ich habe die readme in EN und DE zu beiden Strategien durchgelesen aber es noch nicht verstanden
Kannst du zum einen sagen was die Intentionen der 2 verschiedenen Srategien sind und warum der MinSOC vom Adapter geändert wird obwohl die Steuerung gar nicht aktiv ist.Nein, die zweite Strategie hat "PastCoder" integriert. Die Begründung steht hier:
https://github.com/StrathCole/ioBroker.plenticore/pull/62Die Strategie setzt nicht den SoC sondern entscheidet nur, wenn das Kostal-eigene "Intelligente Battermanagement" eingeschaltet ist und wann nicht.
-
@homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:
@Diginix Hast Du beides abgeschaltet: dynamische Batteriemanagement und dynmischen SoC? Ich habe einen Blick in den Code geworfen und einen Verdacht (erstmal unabhängig davon, ob das neu ist oder schon länger drin ist).
Ja, aktuell habe ich beides abgeschaltet. Mit v2.2.1 war monatelang "dynamische Batteriemanagement" eingeschaltet und der MinSOC wurde nie vom Adapter geändert, was auch korrekt ist, weil diese Einstellung ja auch nur die intelligente Batteriesteuerung von Kostal ein/ausschaltet.
Wenn Du das Logging auf "debug" stellst, welche Ausgaben erhälst Du bei den folgenden zwei Zeilen?
- Writing MinSoC value to .....
- New and old MinSoC: ....
Sowohl mit beiden Steuerungen deaktiviert als auch mit dynamischer Batteriest. aktiv, wie früher, ändert der Adapter um die Zeit nun den MinSOC nicht mehr. Was er aber vor einer Stunde noch gemacht hat.
2022-05-16 22:18:34.575 - debug: plenticore.0 (360683) Writing MinSoC value to devices.local.battery.MinSoc 2022-05-16 22:18:35.828 - debug: plenticore.0 (360683) Current SoC of battery is at 74. 2022-05-16 22:18:35.845 - debug: plenticore.0 (360683) New and old MinSoC: 5 -> 5
Will den Adapter aber ungern auf Loglevel debug bis morgen laufen lassen, da mir sonst das Log explodiert. Man müsste diese Ausgaben im Code mal auf Level "warn" stellen damit nur die noch mit durch kommen.
Die Strategie setzt nicht den SoC sondern entscheidet nur, wenn das Kostal-eigene "Intelligente Battermanagement" eingeschaltet ist und wann nicht.
Ist bekannt, aber v2.2.2 verhält sich eben nicht so.
-
@diginix said in IOBroker Anbindung an einen Kostal Plenticore:
@homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:
@Diginix Hast Du beides abgeschaltet: dynamische Batteriemanagement und dynmischen SoC? Ich habe einen Blick in den Code geworfen und einen Verdacht (erstmal unabhängig davon, ob das neu ist oder schon länger drin ist).
Ja, aktuell habe ich beides abgeschaltet. Mit v2.2.1 war monatelang "dynamische Batteriemanagement" eingeschaltet und der MinSOC wurde nie vom Adapter geändert, was auch korrekt ist, weil diese Einstellung ja auch nur die intelligente Batteriesteuerung von Kostal ein/ausschaltet.
Mir ist noch eine Idee gekommen (allerdings kenne ich mich mit dem MinSOC wenig aus): Könnte es sein, dass nicht der Adapter den MinSOC ändert, sondern Kostal selbst? Siehe https://forum.iobroker.net/topic/16169/iobroker-anbindung-an-einen-kostal-plenticore/1210?_=1652764998904
Die Strategie setzt nicht den SoC sondern entscheidet nur, wenn das Kostal-eigene "Intelligente Battermanagement" eingeschaltet ist und wann nicht.
Ist bekannt, aber v2.2.2 verhält sich eben nicht so.
Da die Erläuterung zu den Strategien im Readme nicht selbsterklärend ist, hier ein Version zu Strategie 2 (zu Strategie 1 kann ich nicht viel sagen):
Die intelligente Steuerung von Kostal wird nur aktiviert, wenn (laut Prognose) die folgenden Bedingungen beide erfüllt sind:- Es gibt mind. eine Stunde, in der die Einspeiseberenzung überschritten wird (ansonsten braucht man sie ja nicht, weil alles eingespeist werden kann).
- Es ist voraussichtlich mehr Strom verfügbar als während des Tages benötigt für den Verbrauch am Tag und das Laden des Speicher (ansonsten wäre auch ohne intelligente Steuerung während des gesamten Tages Platz im Speicher frei)
Die tatsächliche Steuerung ist etwas komplexer, da sie auch verhindert, dass die intelligente Steuerung oft ein-/ausgeschaltet wird.
-
@homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:
@diginix said in IOBroker Anbindung an einen Kostal Plenticore:
@homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:
@Diginix Hast Du beides abgeschaltet: dynamische Batteriemanagement und dynmischen SoC? Ich habe einen Blick in den Code geworfen und einen Verdacht (erstmal unabhängig davon, ob das neu ist oder schon länger drin ist).
Ja, aktuell habe ich beides abgeschaltet. Mit v2.2.1 war monatelang "dynamische Batteriemanagement" eingeschaltet und der MinSOC wurde nie vom Adapter geändert, was auch korrekt ist, weil diese Einstellung ja auch nur die intelligente Batteriesteuerung von Kostal ein/ausschaltet.
Mir ist noch eine Idee gekommen (allerdings kenne ich mich mit dem MinSOC wenig aus): Könnte es sein, dass nicht der Adapter den MinSOC ändert, sondern Kostal selbst? Siehe https://forum.iobroker.net/topic/16169/iobroker-anbindung-an-einen-kostal-plenticore/1210?_=1652764998904
Ich sag mal so: in den letzten Monaten, eher Jahren, hat niemand außer mir den MinSOC geändert oder der Adapter wenn die MinSOC Steuerung aktiviert war. Seit dem Update auf 2.2.2 hatte ich gestern an die 10 MinSOC Änderungen. Hätte ich vllt nicht bemerkt, würde ich mir nicht jede Änderung per Telegram senden.
Ich kann also nur Mutmaßen dass es am Adapter liegt. Ist immerhin das einzige was sich geändert hat.
Seit gestern 22 Uhr hat sich der MinSOC nicht mehr geändert und heute morgen habe ich sogar die dynamische Batteriemanagement im Adapter wieder aktiviert. Es war bisher immer nur Strategie 1 aktiv. Wenn sich auch daran nicht geändert hat. Hätte das Update auf 2.2.2 außer der neuen Strategie ja absolut keine Verhaltensänderung zeigen sollen/dürfen. Ich beobachte heute weiter. Allerdings läuft der Adapter wieder auf Loglevel warn.Die Strategie setzt nicht den SoC sondern entscheidet nur, wenn das Kostal-eigene "Intelligente Battermanagement" eingeschaltet ist und wann nicht.
Ist bekannt, aber v2.2.2 verhält sich eben nicht so.
Da die Erläuterung zu den Strategien im Readme nicht selbsterklärend ist, hier ein Version zu Strategie 2 (zu Strategie 1 kann ich nicht viel sagen):
Die intelligente Steuerung von Kostal wird nur aktiviert, wenn (laut Prognose) die folgenden Bedingungen beide erfüllt sind:- Es gibt mind. eine Stunde, in der die Einspeiseberenzung überschritten wird (ansonsten braucht man sie ja nicht, weil alles eingespeist werden kann).
- Es ist voraussichtlich mehr Strom verfügbar als während des Tages benötigt für den Verbrauch am Tag und das Laden des Speicher (ansonsten wäre auch ohne intelligente Steuerung während des gesamten Tages Platz im Speicher frei)
Die tatsächliche Steuerung ist etwas komplexer, da sie auch verhindert, dass die intelligente Steuerung oft ein-/ausgeschaltet wird.
Danke für die Erläuterung!
Ich teste nun mal diese Einstellungen:
-
@diginix Ich habe mir das mit den Prognosen noch einmal angeschaut.
Leider kann ich bei mir da wahnsinnig große Schwankungen feststellen zwischen der Qualität von pvforecast und Plenticore. Bei pvforecast habe ich das Problem, dass die Schätzung an einigen Tagen deutlich zu hoch ist. Das bringt dann Probleme im vorgezogenen Verbrauch.
Beispiel der letzten 7 Tage:
10.5.:
Plenti: 18.400
pvf: 42.100
Real: 52.80011.5.:
Plenti: 60.500
pvf: 80.000
Real: 60.90012.5.:
Plenti: 28.400
pvf: 57.500
Real: 61.70013.5.:
Plenti: 57.400
pvf: 69.100
Real: 61.60014.5.:
Plenti: 71.500
pvf: 83.600
Real: 64.00015.5.:
Plenti: 55.500
pvf: 76.400
Real: 61.40016.5.:
Plenti: 18.900
pvf: 45.800
Real: 47.200