Kostal Piko CI

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

steiwes
Beiträge: 17
Registriert: So 24. Okt 2021, 20:01

Re: Kostal Piko CI

Beitrag von steiwes »

TeamO hat geschrieben:
Mo 8. Nov 2021, 17:07
Denke, dass hier eher andere Register ausgelesen werden müssen.
Da benötigt Ulrich die Protokoll-Beschreibung und/oder muss es sich selber mal anschauen.
Da können weder Enrico noch ich helfen.
Vllt. hilft das hier schon?
https://www.kostal-solar-electric.com/e ... iko-ci.pdf

Seiten 10-12

Gerd
Beiträge: 134
Registriert: Di 6. Aug 2019, 22:06
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Kostal Piko CI

Beitrag von Gerd »

steiwes hat geschrieben:
Mo 8. Nov 2021, 19:08
Gerd hat geschrieben:
Mo 8. Nov 2021, 17:06
Stell mal den Regler 17 ein, der CI ist bis auf den 4ten String kompatibel
Regler 17 habe ich ja schon eingestellt. Ich vermute auch, dass andere Register ausgelesen werden müssen. Fragt sich nur, wie man raus findet welche :roll:

Bist du mit der Kostal CI App mal draufgekommen?
Cu Gerd
My Coffee is always #000000!

solarfanenrico
Beiträge: 593
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 31 Mal
Danksagung erhalten: 37 Mal

Re: Kostal Piko CI

Beitrag von solarfanenrico »

Hallo,
ich habe die solaranzeige nicht programmiert (könnte ich auch gar nicht, bin auch nur Bastler), aber ich glaube daß der Begriff Register auch anders interpretiert werden kann.

Beim Regler 17 werden folgende Werte mit entsprechenden Zuordnungen ausgelesen und in die InfluxDB geschrieben.
case 17:
if (date( "i" ) == "01" or $daten["Demodaten"] or date( "H" ) == date( "H", $Sonnenaufgang )) {
$query .= "Info ";
$query .= "Firmware=".$daten["Firmware"];
$query .= ",Produkt=\"".$daten["Produkt"]."\"";
$query .= ",Objekt=\"".$daten["Objekt"]."\"";
$query .= ",Datum=\"".$daten["Datum"]."\"";
$query .= " ".$daten["zentralerTimestamp"];
$query .= "\n";
}
$query .= "AC ";
$query .= "Spannung_R=".$daten["AC_Spannung_R"];
if ($daten["AnzahlPhasen"] == 3) {
$query .= ",Spannung_S=".$daten["AC_Spannung_S"];
$query .= ",Spannung_T=".$daten["AC_Spannung_T"];
}
$query .= ",Frequenz=".$daten["AC_Frequenz"];
$query .= ",Leistung=".$daten["AC_Leistung"];
$query .= ",Scheinleistung=".$daten["AC_Scheinleistung"];
$query .= ",Wirkleistung=".$daten["AC_Wirkleistung"];
$query .= ",Ausgangslast=".$daten["Ausgangslast"];
$query .= ",Verbrauch=".$daten["Verbrauch"];
$query .= ",Einspeisung=".$daten["Einspeisung"];
$query .= ",Ueberschuss=".$daten["Ueberschuss"];
$query .= ",Solarleistung=".$daten["AC_Solarleistung"];
$query .= ",Verbrauch_Netz=".$daten["Verbrauch_Netz"];
$query .= ",Verbrauch_Batterie=".$daten["Verbrauch_Batterie"];
$query .= ",Verbrauch_PV=".$daten["Verbrauch_PV"];
$query .= " ".$daten["zentralerTimestamp"];
$query .= "\n"; // *
$query .= "Batterie ";
$query .= "Spannung=".$daten["Batteriespannung"];
$query .= ",Strom=".$daten["Batteriestrom"];
$query .= ",SOC=".$daten["SOC"];
$query .= ",Temperatur=".$daten["Batterie_Temperatur"];
$query .= ",Anzahl_Zyklen=".$daten["Bat_Cycles"];
$query .= ",Lade_Entladeleistung=".$daten["Bat_Charge_Power"];
$query .= ",BatterieStatus=\"".$daten["BatterieStatus"]."\"";
$query .= ",Bat_Act_SOC=".$daten["Bat_Act_SOC"];
if ($daten["Softwarestand"] > "01.44") {
$query .= ",Max_Charge_Limit=".$daten["Max_Charge_Limit"];
$query .= ",Max_Discharge_Limit=".$daten["Max_Discharge_Limit"];
$query .= ",Max_SOC_Rel=".$daten["Max_SOC_Rel"];
$query .= ",Min_SOC_Rel=".$daten["Min_SOC_Rel"];
$query .= ",ExternalControl=".$daten["ExternalControl"];
$query .= ",Bat_Work_Capacity=".$daten["Bat_Work_Capacity"];
$query .= ",Bat_Seriennummer=\"".$daten["Bat_Seriennummer"]."\"";
}
$query .= " ".$daten["zentralerTimestamp"];
$query .= "\n"; // *
$query .= "PV ";
$query .= "Gesamtleistung=".$daten["PV_Leistung"];
$query .= ",Spannung_Str_1=".$daten["PV1_Spannung"];
$query .= ",Leistung_Str_1=".$daten["PV1_Leistung"];
$query .= ",Strom_Str_1=".$daten["PV1_Strom"];
if ($daten["AnzahlStrings"] > 1) {
$query .= ",Spannung_Str_2=".$daten["PV2_Spannung"];
$query .= ",Strom_Str_2=".$daten["PV2_Strom"];
$query .= ",Leistung_Str_2=".$daten["PV2_Leistung"];
}
if ($daten["AnzahlStrings"] > 2) {
$query .= ",Spannung_Str_3=".$daten["PV3_Spannung"];
$query .= ",Strom_Str_3=".$daten["PV3_Strom"];
$query .= ",Leistung_Str_3=".$daten["PV3_Leistung"];
}
$query .= " ".$daten["zentralerTimestamp"];
$query .= "\n"; // *
$query .= "Service ";
$query .= "Status=".$daten["Status"];
$query .= ",Temp_WR_Cab=".$daten["Temp_WR_Cab"];
$query .= ",Temp_WR_Sink=".$daten["Temp_WR_Sink"];
$query .= ",Temp_WR_Trans=".$daten["Temp_WR_Trans"];
$query .= ",Seriennummer=\"".$daten["Seriennummer"]."\"";
$query .= ",DC_Gesamtleistung=".$daten["Total_DC_Power"];
$query .= ",Laufzeit=".$daten["Laufzeit"];
$query .= ",WirkungsgradWR=".$daten["WirkungsgradWR"];
$query .= ",Energiemanager_Status=".$daten["Energiemanager_Status"];
$query .= " ".$daten["zentralerTimestamp"];
$query .= "\n"; // *
$query .= "Summen ";
$query .= "Wh_Heute=".round( $daten["WattstundenGesamtHeute"], 2 );
$query .= ",Wh_Gesamt_Monat=".$daten["WattstundenGesamtMonat"];
$query .= ",Wh_Gesamt_Jahr=".$daten["WattstundenGesamtJahr"];
$query .= ",Wh_Gesamt=".$daten["WattstundenGesamt"];
$query .= ",Wh_Gesamtverbrauch_Netz=".$daten["Gesamtverbrauch_Netz"];
$query .= ",Wh_Gesamtverbrauch_PV=".$daten["Gesamtverbrauch_PV"];
$query .= ",Wh_Gesamtverbrauch_Batterie=".$daten["Gesamtverbrauch_Batterie"];
$query .= " ".$daten["zentralerTimestamp"];
$query .= "\n";
break;
Mein Hoffnung geht in die Richtung, daß die jeweiligen Begriffe hinter den $query in der /var/www/html/solaranzeige.log wiederkehren und dahinter Werte angezeigt werden.
Ganz so untypisch und völlig entartet werden die nicht sein.

Mit diesem Wissen kann man sich sein persönliches Dashboard bauen, und ggf.auch seine persönliche /phpinc/funktionen.inc.php anpassen.

Bei letzterem Schritt sollte man sich diese Datei jedoch sichern, da sie nach einem solaranzeigen-update wieder überschrieben werden würde.

Wie Gerd bereits geschrieben hat, ist dieser Regler scheinbar bis auf den Strang4 mit Regler 17 ähnlich auszulesen.



Enrico

steiwes
Beiträge: 17
Registriert: So 24. Okt 2021, 20:01

Re: Kostal Piko CI

Beitrag von steiwes »

Die CI App kann eigentlich nicht wirklich etwas. Auf der ersten Seite werden die ganzen Werte ausgegeben und dann kann man das Gerät Einrichten.

Ich denke man muss mal alle Register auslesen und dann die Werte mit denen in der App vergleichen. Da wird man vermutlich am ehesten was erkennen.

Vllt. schaffe ich das nach und nach zwischendurch mal. Mit der Anleitung, die ich oben verlinkt habe bekommt man ja schon mal eine Idee, wie das grundsätzlich funktioniert. Vllt. finde ich die ZEit mich da etwas einzuarbeiten. :-p

Gerd
Beiträge: 134
Registriert: Di 6. Aug 2019, 22:06
Hat sich bedankt: 4 Mal
Danksagung erhalten: 1 Mal

Re: Kostal Piko CI

Beitrag von Gerd »

Sebastian, dann mach dir mal die Mühe und vergleiche die Schnittstellen Beschreibung des Plenticore mit der von dir eingestellten

Bist du per LAN an dem WR, ist Modbus aktiv?
Cu Gerd
My Coffee is always #000000!

steiwes
Beiträge: 17
Registriert: So 24. Okt 2021, 20:01

Re: Kostal Piko CI

Beitrag von steiwes »

Moin zusammen.

Der ist per LAN dran. Hier mal die Logs von dem CI 30:
(
[zentralerTimestamp] => 1636442651
[Seriennummer] => 2108-561
[AnzahlPhasen] => 3
[AnzahlStrings] => 2
[Softwarestand] => 30200-04
[Status] => 0
[PV_Leistung] => -1.1676102671448E+33
[Energiemanager_Status] => 0
[BatterieStatus] => Normal
[Verbrauch_Batterie] => 0
[Verbrauch_Netz] => 0
[Gesamtverbrauch_Batterie] => 0
[Gesamtverbrauch_Netz] => 0
[Gesamtverbrauch_PV] => 0
[Verbrauch_PV] => 0
[Gesamtverbrauch] => 0
[AC_Frequenz] => -4.9504011310921E+32
[Ausgangslast] => 0
[AC_Spannung_R] => 5.4277064013906E+15
[AC_Spannung_S] => 2
[AC_Spannung_T] => 107617816
[AC_Leistung] => 0
[AC_Wirkleistung] => -104492640
[AC_Scheinleistung] => -0
[Bat_Cycles] => 0
[Batteriestrom] => -0
[SOC] => 0
[Batteriestatus] => 0
[Batterie_Temperatur] => 0
[Batteriespannung] => 0
[WattstundenGesamt] => -0
[WattstundenGesamtHeute] => 0
[WattstundenGesamtMonat] => -1.4443408080765E+17
[WattstundenGesamtJahr] => -0
[PV1_Strom] => -0
[PV1_Leistung] => -1.1676102671448E+33
[PV1_Spannung] => 0
[PV2_Strom] => 126836604928
[PV2_Leistung] => 63295952257024
[PV2_Spannung] => -769940324352
[PV3_Strom] => 0
[PV3_Leistung] => 0
[PV3_Spannung] => 0
[AC_Solarleistung] => 470
[Bat_Act_SOC] => 0
[Total_DC_Power] => -27416913920
[Bat_Charge_Power] => 0
[Laufzeit] => -2
[Temp_WR_Cab] => 0
[Temp_WR_Sink] => 0
[Temp_WR_Trans] => 2
[Max_Charge_Limit] => 0
[Max_Discharge_Limit] => 0
[Min_SOC_Rel] => 0
[Max_SOC_Rel] => 0
[ExternalControl] => 0
[Bat_Work_Capacity] => 0
[Bat_Seriennummer] => 0
[Verbrauch] => 0
[Einspeisung] => 470
[Ueberschuss] => 470
[WirkungsgradWR] => 0
[Regler] => 17
[Objekt] => Kostal Piko CI 30
[Firmware] => 30200-04
[Produkt] => 2108-561
)
und zum Vergleich mal die Werte vom Plenticore BI 5.5, an dem nur der Akku hängt, aber keine Panels:
(
[zentralerTimestamp] => 1636442651
[Seriennummer] => 91109UBC
[AnzahlPhasen] => 3
[AnzahlStrings] => 1
[Softwarestand] => 01.57
[Status] => 6
[PV_Leistung] => 0
[Energiemanager_Status] => 0
[BatterieStatus] => Normal
[Verbrauch_Batterie] => 0
[Verbrauch_Netz] => 0
[Gesamtverbrauch_Batterie] => 579695.25
[Gesamtverbrauch_Netz] => 417444.72
[Gesamtverbrauch_PV] => 122.87
[Verbrauch_PV] => 0
[Gesamtverbrauch] => 988592.88
[AC_Frequenz] => 50.01
[Ausgangslast] => 98.82
[AC_Spannung_R] => 225.56
[AC_Spannung_S] => 225.99
[AC_Spannung_T] => 226.06
[AC_Leistung] => -4224
[AC_Wirkleistung] => 397.32
[AC_Scheinleistung] => 4245.27
[Bat_Cycles] => 28
[Batteriestrom] => 9.44
[SOC] => 44
[Batteriestatus] => 5.1042355038141E+38
[Batterie_Temperatur] => 13
[Batteriespannung] => 428.04
[WattstundenGesamt] => 586704.63
[WattstundenGesamtHeute] => 3740.03
[WattstundenGesamtMonat] => 87227.73
[WattstundenGesamtJahr] => 586704.63
[PV1_Strom] => 0
[PV1_Leistung] => 0
[PV1_Spannung] => 0
[PV2_Strom] => 0
[PV2_Leistung] => 0
[PV2_Spannung] => 0
[PV3_Strom] => 0
[PV3_Leistung] => 0
[PV3_Spannung] => 0
[AC_Solarleistung] => -4224
[Bat_Act_SOC] => 44
[Total_DC_Power] => -4043.4
[Bat_Charge_Power] => -4040
[Laufzeit] => 4371010
[Temp_WR_Cab] => 42.3
[Temp_WR_Sink] => 39.5
[Temp_WR_Trans] => 42.9
[Max_Charge_Limit] => 11129.01
[Max_Discharge_Limit] => 11129.01
[Min_SOC_Rel] => 5
[Max_SOC_Rel] => 100
[ExternalControl] => 0
[Bat_Work_Capacity] => 25228.8
[Bat_Seriennummer] => 00b7733e
[Verbrauch] => 0
[Einspeisung] => -4224
[Ueberschuss] => 0
[WirkungsgradWR] => 0
[Regler] => 17
[Objekt] => Plenticore BI
[Firmware] => 01.57
[Produkt] => 91109UBC
)
Ich denke wirklich, da muss mal mal alle Register auslesen und die Werte in der App vergleichen. Das werde ich nach und nach mal versuchen, wie es die Zeit zulässt.

Danke euch erstmal.

Beste Grüße
Sebastian

TeamO
Beiträge: 422
Registriert: Mo 22. Jun 2020, 08:58
Hat sich bedankt: 4 Mal
Danksagung erhalten: 66 Mal

Re: Kostal Piko CI

Beitrag von TeamO »

solarfanenrico hat geschrieben:
Mo 8. Nov 2021, 19:42
Hallo,
ich habe die solaranzeige nicht programmiert (könnte ich auch gar nicht, bin auch nur Bastler)
Und genau deswegen solltest Du nicht überall etwas schreiben und mehr verwirren als zu helfen. Hier MUSS Ulrich helfen.

Es sieht aus, als wenn bei Piko CI die Daten anders ausgelesen werden müssen, da das Protokoll sich vom Plenticore unterscheidet.
Ich könnte mich jetzt zwar hinsetzen und die Unterschiede raussuchen und anpassen, aber das überlassen wir lieber Ulrich. Er weis was wo zu machen ist.

Das ist durch die Werte in der Datenbank ersichtlich, da hier nichts stimmt. Sollte beim ersten Blick auf Frequenz eigentlich jedem klar sein.

Bitte nur noch etwas schreiben, wenn man wirklich helfen kann. Es macht vieles hier im Forum unübersichtlich und verwirrt viele nur.

solarfanenrico
Beiträge: 593
Registriert: Mi 20. Jan 2021, 19:49
Hat sich bedankt: 31 Mal
Danksagung erhalten: 37 Mal

Re: Kostal Piko CI

Beitrag von solarfanenrico »

TeamO hat geschrieben:
Di 9. Nov 2021, 09:15
solarfanenrico hat geschrieben:
Mo 8. Nov 2021, 19:42
Hallo,
ich habe die solaranzeige nicht programmiert (könnte ich auch gar nicht, bin auch nur Bastler)
Und genau deswegen solltest Du nicht überall etwas schreiben und mehr verwirren als zu helfen. Hier MUSS Ulrich helfen.

Es sieht aus, als wenn bei Piko CI die Daten anders ausgelesen werden müssen, da das Protokoll sich vom Plenticore unterscheidet.
Ich könnte mich jetzt zwar hinsetzen und die Unterschiede raussuchen und anpassen, aber das überlassen wir lieber Ulrich. Er weis was wo zu machen ist.

Das ist durch die Werte in der Datenbank ersichtlich, da hier nichts stimmt. Sollte beim ersten Blick auf Frequenz eigentlich jedem klar sein.

Bitte nur noch etwas schreiben, wenn man wirklich helfen kann. Es macht vieles hier im Forum unübersichtlich und verwirrt viele nur.
Mit dieser Einstellung wünsche ich euch viel Erfolg, mit den Fehlermeldungen der Growatt-S-Nutzer, nach ihrem nächsten Solaranzeigen-Update

steiwes
Beiträge: 17
Registriert: So 24. Okt 2021, 20:01

Re: Kostal Piko CI

Beitrag von steiwes »

So. Letzter Post vorerst, da ich denke jetzt kommt man weiter:

Wir brauchen definitiv eine neue Konfig für den CI. In der folgenden Datei findet man auf Seiten 27-29 die definierten Inhalte der einzelnen Register:
https://www.kostal-solar-electric.com/e ... iko-ci.pdf

Das ist die gleiche Datei wie oben, aber da war ich noch nicht so im Thema und hab das irgendwie nicht geblickt, aber auf den Seiten müsste eigentlich alles stehen, was man braucht, um den CI auszulesen.

Benutzeravatar
Ulrich
Administrator
Beiträge: 2867
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 32 Mal
Danksagung erhalten: 181 Mal
Kontaktdaten:

Re: Kostal Piko CI

Beitrag von Ulrich »

Hallo Enrico,

bitte schreibe nicht zu jedem Beitrag eine Vermutung, sondern nur eine Lösung, wenn du sie definitiv kennst. Nicht die Menge der Beiträge ist entscheidend, sondern die Qualität. Halte dich bitte etwas zurück. Du hast nicht die Verantwortung für dieses Forum.

Danke!


Der Pico CL muss wohl auf die Wunschliste.
--------------------------------------
Ulrich [Admin]

Antworten