openWB Version: 1.7 Stable
openWB Variante: openWB series2 custom mit Touch-Display und RFID, 11kW
PV Modul / Wechselrichter: LG ESSV1 + Kostal Piko MP plus
EVU Modul: LG ESSV1
Speichermodul: LG ESSV1
Hallo
Ich habe zwei Wechselrichter wobei der einphasige Wechselrichter lediglich das Garagendach bedient.
Die Hauptlast und die Features kommen von der LG_ESS1 Anlage und die lässt sich in OpenWB einbinden (PV, Speicher und GridPower)
Nun habe ich mal versucht mir die Werte vom Kostal Piko anzeigen zu lassen bzw. diesen einzubinden, da es in Zukunft ja mal möglich sein könnte, dass man zwei Wechselrichter gleichzeitig einbinden können soll.
Leider hat das nicht funktioniert und ich musste feststellen, das Kostal Piko MP plus mit einem anderen Interface arbeitet als die vorherigen "Piko"
Es ist sogar so das Kostal keine eigenen einphasigen Wechselrichter mehr herstellt, sondern von Steca bezieht.
Das heißt die einphasigen Wechselrichter Kostal Piko MP plus und StecaGrid coolcept sind von der Schnittstelle her gleich.
Ob auch die Dreiphasigen mit dem unten vorgestellten script funktionieren kann ich nicht sagen.
Ich bin kein Experte in bash/script.
Aber soweit ich das getestet habe kann mit dem unten stehenden den Kostal Piko MP plus auslesen.
Ich hoffe sie werden dieses script als neues Modul implementieren (Piko MP Plus and SrecaGrid coolcept)
Eine Frage hätte ich noch warum werden die "total wattstunden" in einer variable gespeichert die „pvkwh“ heißt aber benötigt werden „wh“, oder hab ich etwas übersehen?
#!/bin/bash
#
# RainerW 8th of April 2020
# Unfortunately Kostal has introduced the third version of interface.
# This time it is XML
# This is for Kostal_Piko_MP_plus and StecaGrid coolcept (single phase inverter)
# In fact Kostal is not developing own single phase inverter anymore but is sourcing them from Steca
# If you have the chance to test this module for three phase inverter from Kostal (Plenticore) or Steca (coocept3 or coolcept XL) let us know if it works
. /var/www/html/openWB/openwb.conf
# Kostal Piko MP is using XML
# call for XML file and parse it with xmlstarlet for current PV power
power_kostal_piko_MP=$(curl --connect-timeout 5 -s $wrkostalpikoip/measurements.xml | xmlstarlet sel -t -v '/Measurements/Measurement[@Type="AC_Power"]/@Value')
# cut the comma and the digit behind the comma
power_kostal_piko_MP=$(echo $power_kostal_piko_MP | sed 's/\..*$//')
# allow only numbers
re='^-?[0-9]+$'
if ! [[ $power_kostal_piko_MP =~ $re ]] ; then
power_kostal_piko_MP="0"
fi
pcs_pv_total_power=$kostal_piko_MP
# call for XML file and parse it for total produced kwh
pvkwh_kostal_piko_MP=$(curl --connect-timeout 5 -s $wrkostalpikoip/yields.xml | xmlstarlet sel -t -v '/root/Device/Yields/Yield/YieldValue/@Value')
pvkwh=$pvkwh_kostal_piko_MP
## Daten in Ramdisk schreiben
echo $pvkwh > /var/www/html/openWB/ramdisk/pvkwh
echo '-'$pcs_pv_total_power > /var/www/html/openWB/ramdisk/pvwatt
echo '-'$pcs_pv_total_power
Ich habe mir übrigens OpenWB auf einen standalone Raspberry getrennt von der Wallbox installiert, kann also unabhängig von der fertigen Wallbox testen und ausprobieren.
BTW: Ich hab "wrkostalpikoip" benutzt welche in dem derzeitigen Kostal_Piko Modul gesetzt wird
Mit freundlichen Grüßen
RainerW
Kostal Piko MP plus und StecaGrid coolcept -XML Schnitttelle
Kostal Piko MP plus und StecaGrid coolcept -XML Schnitttelle
- Dateianhänge
-
- Kostal_Piko_MP_ and_StecaGrid_Coolcept.h
- Kostal_Piko_MP_ and_StecaGrid_Coolcept.sh
- (1.42 KiB) 288-mal heruntergeladen
OpenWB custom mit allem
-
- Site Admin
- Beiträge: 8595
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 4 times
- Been thanked: 43 times
Re: Kostal Piko MP plus und StecaGrid coolcept -XML Schnitttelle
in der nightly ist das für PV Kit und SMA zum testen schon der Fall.Nun habe ich mal versucht mir die Werte vom Kostal Piko anzeigen zu lassen bzw. diesen einzubinden, da es in Zukunft ja mal möglich sein könnte, dass man zwei Wechselrichter gleichzeitig einbinden können soll.
Gewachsene Struktur und nur im Backend relevant. Wh ist aber richtig die geschrieben werden.Eine Frage hätte ich noch warum werden die "total wattstunden" in einer variable gespeichert die „pvkwh“ heißt aber benötigt werden „wh“, oder hab ich etwas übersehen?
Grundsätzlich gerne.Ich hoffe sie werden dieses script als neues Modul implementieren (Piko MP Plus and SrecaGrid coolcept)
Einzig die Verwendung von xmlstarlet - da nicht Bestandteil einer openWB Installation finde ich unschön.
Wie sieht denn ein RAW curl Output aus?
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Re: Kostal Piko MP plus und StecaGrid coolcept -XML Schnitttelle
Untenstehend die XML files
Stimmt wir haben XML starlet installieren müssen.
Der Wert für pvwatt steht in "AC_Power" $wrkostalpikoip/measurements.xml.
Den Wert habe ich fett markiert
<root>
<Device Name="PIKO 3.0-1 MP plus" Type="Inverter" Platform="Net16" HmiPlatform="HMI17" NominalPower="3000" UserPowerLimit="nan" CountryPowerLimit="nan" Serial="763167DL006711690003" OEMSerial="10351314" BusAddress="1" NetBiosName="INV006711690003" WebPortal="PIKO Solar Portal" ManufacturerURL="kostal-solar-electric.com" IpAddress="192.168.179.49" DateTime="2020-04-08T08:49:26" MilliSeconds="047">
<Measurements>
<Measurement Value="235.1" Unit="V" Type="AC_Voltage"/>
<Measurement Value="0.761" Unit="A" Type="AC_Current"/>
<Measurement Value="180.3" Unit="W" Type="AC_Power"/>
<Measurement Value="179.2" Unit="W" Type="AC_Power_fast"/>
<Measurement Value="50.007" Unit="Hz" Type="AC_Frequency"/>
<Measurement Value="409.3" Unit="V" Type="DC_Voltage"/>
<Measurement Value="0.491" Unit="A" Type="DC_Current"/>
<Measurement Value="28.6" Unit="°C" Type="Temp"/>
<Measurement Value="408.9" Unit="V" Type="LINK_Voltage"/>
<Measurement Unit="W" Type="GridPower"/>
<Measurement Unit="W" Type="GridConsumedPower"/>
<Measurement Unit="W" Type="GridInjectedPower"/>
<Measurement Unit="W" Type="OwnConsumedPower"/>
<Measurement Value="100.0" Unit="%" Type="Derating"/>
</Measurements>
</Device>
</root>
Der bisherige Ertrag steht als Wert in der Struktur "Yields" $wrkostalpikoip/yields.xml.
Den Wert habe ich fett markiert.
<root>
<Device Name="PIKO 3.0-1 MP plus" Type="Inverter" Platform="Net16" HmiPlatform="HMI17" NominalPower="3000" UserPowerLimit="nan" CountryPowerLimit="nan" Serial="763167DL006711690003" OEMSerial="10351314" BusAddress="1" NetBiosName="INV006711690003" WebPortal="PIKO Solar Portal" ManufacturerURL="kostal-solar-electric.com" IpAddress="192.168.179.49" DateTime="2020-04-09T15:38:30" MilliSeconds="854">
<Yields>
<Yield Type="Produced" Slot="Total" Unit="Wh">
<YieldValue Value="4324803" TimeStamp="2019-03-22T12:00:00"/>
</Yield>
</Yields>
</Device>
</root>
Leider bin ich kein "sed" Künstler, könnten sie sich der Extrahierung der benötigten Daten annehmen, das wäre sehr nett.
Gerne teste ich das am live system.
Ich hab die obigen Daten nicht aus curl sondern aus dem browser. Ich tue mich sehr schwer mit den script Anwendungen (komme von der Arduino Programmierung). Ich denke aber das der file/Text gleich ist.
Mit freundlichen Grüßen
Rainer Wiesmann
Stimmt wir haben XML starlet installieren müssen.
Der Wert für pvwatt steht in "AC_Power" $wrkostalpikoip/measurements.xml.
Den Wert habe ich fett markiert
<root>
<Device Name="PIKO 3.0-1 MP plus" Type="Inverter" Platform="Net16" HmiPlatform="HMI17" NominalPower="3000" UserPowerLimit="nan" CountryPowerLimit="nan" Serial="763167DL006711690003" OEMSerial="10351314" BusAddress="1" NetBiosName="INV006711690003" WebPortal="PIKO Solar Portal" ManufacturerURL="kostal-solar-electric.com" IpAddress="192.168.179.49" DateTime="2020-04-08T08:49:26" MilliSeconds="047">
<Measurements>
<Measurement Value="235.1" Unit="V" Type="AC_Voltage"/>
<Measurement Value="0.761" Unit="A" Type="AC_Current"/>
<Measurement Value="180.3" Unit="W" Type="AC_Power"/>
<Measurement Value="179.2" Unit="W" Type="AC_Power_fast"/>
<Measurement Value="50.007" Unit="Hz" Type="AC_Frequency"/>
<Measurement Value="409.3" Unit="V" Type="DC_Voltage"/>
<Measurement Value="0.491" Unit="A" Type="DC_Current"/>
<Measurement Value="28.6" Unit="°C" Type="Temp"/>
<Measurement Value="408.9" Unit="V" Type="LINK_Voltage"/>
<Measurement Unit="W" Type="GridPower"/>
<Measurement Unit="W" Type="GridConsumedPower"/>
<Measurement Unit="W" Type="GridInjectedPower"/>
<Measurement Unit="W" Type="OwnConsumedPower"/>
<Measurement Value="100.0" Unit="%" Type="Derating"/>
</Measurements>
</Device>
</root>
Der bisherige Ertrag steht als Wert in der Struktur "Yields" $wrkostalpikoip/yields.xml.
Den Wert habe ich fett markiert.
<root>
<Device Name="PIKO 3.0-1 MP plus" Type="Inverter" Platform="Net16" HmiPlatform="HMI17" NominalPower="3000" UserPowerLimit="nan" CountryPowerLimit="nan" Serial="763167DL006711690003" OEMSerial="10351314" BusAddress="1" NetBiosName="INV006711690003" WebPortal="PIKO Solar Portal" ManufacturerURL="kostal-solar-electric.com" IpAddress="192.168.179.49" DateTime="2020-04-09T15:38:30" MilliSeconds="854">
<Yields>
<Yield Type="Produced" Slot="Total" Unit="Wh">
<YieldValue Value="4324803" TimeStamp="2019-03-22T12:00:00"/>
</Yield>
</Yields>
</Device>
</root>
Leider bin ich kein "sed" Künstler, könnten sie sich der Extrahierung der benötigten Daten annehmen, das wäre sehr nett.
Gerne teste ich das am live system.
Ich hab die obigen Daten nicht aus curl sondern aus dem browser. Ich tue mich sehr schwer mit den script Anwendungen (komme von der Arduino Programmierung). Ich denke aber das der file/Text gleich ist.
Mit freundlichen Grüßen
Rainer Wiesmann
OpenWB custom mit allem
Re: Kostal Piko MP plus und StecaGrid coolcept -XML Schnitttelle
Guten Abend in die Runde,
gestern ist meine Series2 angekommen, derweil teste ich schon auf der Standalone - Hauptaugenmerk zunächst auf dem PV-Modul wr2_kostalsteca.
Nun habe ich einen Solarworld-gelabelten StecaGrid Coolcept3 5503.
Die "measurements.xml" sieht bei mir so aus
<root>
<Device Name="Sunplug eco 5.5 TL3i" Type="Inverter" Serial="754299AH005727330003" BusAddress="1" NetBiosName="INV005727330003" IpAddress="192.168.2.33" DateTime="2021-02-24T17:21:30">
<Measurements>
<Measurement Value="226.363" Unit="V" Type="AC_Voltage1"/>
<Measurement Value="228.630" Unit="V" Type="AC_Voltage2"/>
<Measurement Value="226.187" Unit="V" Type="AC_Voltage3"/>
<Measurement Value="-nan" Unit="A" Type="AC_Current1"/>
<Measurement Value="-nan" Unit="A" Type="AC_Current2"/>
<Measurement Value="-nan" Unit="A" Type="AC_Current3"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power1"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power2"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power3"/>
<Measurement Value="49.982" Unit="Hz" Type="AC_Frequency1"/>
<Measurement Value="49.983" Unit="Hz" Type="AC_Frequency2"/>
<Measurement Value="49.982" Unit="Hz" Type="AC_Frequency3"/>
<Measurement Value="26.100" Unit="V" Type="DC_Voltage"/>
<Measurement Value="-nan" Unit="A" Type="DC_Current"/>
<Measurement Value="-nan" Unit="W" Type="DC_Power"/>
<Measurement Value="29.790" Unit="°C" Type="Temp"/>
<Measurement Value="nan" Unit="W" Type="Consumption PV"/>
<Measurement Value="nan" Unit="W" Type="Consumption Grid"/>
<Measurement Value="nan" Unit="W" Type="GridPower"/>
<Measurement Value="100.0" Unit="%" Type="Dearting"/>
</Measurements>
</Device>
</root>
Wenn ich richtig verstanden habe, extrahiert das Script mit
grep -Po "Value=\'\K[^\']*" alles ab dem ersten Ausdruck "Value",
sed -m 3p pickt sich dann die dritte Zeile raus.
Beim 3phasigen WR steht die PV-Ausgangsleistung jetzt in der siebten Zeile (im Beispiel "-nan", da aktuell ziemlich dunkel draußen9
Alles ein bißchen statisch - ist es nicht möglich, mittels grep gleich gezielt die Zeile mit "AC_Power" aus der measurements.xml zu extrahieren?
Damit wären vermutlich alle Kostal- und Steca-WR älteren Baujahrs u/o mit xml-Schnittstelle erschlagen.
Ich kann leider nur schlaue Vorschläge bringen, und nicht selber programmieren.
Die "yields.xml" ist bei mir übrigens leer, ggf. schafft ein Firmware-update Abhilfe - sofern Steca mir die zur Verfügung stellt.
Schöne Grüße aus'm Allgäu
Florian
gestern ist meine Series2 angekommen, derweil teste ich schon auf der Standalone - Hauptaugenmerk zunächst auf dem PV-Modul wr2_kostalsteca.
Nun habe ich einen Solarworld-gelabelten StecaGrid Coolcept3 5503.
Die "measurements.xml" sieht bei mir so aus
<root>
<Device Name="Sunplug eco 5.5 TL3i" Type="Inverter" Serial="754299AH005727330003" BusAddress="1" NetBiosName="INV005727330003" IpAddress="192.168.2.33" DateTime="2021-02-24T17:21:30">
<Measurements>
<Measurement Value="226.363" Unit="V" Type="AC_Voltage1"/>
<Measurement Value="228.630" Unit="V" Type="AC_Voltage2"/>
<Measurement Value="226.187" Unit="V" Type="AC_Voltage3"/>
<Measurement Value="-nan" Unit="A" Type="AC_Current1"/>
<Measurement Value="-nan" Unit="A" Type="AC_Current2"/>
<Measurement Value="-nan" Unit="A" Type="AC_Current3"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power1"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power2"/>
<Measurement Value="-nan" Unit="W" Type="AC_Power3"/>
<Measurement Value="49.982" Unit="Hz" Type="AC_Frequency1"/>
<Measurement Value="49.983" Unit="Hz" Type="AC_Frequency2"/>
<Measurement Value="49.982" Unit="Hz" Type="AC_Frequency3"/>
<Measurement Value="26.100" Unit="V" Type="DC_Voltage"/>
<Measurement Value="-nan" Unit="A" Type="DC_Current"/>
<Measurement Value="-nan" Unit="W" Type="DC_Power"/>
<Measurement Value="29.790" Unit="°C" Type="Temp"/>
<Measurement Value="nan" Unit="W" Type="Consumption PV"/>
<Measurement Value="nan" Unit="W" Type="Consumption Grid"/>
<Measurement Value="nan" Unit="W" Type="GridPower"/>
<Measurement Value="100.0" Unit="%" Type="Dearting"/>
</Measurements>
</Device>
</root>
Wenn ich richtig verstanden habe, extrahiert das Script mit
grep -Po "Value=\'\K[^\']*" alles ab dem ersten Ausdruck "Value",
sed -m 3p pickt sich dann die dritte Zeile raus.
Beim 3phasigen WR steht die PV-Ausgangsleistung jetzt in der siebten Zeile (im Beispiel "-nan", da aktuell ziemlich dunkel draußen9
Alles ein bißchen statisch - ist es nicht möglich, mittels grep gleich gezielt die Zeile mit "AC_Power" aus der measurements.xml zu extrahieren?
Damit wären vermutlich alle Kostal- und Steca-WR älteren Baujahrs u/o mit xml-Schnittstelle erschlagen.
Ich kann leider nur schlaue Vorschläge bringen, und nicht selber programmieren.
Die "yields.xml" ist bei mir übrigens leer, ggf. schafft ein Firmware-update Abhilfe - sofern Steca mir die zur Verfügung stellt.
Schöne Grüße aus'm Allgäu
Florian
Steca Coolcept3 5503 / Hyundai Ioniq vFL / OpenWB series2 Standard+ software 2.1/ SDM630 / evSoc
Re: Kostal Piko MP plus und StecaGrid coolcept -XML Schnitttelle
Hallo
ich habe seit gestern einen Kostal Piko MP plus 3.6-1 zusätzlich zum meinem Kostal Plenticore 8.5 in Betrieb genommen.
Aber es scheinen die Werte in der OpenWB nicht zu stimmen wenn ich den 2 Wechselrichter in der Konfig dazu nehme.
Ein Beispiel: Der Plenticore WR zeigt folgendes:
Der "neue" Kostal Piko MP plus zeigt folgendes an:
Die OpenWB zeigt folgendes an:
Wie kommt diese Abweichung zustande?
Die Wechselrichter habe ich wie folgt integriert:
ich habe seit gestern einen Kostal Piko MP plus 3.6-1 zusätzlich zum meinem Kostal Plenticore 8.5 in Betrieb genommen.
Aber es scheinen die Werte in der OpenWB nicht zu stimmen wenn ich den 2 Wechselrichter in der Konfig dazu nehme.
Ein Beispiel: Der Plenticore WR zeigt folgendes:
Der "neue" Kostal Piko MP plus zeigt folgendes an:
Die OpenWB zeigt folgendes an:
Wie kommt diese Abweichung zustande?
Die Wechselrichter habe ich wie folgt integriert: