NEWS
IOBroker Anbindung an einen Kostal Plenticore
-
@strathcole said in IOBroker Anbindung an einen Kostal Plenticore:
Warum es bei dir nicht gut funktioniert, verstehe ich aber bisher noch nicht.
Ich habe gerade den Debugoutput eingeschaltet und bin Code und Output durchgegangen. Und siehe, die Ursache ich vermutlich simpel: Ich habe meine Speicherkapazität in kWh (5,12) anstatt Wh (5120) angegeben. Dadurch sind natürlich alle Vergleiche etc. Quatsch.
Mal schauen, was jetzt so in den nächsten Tagen passiert. Vielleicht lese ich mich auch weiter in den Code ein. Falls ich Vorschläge habe, melde ich mich. -
@homeuser sagte in IOBroker Anbindung an einen Kostal Plenticore:
@strathcole said in IOBroker Anbindung an einen Kostal Plenticore:
Warum es bei dir nicht gut funktioniert, verstehe ich aber bisher noch nicht.
Ich habe meine Speicherkapazität in kWh (5,12) anstatt Wh (5120) angegeben. Dadurch sind natürlich alle Vergleiche etc. Quatsch.
Das erklärt natürlich einiges.
-
@strathcole Hey, ich glaube das ist genau das was ich such
Habe eine OpenWB bzw. zwei und möchte wenn dort der Ladevorgang beginnt den Batteriespeicher auf z.B. Max 800W Erzeugung für die Dauer des Ladevorgangs drosseln sofern nicht PV-Laden aktiv ist. Die Holdingregister habe ich glaube ich alle soweit drin und mache auch schon eine Menge damit, aber das Thema Sofort Laden ohne den Speicher leerzusaugen ist aktuell meine Herausforderung. Kannst Du mir hier vielleicht mehr Infos geben? -
@bock-johannes sagte in IOBroker Anbindung an einen Kostal Plenticore:
Thema Sofort Laden ohne den Speicher leerzusaugen ist aktuell meine Herausforderung. Kannst Du mir hier vielleicht mehr Infos geben?
Damit der Akku nicht verwendet wird, reicht es idR dessen minSOC >= dem istSOC zu setzen.
Wenn dein Akku also z.B. 65% hat und der minSOC 5% ist und du das Auto laden willst, dann setzt du den minSOC auf 65% und der PV Akku sollte dann nicht entladen werden. -
@diginix Das ist die einfachste Variante ja. Dafür habe ich mir schon den Plenticore Adapter eingerichtet. Worauf ich aber eigentlich hinaus möchte ist, das wenn Sofort geladen wird für die Dauer des Ladevorgangs die Leistung aus dem Speicher auf 1000W z.B. begrenzt wird, ich denke dann hält der auch länger und umladen aus dem Speicher ist ja auch mit vielen Verlusten verbunden...
-
@diginix die Lösung habe ich schon etabliert und funktioniert super bisher
-
@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?