Kostal Piko Wechselrichter Modul

Hallo Hicomer,

Besten Dank. Hatte ich glatt überlesen :banghead:. Hab mich irgendwie auf die Modul-Lösung von Hermann fixiert.

Grüße
Ansgar

Hallo,
ich habe jetzt den PIKO auf die neueste Version geupdatet. jetzt funktioniert allerdings der zugriff nicht mehr über: http://pvserver:pvwr@192.168.1.9

Ebenso holt das Modul keine Daten vom WR ab…
Jemand ne Idee?

Hallo tom376,

hast mal hier nachgeschaut?
WR Kostal Piko 5.5 Skript Update - Seite 2

Grüße
Hicomer

JA…

was soll man da den ntun? habe das script ausgeführt aber bringt nix…
steh ich auf dem schlauch?

Da bekomm ich dann nur eine Ausgabe über eigenverbrauchsquote … aber wo kann ich denn dann die aktuelle Leistung sehen?
Hätte gerne wieder den Tagesertrag, aktuelle Leistung und Gesamtertrag gesehen.

Ok… das hab ich hinbekommen…:cool::cool:

Wie bekomme ich die Werte die ausgelesen werden in IPS zum anzeigen ohne jedesmal ein script ausführen zu müssen…???

Also das das nun der Befehl SetValueFloat sein wird hab ich mal rausgefunden.
kann mir jemand die Werte die hier per Echo ausgegeben werden so humstellen das eine Variable mit ausgefüllt wird?
Eine Reicht als Beispiel … den Rest bekomme ich dann schon hin

$url = „http://“.$IPAdresse."/api/dxs.json".
„?dxsEntries=“.$ID_Ertrag_d.
„&dxsEntries=“.$ID_Hausverbrauch_d.
„&dxsEntries=“.$ID_Eigenverbrauch_d.
„&dxsEntries=“.$ID_Eigenverbrauchsquote_d.
„&dxsEntries=“.$ID_Autarkiegrad_d.
„&sessionId=3378188426“;
$response = file_get_contents("$url", „r“);
$dataObject = json_decode($response);
echo "Ertrag Tag= ".$dataObject->dxsEntries[0]->value.„Wh“.chr(13);
echo „Eigenverbrauchsquote Tag= „.$dataObject->dxsEntries[3]->value.“%“.chr(13);

$url = „http://“.$IPAdresse."/api/dxs.json".
„?dxsEntries=“.$ID_Ertrag_G.
„&dxsEntries=“.$ID_Hausverbrauch_G.
„&dxsEntries=“.$ID_Eigenverbrauch_G.
„&dxsEntries=“.$ID_Eigenverbrauchsquote_G.
„&dxsEntries=“.$ID_Autarkiegrad_G.
„&dxsEntries=“.$ID_Betriebszeit.
„&sessionId=3378188426“;
$response = file_get_contents("$url", „r“);
$dataObject = json_decode($response);
echo "Ertrag Gesamt= ".$dataObject->dxsEntries[0]->value.„kWh“.chr(13);
echo „Eigenverbrauchsquote Gesamt= „.$dataObject->dxsEntries[3]->value.“%“.chr(13);

?>

Hallo,
also wenn ich schreibe:

SetValueFloat(47788, $ID_Ausgangsleistung);

basierend auf dem Script WR Kostal Piko 5.5 Skript Update - Seite 2

die Zeile dort lautet $ID_Ausgangsleistung = 67109120; // in W

bekomme ich als Ausgabe in die Datei die Zahl 67109120 geschrieben und nicht den Wert der ausgelesen wird.

Was mache ich falsch=???

Hallo Tom376,
du musst mit $ID_Ausgangsleistung den Wert erst anfordern.
Die Rückgabe, z.B dxsEntries[0] kannst du dann der Variable zuweisen.
Ich bin leider noch unterwegs, vielleicht schaffe ich es aber heute Abend ein Stück code zusammen zu schreiben.
Grüße hicomer

Gesendet von meinem PLK-L01 mit Tapatalk

Danke dir!
Wäre die wirklich sehr DANKBAR wenn du das für mich machen könntest!
BEkomme das nicht ohne Hilfe hin.

Bis später!

ungetestet, aber so solltest Du an Deine 3 Werte kommen.
Grüße
Hicomer


<?
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
// Tagesertrag, aktuelle Leistung und Gesamtertrag

//Kommunikation
$IPAdresse = "192.168.178.224";

$ID_DCEingangGesamt = 33556736;       // in W
$ID_Ertrag_d = 251658754;               // in Wh
$ID_Ertrag_G = 251658753;               // in kWh

$IpsVar_DCEingangGesamt = 47788;
$IpsVar_Ertrag_d = 11111;
$IpsVar_Ertrag_G = 22222;

$url = "http://".$IPAdresse."/api/dxs.json".
"?dxsEntries=".$ID_DCEingangGesamt.
"&dxsEntries=".$ID_Ertrag_d.
"&dxsEntries=".$ID_Ertrag_G.
"&sessionId=3378188426";
$response = file_get_contents("$url", "r");
$dataObject = json_decode($response);

//Variable für aktuelle Leistung (ID_DCEingangGesamt) setzen
SetValueFloat(IpsVar_DCEingangGesamt, $dataObject->dxsEntries[0]->value);

//Variable für Tagesertrag (ID_Ertrag_d) setzen
SetValueFloat(IpsVar_Ertrag_Gd, $dataObject->dxsEntries[1]->value);

//Variable für Gesamtertrag (ID_Ertrag_G) setzen
SetValueFloat(IpsVar_Ertrag_G, $dataObject->dxsEntries[2]->value);

?>

Danke dir vorab für deine Hilfe!
Werde es heut Abend mal testen! sieht aber gut aus… Bin leider kein Profi Programmierer, kann aber mit deiner Hilfe das von dir geschriebene auch so erweitern das ich auch andere Werte in eine Variable bringe :smiley:
Würde dir gerne ein Bier anbieten als Dankeschön:-D

Kein Problem, wir helfen uns hier doch gegenseitig.
Aber vielleicht schaffen wir es trotzdem irgendwann, ein Bier zu trinken :slight_smile:

Gesendet von meinem PLK-L01 mit Tapatalk

Eine Frage noch vorweg… wie kann ich aus den Wattstunden Kw/h machen :cool: ?
Finde das liest sich besser:)
Leg jetzt noch eine drauf… sind die angezeigten Werte dann nach dem Komma gerundet? Wäre super wenn dann da nicht x Stellen nach dem Komma sind:-D

So…
habe das Script in die Praxis umgesetzt… Hat fast funktioniert… Hattest 2, 3 Schreibfehler weshalb es nicht ging, aber das habe ich hinbekommen:)
Hier mal das Script das ich nun umgebaut hab:)

Code:
<?
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
// Tagesertrag, aktuelle Leistung und Gesamtertrag

//Kommunikation
$IPAdresse = „192.168.1.9“;

$ID_DCEingangGesamt = 33556736; // in W
$ID_Ertrag_d = 251658754; // in Wh
$ID_Ertrag_G = 251658753; // in kWh
$ID_Ausgangsleistung = 67109120; // in W

$IpsVar_DCEingangGesamt = 43086 /[Erdgeschoss\Schaltschrank\Solaranlage\DC LEistung Eingang Wechselreichter]/;
$IpsVar_Ertrag_d = 13784 /[Erdgeschoss\Schaltschrank\Solaranlage\Tagesertrag]/;
$IpsVar_Ertrag_G = 13171 /[Erdgeschoss\Schaltschrank\Solaranlage\Ertrag Gesamt]/;
$IpsVar_Ausgangsleistung = 38635 /[Erdgeschoss\Schaltschrank\Solaranlage\Leistung aktuell]/;

$url = „http://“.$IPAdresse."/api/dxs.json".
„?dxsEntries=“.$ID_DCEingangGesamt.
„&dxsEntries=“.$ID_Ertrag_d.
„&dxsEntries=“.$ID_Ertrag_G.
„&dxsEntries=“.$ID_Ausgangsleistung.
„&sessionId=3378188426“;
$response = file_get_contents("$url", „r“);
$dataObject = json_decode($response);

//Variable für aktuelle Leistung (ID_DCEingangGesamt) setzen
SetValueFloat($IpsVar_DCEingangGesamt, $dataObject->dxsEntries[0]->value);

//Variable für Tagesertrag (ID_Ertrag_d) setzen
SetValueFloat($IpsVar_Ertrag_d, $dataObject->dxsEntries[1]->value);

//Variable für Gesamtertrag (ID_Ertrag_G) setzen
SetValueFloat($IpsVar_Ertrag_G, $dataObject->dxsEntries[2]->value);

//Variable für Ausgangsleistung (ID_Ausgangsleistung) setzen
SetValueFloat($IpsVar_Ausgangsleistung, $dataObject->dxsEntries[3]->value);
?>

Jetzt möchte ich nur noch den Tagesertrag in Kwh umrechnen lassen… das wäre Perfekt:)

Hallo,

ich habe es so umgesetzt:


//Variable für Tagesertrag (ID_Ertrag_d) setzen, in Wh
SetValueFloat($IpsVar_Ertrag_d, $dataObject->dxsEntries[1]->value);

//Variable für Tagesertrag (ID_Ertrag_d) setzen, in kWh
SetValueFloat($IpsVar_Ertrag_d,  (float) ($dataObject->dxsEntries[1]->value) / 1000);

Grüße
Hicomer

Danke dir! Hat super funktioniert!

Hallo Zusammen

Bin absoluter Anfänger. Habe bis jetzt alle Dinge die ich brauche mit einem Modul installiert.
Das hat auch immer geklapt. Leider funktioniert dies nicht mit dem Piko Kostal.

IP des Wechselrichters ist 192.168.123.105.

Kann mir jemand ein Script schreiben. Möchte eigentlich nur den Momentan Wert in W und den Totalen Tageswert.
Das Ganze sollte in der Visio auch noch etwas aussehen. Als Option währe auch eine Auflistung der letzten Tage.
Das Modul hier währe perefekt nur liefert dies keine Daten.

Softwarestand Wechselrichter:

UI06.11
FW02.13
HW0103
PAR02.48
Seriennummer90525PFL00005
Artikelnummer10134569
LändereinstellungSwitzerland
(50.04)

Danke und Gruss Adsid

versuch es damit mal
musst nur noch deine setvalue für jeden Parameter erstellen, und fertig ist das:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)

//Kommunikation
$IPAdresse = „xxx.xxx.xx.xx“;

//Leistungswerte
$ID_DCEingangGesamt = 33556736; // in W
$ID_Ausgangsleistung = 67109120; // in W
$ID_Eigenverbrauch = 83888128; // in W
//Status
$ID_Status = 16780032; // 0:Off
//Statistik - Tag
$ID_Ertrag_d = 251658754; // in Wh
$ID_Hausverbrauch_d = 251659010; // in Wh
$ID_Eigenverbrauch_d = 251659266; // in Wh
$ID_Eigenverbrauchsquote_d = 251659278; // in %
$ID_Autarkiegrad_d = 251659279; // in %
//Statistik - Gesamt
$ID_Ertrag_G = 251658753; // in kWh
$ID_Hausverbrauch_G = 251659009; // in kWh
$ID_Eigenverbrauch_G = 251659265; // in kWh
$ID_Eigenverbrauchsquote_G = 251659280; // in %
$ID_Autarkiegrad_G = 251659281; // in %
$ID_Betriebszeit = 251658496; // in h
//Momentanwerte - PV Genertor
$ID_DC1Spannung = 33555202; // in V
$ID_DC1Strom = 33555201; // in A
$ID_DC1Leistung = 33555203; // in W

$ID_DC2Spannung = 33555458; // in V
$ID_DC2Strom = 33555457; // in A
$ID_DC2Leistung = 33555459; // in W
//Momentanwerte Haus
$ID_HausverbrauchSolar = 83886336; // in W
$ID_HausverbrauchBatterie = 83886592; // in W
$ID_HausverbrauchNetz = 83886848; // in W
$ID_HausverbrauchPhase1 = 83887106; // in W
$ID_HausverbrauchPhase2 = 83887362; // in W
$ID_HausverbrauchPhase3 = 83887618; // in W
//Netz Netzparameter
$ID_NetzAusgangLeistung = 67109120; // in W
$ID_NetzFrequenz = 67110400; // in Hz
$ID_NetzCosPhi = 67110656;
//Netz Phase 1
$ID_P1Spannung = 67109378; // in V
$ID_P1Strom = 67109377; // in A
$ID_P1Leistung = 67109379; // in W
//Netz Phase 2
$ID_P2Spannung = 67109634; // in V
$ID_P2Strom = 67109633; // in A
$ID_P2Leistung = 67109635; // in W
//Netz Phase 3
$ID_P3Spannung = 67109890; // in V
$ID_P3Strom = 67109889; // in A
$ID_P3Leistung = 67109891; // in W

$url = „http://“.$IPAdresse."/api/dxs.json".

//"&dxsEntries=".$ID_Ausgangsleistung. //1
//"&dxsEntries=".$ID_Eigenverbrauch. //2
//"&dxsEntries=".$ID_Status. // Fan on off //3
//"&dxsEntries=".$ID_Hausverbrauch_d. //5 // in Wh
//"&dxsEntries=".$ID_Eigenverbrauch_d. //6 in Wh
//"&dxsEntries=".$ID_Eigenverbrauchsquote_d. //7 in %
//"&dxsEntries=".$ID_Autarkiegrad_d. //8 in %
//"&dxsEntries=".$ID_Ertrag_G. // 9in kWh
//"&dxsEntries=".$ID_Hausverbrauch_G. //10 // in kWh
//"&dxsEntries=".$ID_Eigenverbrauch_G. //11 // in kWh
//"&dxsEntries=".$ID_Eigenverbrauchsquote_G.//12 // in %
//"&dxsEntries=".$ID_Autarkiegrad_G. //13 // in %
//"&dxsEntries=".$ID_NetzFrequenz. // 28 // in Hz
//"?dxsEntries=".$ID_DCEingangGesamt. //0

//"&dxsEntries=".$ID_Ertrag_d. // in Wh //1
„?dxsEntries=“.$ID_Ertrag_d. // in Wh //0
„&dxsEntries=“.$ID_Betriebszeit. //1 // in h
„&dxsEntries=“.$ID_DC1Spannung.//2
„&dxsEntries=“.$ID_DC1Strom. //3 // in A
„&dxsEntries=“.$ID_DC1Leistung. //4 in W
„&dxsEntries=“.$ID_DC2Spannung. //5 in V
„&dxsEntries=“.$ID_DC2Strom. //6 // in A
„&dxsEntries=“.$ID_DC2Leistung. // 7 // in W
„&dxsEntries=“.$ID_NetzAusgangLeistung. // 8 // in W
„&dxsEntries=“.$ID_NetzCosPhi. // 9
„&dxsEntries=“.$ID_P1Spannung. // 10 // in V
„&dxsEntries=“.$ID_P1Strom. // 11 // in A
„&dxsEntries=“.$ID_P1Leistung. // 12 // in W
„&dxsEntries=“.$ID_P2Spannung. // 13 // in V
„&dxsEntries=“.$ID_P2Strom. // 14 // in A
„&dxsEntries=“.$ID_P2Leistung. // 15 // in W
„&dxsEntries=“.$ID_P3Spannung. // 16 // in V
„&dxsEntries=“.$ID_P3Strom. // 17 // in A
„&dxsEntries=“.$ID_P3Leistung. //18 // in W
„&dxsEntries=“.$ID_Ertrag_G. // 19in kWh
„&dxsEntries=“.$ID_Ertrag_d. // 20in kWh
//"&dxsEntries=".$ID_Hausverbrauch_d. //19 // in Wh
//"&dxsEntries=".$ID_Ausgangsleistung. //1 = Netzausgangsleistung
//"&dxsEntries=".$ID_Eigenverbrauch. //2
//"&dxsEntries=".$ID_Status. // Fan on off //3
//"&dxsEntries=".$ID_Hausverbrauch_d. //5 // in Wh
//"&dxsEntries=".$ID_Eigenverbrauch_d. //6 in Wh
//"&dxsEntries=".$ID_Eigenverbrauchsquote_d. //7 in %
//"&dxsEntries=".$ID_Autarkiegrad_d. //8 in %
//"&dxsEntries=".$ID_Hausverbrauch_G. //10 // in kWh
//"&dxsEntries=".$ID_Eigenverbrauch_G. //11 // in kWh
//"&dxsEntries=".$ID_Eigenverbrauchsquote_G.//12 // in %
//"&dxsEntries=".$ID_Autarkiegrad_G. //13 // in %
//"&dxsEntries=".$ID_NetzFrequenz. // 28 // in Hz
//"&dxsEntries=".$ID_DCEingangGesamt. //0

„&dxsEntries=“.$ID_Ertrag_d. // in Wh //1
„&sessionId=3378188426“;
$response = file_get_contents("$url", „r“);
$dataObject = json_decode($response);
//echo "Ertrag Tag= ".$dataObject->dxsEntries[0]->value.„Wh“.chr(13);
//echo „Eigenverbrauchsquote Tag= „.$dataObject->dxsEntries[0]->value.“%“.chr(13);
//echo "P2 Leistung Tag= ".$dataObject->dxsEntries[0]->value.„W“.chr(13);
setvalue(41203 /[PVAnlage\PIKO\Piko 8.5\Dummy Module\dummy]/,$dataObject->dxsEntries[0]->value);
setvalue(39947 /[PVAnlage\PIKO\Piko 8.5\Statistik\Gesamt\Betriebszeit h]/,$dataObject->dxsEntries[1]->value);
setvalue(31004 /[PVAnlage\PIKO\Piko 8.5\Pv_Gernerator\DC_Eingang 1_Ost\Spannung]/,$dataObject->dxsEntries[2]->value);
setvalue(43238 /[PVAnlage\PIKO\Piko 8.5\Pv_Gernerator\DC_Eingang 1_Ost\Strom]/,$dataObject->dxsEntries[3]->value);
setvalue(39382 /[PVAnlage\PIKO\Piko 8.5\Pv_Gernerator\DC_Eingang 1_Ost\Leistung]/,$dataObject->dxsEntries[4]->value);
setvalue(29018 /[PVAnlage\PIKO\Piko 8.5\Pv_Gernerator\DC_Eingang 2_West\Spannung]/,$dataObject->dxsEntries[5]->value);
setvalue(57098 /[PVAnlage\PIKO\Piko 8.5\Pv_Gernerator\DC_Eingang 2_West\Strom]/,$dataObject->dxsEntries[6]->value);
setvalue(51740 /[PVAnlage\PIKO\Piko 8.5\Pv_Gernerator\DC_Eingang 2_West\Leistung]/,$dataObject->dxsEntries[7]->value);
setvalue(24385 /[PVAnlage\PIKO\Piko 8.5\Netz\Netzparameter\Ausgangsleistung kW(erzeugter PV Strom)]/,($dataObject->dxsEntries[8]->value)/100);
setvalue(50330 /[PVAnlage\PIKO\Piko 8.5\Netz\Netzparameter\Ausgangsleistung Watt(erzeugter PV Strom)]/,$dataObject->dxsEntries[8]->value);
setvalue(26133 /[PVAnlage\PIKO\Piko 8.5\Netz\Netzparameter\Cos Q]/,$dataObject->dxsEntries[9]->value);
setvalue(32886 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_1\Spannung_Volt]/,$dataObject->dxsEntries[10]->value);
setvalue(44886 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_1\Strom _A]/,$dataObject->dxsEntries[11]->value);
setvalue(50908 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_1\Leistung W]/,$dataObject->dxsEntries[12]->value);
setvalue(50502 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_2\Spannung_Volt]/,$dataObject->dxsEntries[13]->value);
setvalue(26313 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_2\Strom _A]/,$dataObject->dxsEntries[14]->value);
setvalue(39080 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_2\Leistung W]/,$dataObject->dxsEntries[15]->value);
setvalue(24750 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_3\Spannung_Volt]/,$dataObject->dxsEntries[16]->value);
setvalue(10797 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_3\Strom _A]/,$dataObject->dxsEntries[17]->value);
setvalue(44709 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_3\Leistung W]/,$dataObject->dxsEntries[18]->value);
setvalue(37425 /[PVAnlage\PIKO\Piko 8.5\Statistik\Gesamt\Ertrag_kWh]/,$dataObject->dxsEntries[19]->value);
setvalue(55223 /[PVAnlage\PIKO\Piko 8.5\Statistik\Tag\Ertrag_kWh]/,$dataObject->dxsEntries[20]->value/1000);
setvalue(35050 /[PVAnlage\PIKO\Piko 8.5\Statistik\Tag\Ertrag_Watt]/,$dataObject->dxsEntries[20]->value);

//setvalue(24385 /[PVAnlage\PIKO\Piko 8.5\Netz\Netzparameter\Ausgangsleistung kW(erzeugter PV Strom)]/,$dataObject->dxsEntries[21]->value/1000);
//setvalue(26133 /[PVAnlage\PIKO\Piko 8.5\Netz\Netzparameter\Cos Q]/,$dataObject->dxsEntries[22]->value);
//setvalue(32886 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_1\Spannung_Volt]/,$dataObject->dxsEntries[23]->value);
//setvalue(44886 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_1\Strom _A]/,$dataObject->dxsEntries[24]->value);
//setvalue(50908 /[PVAnlage\PIKO\Piko 8.5\Netz\Phase_1\Leistung W]/,$dataObject->dxsEntries[25]->value);
//setvalue(41203 /[PVAnlage\PIKO\Piko 8.5\Dummy Module\dummy]/,$dataObject->dxsEntries[23]->value);
//setvalue(41203 /[PVAnlage\PIKO\Piko 8.5\Dummy Module\dummy]/,$dataObject->dxsEntries[24]->value);

//echo "Ertrag Gesamt= ".$dataObject->dxsEntries[0]->value.„kWh“.chr(13);
//echo „Eigenverbrauchsquote Gesamt= „.$dataObject->dxsEntries[0]->value.“%“.chr(13);

//echo $response;

Hallo,
ist es möglich den PIKO 17 in das Modul mit aufzunehmen?

Danke