NEWS
IOBroker Anbindung an einen Kostal Plenticore
-
@bock-johannes Also, möglich ist das mit einem Skript.
Dafür muss aber im Wechselrichter die externe Batteriesteuerung via ModBus erlaubt und aktiviert sein (das kann nur der Installateur-Zugang).
Wenn das aktiv ist, kann man im Register
modbus.0.holdingRegisters.1078_Max_Discharge Pwr Lim
, also1078
die Entladebegrenzung in W setzen. Wichtig ist dann nur, dass man sie mindestens alle ~10 Sekunden neu setzt, da der WR einen Timeout hat und die Steuerung dann automatisch wieder deaktiviert (auf intern umstellt).Vorgehen wäre also:
Javascript schreiben, das- mit openWB-Adapter ausliest, ob der Lademodus "Sofortladen" ist und das Auto eingesteckt ist
- wenn ja, entsprechend alle paar Sekunden das Register
1078
auf1000
setzen - wenn nein, Wert wieder auf Standard zurücksetzen
-
Hallo, vielen Dank für diesen tollen Adapter. Ich habe seit Januar ebenfalls eine Anlage mit dem Kostal Plenticore plus 10. BYD Batterie ist auch geordert, kommt aber wohl erst Mitte des Jahres. Deinen Adpater habe ich schon miteingebunden und sehe Unmengen an Werten. Hier habe ich gerade auch schon eine Frage:
Unter den Objekten Forecast bei generated plant power today wird mir ein Wert von 2,2 KW angezeigt, in der Statistik im Wechselrichter stehen für heute aber nur 1,7 KW. Wird dort vielleicht schon der Verbrauch vom Wechselrichter abgezogen?
-
Hallo,
ich habe diesen post hier gefunden und habe die selben Warnmeldungen bei mir auch.
Konnte aber die Lösung nicht erlesen, darauf wurde nicht genau geantwortet oder ich hab es nicht verstanden.
Liegt das an der Modbus Einstellung?von burnit
@strathcole mit einem 20s polling interval sehe ich im log alle 20s eine Warnung vom Adapter
2021-04-15 17:16:39.187 - [33mwarn[39m: plenticore.0 (9754) Requesting settings - [{"moduleid":"devices:local","processdataids":["Dc_P","DigitalIn","EM_State","HomeBat_P","HomeGrid_P","HomeOwn_P","HomePv_P","Home_P","Inverter:State","LimitEvuAbs"]},{"moduleid":"devices:local:ac","processdataids":["CosPhi","Frequency","L1_I","L1_P","L1_U","L2_I","L2_P","L2_U","L3_I","L3_P","L3_U","P","Q","S"]},{"moduleid":"devices:local:battery","processdataids":["Cycles","SoC","I","U","P"]},{"moduleid":"devices:local:pv1","processdataids":["I","U","P"]},{"moduleid":"devices:local:pv2","processdataids":["I","U","P"]},{"moduleid":"scb:export","processdataids":["PortalConActive"]},{"moduleid":"scb:statistic:EnergyFlow","processdataids":["Statistic:Autarky:Day","Statistic:Autarky:Month","Statistic:Autarky:Total","Statistic:Autarky:Year","Statistic:EnergyHome:Day","Statistic:EnergyHome:Month","Statistic:EnergyHome:Total","Statistic:EnergyHome:Year","Statistic:EnergyHomeBat:Day","Statistic:EnergyHomeBat:Month","Statistic:EnergyHomeBat:Total","Statistic:EnergyHomeBat:Year","Statistic:EnergyHomeGrid:Day","Statistic:EnergyHomeGrid:Month","Statistic:EnergyHomeGrid:Total","Statistic:EnergyHomeGrid:Year","Statistic:EnergyHomePv:Day","Statistic:EnergyHomePv:Month","Statistic:EnergyHomePv:Total","Statistic:EnergyHomePv:Year","Statistic:OwnConsumptionRate:Day","Statistic:OwnConsumptionRate:Month","Statistic:OwnConsumptionRate:Total","Statistic:OwnConsumptionRate:Year","Statistic:Yield:Day","Statistic:Yield:Month","Statistic:Yield:Total","Statistic:Yield:Year","Statistic:CO2Saving:Day","Statistic:CO2Saving:Month","Statistic:CO2Saving:Year","Statistic:CO2Saving:Total"]}]) failed with code 503: {"message":"internal communication error, try again later"}
Liegt das evtl. an meiner alten Firmware-Version oder ist das normal? Ich kann nicht erkennen, dass es irgendwelche Fehler in den Datenpunkten gäbe.
-
@strathcole Erstmal vielen Dank für den Adapter, habe deswegen gleich mal wieder iobroker aktiviert.
Da man aktuell leider weder den KSEM noch TQEM kaufen kann, lasse ich den Plenticore mit der baugleichen energybase laufen. Entladen des HVS hat via energybase geklappt, nur das Laden nicht. Deswegen will ich via Modbus das Laden selber steuern. Leider sind meine Versuche über Register 1026 oder 1034 nicht erfolgreich gewesen, jegliche Werte werden sofort wieder genullt. Muss ich weitere Register setzen, damit man die Ladung über Modbus "erzwingen" kann? Über die Digitaleingänge konnte ich laden mit 25% und 50% erzwingen, mehr ging nicht.
UI-Version 01.18.05255 / MC-Version 01.47 / IOC-Version 01.45 / HW-Version 0200
Installateurscode habe ich und kann dementsprechend die Einstellungen im Plenticore ändern. Würde mich über Erfahrungen mit Modbus-Steuerung freuen.
-
@jost-1 Du musst via Installateurscode in den Einstellungen die "Externe Steuerung" via Modbus aktivieren. Sobald diese aktiviert ist, musst du mindestens alle 10-30 Sekunden den entsprechenden Modbus Wert setzen, sonst setzt der Kostal wieder auf interne Steuerung zurück.
-
@strathcole Hm, so habe ich das auch probiert.
Also FC 16, UID 71, ab Adresse 1034 2 Register mit 0;49992 (-200[W]) beschrieben, wurde ohne Fehler quittiert aber praktisch sofort genullt. Parallel habe ich sekündlich 1026-1036 gepollt, die waren alle 0
Das Register 1080 wurde vorher abgefragt, das steht auf 2 für externe Modbus-Steuerung.
Wenn ich ab Adresse 1044 2 Register mit 0;17086 beschreibe, bleibt der max.SoC wie gewollt einige Zeit bei 95% stehen.
Was mich wundert: Als die Entladung via energybase lief, waren die Register ab 1032 alle gefüllt. Daher meine Vermutung ob man evtl. weitere Register setzen muss?
-
@jost-1 Ich denke die Register sind falsch. Schau mal bei Register 1078.
-
@strathcole Ja, die Register ab 1078 sind Readonly und geben Auskunft über die aktuell verfügbare Lade/Entlade-Leistung. Steuern kann ich ja darüber nichts. Ich habe parallel mal in den FHEM-Adapter geschaut, da sind die Adressen ab 1024 auch für die Setpoints reserviert.
attr WR_1 obj-h1024-len 1
attr WR_1 obj-h1024-reading Battery_Charge_AC_P_Setpoint
attr WR_1 obj-h1024-set 1
attr WR_1 obj-h1025-len 1
attr WR_1 obj-h1025-reading Battery_P_ScaleFactor
attr WR_1 obj-h1026-reading Battery_Charge_AC_P_SetpointAbs
attr WR_1 obj-h1026-set 1
attr WR_1 obj-h1028-reading Battery_Charge_DC_I_SetpointRel
attr WR_1 obj-h1028-set 1
attr WR_1 obj-h1030-reading Battery_Charge_AC_P_SetpointRel
attr WR_1 obj-h1030-set 1
attr WR_1 obj-h1032-reading Battery_Charge_DC_I_SetpointAbs
attr WR_1 obj-h1032-set 1
attr WR_1 obj-h1034-reading Battery_Charge_DC_P_SetpointAbs
attr WR_1 obj-h1034-set 1
attr WR_1 obj-h1036-reading Battery_Charge_DC_P_SetpointRel
attr WR_1 obj-h1036-set 1
attr WR_1 obj-h1038-reading Battery_MaxChargePowerLimitAbs
attr WR_1 obj-h1038-set 1Ich bin nun am Überlegen, ob man zum 1034 auch den 1038 setzen muss...
-
@jost-1 Wäre zumindest nicht unlogisch.
-
@homeuser bei mir wird schin ein paar tage nun kein forecast mehr dargestellt.
Ich nutze den
yr.no Adapter in V5.00 (wobei es vor dem Update auf die letzte Verson schon nicht mehr ging
Plenticore Adapter V2.2.1Funktioniert es be dir noch bzw. hast du Änderunge machen müssen damit es weiterhin funktioneirt?
Gruß
-
@gjo Beim mir geht es ohne Probleme. Auch keine vorübergehenden Probleme in den vergangene Tagen.
-
Hallo,
wenn ich den DynamicSoc Wert auf true oder auch false setzen möchte, bekomme ich die folgende Meldung:PUT to settings devices:local / Battery:DynamicSoc:Enable (true) resulted in code 500: {"message":"Internal Server Error"}
Ich habe den Datenpunkt
plenticore.0.devices.local.battery.DynamicSoc und
plenticore.0.devices.local.battery.SmartBatteryControl
so verstanden, wie in den Settings. Habe ich hier einen Denkfehler? -
@homeuser ok, bei mir sind alle forecast Werte aus dem Plenticore Adapter verschwunden.
Sprich die Verhersagewerte tauchen nicht mehr auf.Im Log kann ich leider keine Fehler finden:
2022-02-15 00:00:08.277 - info: plenticore.0 (940) Delete object forecast.day1.power.1h.generated
2022-02-15 00:00:08.293 - info: plenticore.0 (940) Delete object forecast.day1.power.2h.generated
2022-02-15 00:00:08.293 - info: plenticore.0 (940) Delete object forecast.day1.power.3h.generated
2022-02-15 00:00:08.293 - info: plenticore.0 (940) Delete object forecast.day1.power.4h.generated
2022-02-15 00:00:08.293 - info: plenticore.0 (940) Delete object forecast.day1.power.5h.generated
2022-02-15 00:00:08.294 - info: plenticore.0 (940) Delete object forecast.day1.power.6h.generated
2022-02-15 00:00:08.294 - info: plenticore.0 (940) Delete object forecast.day1.power.7h.generated
2022-02-15 00:00:08.294 - info: plenticore.0 (940) Delete object forecast.day1.power.8h.generated
2022-02-15 00:00:08.294 - info: plenticore.0 (940) Delete object forecast.day1.power.9h.generated
2022-02-15 00:00:08.294 - info: plenticore.0 (940) Delete object forecast.day1.power.10h.generated
2022-02-15 00:00:08.294 - info: plenticore.0 (940) Delete object forecast.day1.power.11h.generated
2022-02-15 00:00:08.324 - info: plenticore.0 (940) Forecast data file written to disk.
2022-02-15 00:00:08.325 - info: plenticore.0 (940) Power generation statistics written to disk.
2022-02-15 00:00:08.325 - info: plenticore.0 (940) Power consumption statistics written to disk.
2022-02-15 00:00:08.325 - info: plenticore.0 (940) JSON states written to disk.
2022-02-15 00:03:14.185 - info: plenticore.0 (940) Read forecast data before calcMinSoC.
2022-02-15 00:03:14.195 - info: plenticore.0 (940) calcMinSoC for day 1.
2022-02-15 00:03:14.196 - info: plenticore.0 (940) Using forecast of day 1 for MinSoC calculation.
2022-02-15 00:03:14.280 - info: plenticore.0 (940) calcMinSoC for day 2.
2022-02-15 00:18:14.186 - info: plenticore.0 (940) Read forecast data before calcMinSoC.
2022-02-15 00:18:14.194 - info: plenticore.0 (940) calcMinSoC for day 1.
2022-02-15 00:18:14.195 - info: plenticore.0 (940) Using forecast of day 1 for MinSoC calculation.
2022-02-15 00:18:14.283 - info: plenticore.0 (940) calcMinSoC for day 2.
2022-02-15 00:33:14.187 - info: plenticore.0 (940) Read forecast data before calcMinSoC.
2022-02-15 00:33:14.198 - info: plenticore.0 (940) calcMinSoC for day 1.
2022-02-15 00:33:14.199 - info: plenticore.0 (940) Using forecast of day 1 for MinSoC calculation.
2022-02-15 00:33:14.289 - info: plenticore.0 (940) calcMinSoC for day 2.
2022-02-15 00:48:14.187 - info: plenticore.0 (940) Read forecast data before calcMinSoC.
2022-02-15 00:48:14.205 - info: plenticore.0 (940) calcMinSoC for day 1.
2022-02-15 00:48:14.206 - info: plenticore.0 (940) Using forecast of day 1 for MinSoC calculation.
2022-02-15 00:48:14.303 - info: plenticore.0 (940) calcMinSoC for day 2.Was läuft da wohl schief???
-
@gjo Habe ich aus dem Bauch heraus auch keine Idee. @StrathCole : Eine Idee, wie sich das aus der Ferne am leichtesten eingrenzen lässt?
-
@bernd-0 Ist es denn ein normeler Plenticore und kein Piko Wechselrichter? Gibt es in der Oberfläche des Wechselrichters die entsprechenden Einstellungen?
-
@gjo Ist es die aktuelle git-Version des Adapters? Wenn ja, kommen beim Restart des Adapters irgendwelche Fehler oder Warnungen im Log?
-
@strathcole das war der Hinweis. Nach dem Neustart des Systems sind heute morgen alle forecastwerte wieder da.
Fehlermeldungen gab es aber weder während den fehlenden Werten noch beim Neustart.
Danke für die schnelle Hilfe
-
Gibt eine neue Firmware.
2022.02.16
KOSTAL_Update_PLENTICORE_PIKO_IQ_01.21.06586 (FW01.60/PAR03.44)
Änderungen-
Neues Verhalten des Ruhemode:
-
Bei Entladung auf den konfigurierten min. SoC wird die Trennstelle des Speichersystems geöffnet.
-
Sofortiges Aufwachen aus dem Ruhemode und Zuschalten der Batterie, sobald Überschussleistung zur Ladung vorhanden ist oder Ladung durch externe Steuerung angefordert wird.
-
-
Batterie-Notladung: Autom. Erhöhung des Delta-SoCs auf bis zu 15%, wenn während einer Schlechtwetterperiode die Batterie nicht geladen werden kann. Dadurch werden die Notlade-Vorgänge minimiert.
-
Serviceladung auf 100% kann in den Batterieeinstellungen des Webmenüs gestartet werden. (Nur mit Installateurs-Login möglich.)
-
PLENTICORE BI 10/26: CEI 0-16 und CEI 0-21 in den Ländereinstellungen hinzu
Klingt für mich nach sinnvollen Verbesserungen.
-
-
@strathcole Hi, ja das ist ein normaler Plenticore und die Weboberfläche zeigt unter Service-Menü, Batteriemanagement den entsprechenden Haken für intelligente Batteriesteuerung.
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. -
@diginix
ich habe das update jetzt eingespielt, keine Probleme soweit in der kurzen ZeitEin interressanter Teil in den neuen Batterieeinstellungen ist der graue Hinweis
d.h. dass Kostal sich dem Problem mit dem Nachladen angenommen hat und die Lösung von strathcole teilweise nachgebaut hat. Mal sehen wie das funktioniert.
@StrathCole, kann es jetzt Probleme bei der dynamischen minSoC Steuerung mit Deinen Adapter geben? Es versuchen ja dann 2 Programme den minSoC zu regeln