NEWS
Status vom Kostal Wechselrichter auslesen?
-
@martybr lass dir doch nicht alles aus der Nase ziehen!
was steht dann im mouse over, wenn du mit der Maus über die Welle gehst
Cannot find name "ID_Eigenverbrauch_d"
Das steht bei jeder Variable.
Auch in dem Original-Script, dass einwandfrei funktioniert.
Sorry, ich bin in Scripting nicht so versiert. Habe dein Script genommen, es funktioniert, es fehlen nur die Werte für den String 3.

-
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
@homoran sagte in Status vom Kostal Wechselrichter auslesen?:
<IP>/api/dxs.json?dxsEntries=33555715
nein !! Das ist String 3. Ihr so so verdammt schnell, da komme ich nicht mit

Bei 33555715
Ist eigentlich dort ein Ergebniss gekommen !?
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
Bei 33555715
steht zumindest im code, den er gepostet hat
-
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
@homoran sagte in Status vom Kostal Wechselrichter auslesen?:
<IP>/api/dxs.json?dxsEntries=33555715
nein !! Das ist String 3. Ihr so so verdammt schnell, da komme ich nicht mit

Bei 33555715
Ist eigentlich dort ein Ergebniss gekommen !?
@glasfaser
Ja, der Aufruf liefert genau den fehlenden Wert für den String 3.{"dxsEntries":[{"dxsId":33555715,"value":137.251205}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}
-
@glasfaser
Ja, der Aufruf liefert genau den fehlenden Wert für den String 3.{"dxsEntries":[{"dxsId":33555715,"value":137.251205}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}
-
Cannot find name "ID_Eigenverbrauch_d"
Das steht bei jeder Variable.
Auch in dem Original-Script, dass einwandfrei funktioniert.
Sorry, ich bin in Scripting nicht so versiert. Habe dein Script genommen, es funktioniert, es fehlen nur die Werte für den String 3.

@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Habe dein Script genommen, es funktioniert,
wirklich?
ich sehe nur rot@Glasfaser
kannst du damit was anfangen?muss da etwa jedesmal ein
varoderconstdavor? -
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Habe dein Script genommen, es funktioniert,
wirklich?
ich sehe nur rot@Glasfaser
kannst du damit was anfangen?muss da etwa jedesmal ein
varoderconstdavor?ich importier es mal bei mir .. warte mal .
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Leider fehlen immer noch die Werte für den String 3:
Ich hatte die Tage auch einen blöden Fehler mit (null) , erst beim erneuten Admin Anmelden waren dort Werte enthalten .
-
ich importier es mal bei mir .. warte mal .
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Leider fehlen immer noch die Werte für den String 3:
Ich hatte die Tage auch einen blöden Fehler mit (null) , erst beim erneuten Admin Anmelden waren dort Werte enthalten .
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
ich importier es mal bei mir .. warte mal .
Danke!
das fehlende value kann ich nicht finden@MartyBr
vielleicht ist jede Sekunde auch einfach zu schnell -
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
ich importier es mal bei mir .. warte mal .
Danke!
das fehlende value kann ich nicht finden@MartyBr
vielleicht ist jede Sekunde auch einfach zu schnell -
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
Toll , hänge in der schleife ..
dann geh ich da auch mal rein

-
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
ich importier es mal bei mir .. warte mal .
Danke!
das fehlende value kann ich nicht finden@MartyBr
vielleicht ist jede Sekunde auch einfach zu schnellDas von mir genutzte Original Script stammt hier aus dem Thread:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015) //Variable var url = '192.168.178.77'; // IP der Photovoltaik-Anlage eintragen var IPAnlage = url + '/api/dxs.json'; //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 Generator 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 createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0); createState('Solaranlage.Summenwerte.Autarkiegrad_d',0); createState('Solaranlage.Summenwerte.Autarkiegrad_G',0); createState('Solaranlage.Summenwerte.Betriebszeit',0); createState('Solaranlage.Momentanwerte.Status','aus'); createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0); createState('Solaranlage.Momentanwerte.Eigenverbrauch',0); createState('Solaranlage.Summenwerte.Eigenverbrauch_d'); createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0); createState('Solaranlage.Summenwerte.Tagesertrag', 0); createState('Solaranlage.Summenwerte.Gesamtertrag', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0); createState('Solaranlage.Momentanwerte.P1Spannung'); createState('Solaranlage.Momentanwerte.P2Spannung'); createState('Solaranlage.Momentanwerte.P1Strom'); createState('Solaranlage.Momentanwerte.P2Strom'); createState('Solaranlage.Momentanwerte.P1Leistung'); createState('Solaranlage.Momentanwerte.P2Leistung'); createState('Solaranlage.Momentanwerte.Leistung_String1'); createState('Solaranlage.Momentanwerte.Leistung_String2'); var logging = false; var request = require('request'); function Piko() { if (logging) log("Piko 5.5 auslesen"); request('http://' + IPAnlage + '?dxsEntries=' + ID_DCEingangGesamt + '&dxsEntries=' + ID_Ausgangsleistung + '&dxsEntries=' + ID_Eigenverbrauch + '&dxsEntries=' + ID_Eigenverbrauch_d + '&dxsEntries=' + ID_Eigenverbrauch_G + '&dxsEntries=' + ID_Eigenverbrauchsquote_d + '&dxsEntries=' + ID_Eigenverbrauchsquote_G + '&dxsEntries=' + ID_Ertrag_d + '&dxsEntries=' + ID_Ertrag_G + '&dxsEntries=' + ID_Hausverbrauch_d + '&dxsEntries=' + ID_Hausverbrauch_G + '&dxsEntries=' + ID_Autarkiegrad_G + '&dxsEntries=' + ID_Autarkiegrad_d + '&dxsEntries=' + ID_Betriebszeit + '&dxsEntries=' + ID_P1Spannung + '&dxsEntries=' + ID_P2Spannung + '&dxsEntries=' + ID_P1Strom + '&dxsEntries=' + ID_P2Strom + '&dxsEntries=' + ID_P1Leistung + '&dxsEntries=' + ID_P2Leistung + '&dxsEntries=' + ID_Status + '&dxsEntries=' + ID_DC1Leistung + '&dxsEntries=' + ID_DC2Leistung, function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; var Zustand = 'aus'; if (result[20].val == 0) { Zustand = 'aus'; } else if (result[20].value== 1) { Zustand = 'Leerlauf'; } else if (result[20].value == 2) { Zustand = 'Anfahren'; } else if (result[20].value == 3) { Zustand = 'Einspeisen MPP'; } else if (result[20].value == 4) { Zustand = 'Einspeisen abgeregelt'; } else if (result[20].value == 7) { Zustand = 'Isolationsmessung'; } else { Zustand = (String('Code ') + String('' + result[20].value)); } setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true); setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true); setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true); setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true); setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true); setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true); setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true); setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true); setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true); setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true); setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true); setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true); } else { log("Fehler: " + error + " bei Abfrage von: " + url, "warn"); } }); } schedule("*/11 * 5-23 * * *", Piko); //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;Es liefert alle Werte, obwohl die Datenpunkte rot unterkriegest sind.
Ich habe nun in deinem letzten Script ein "var" vor den Variablen gesetzt:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015) //Variable var url = '192.168.178.77'; // IP der Photovoltaik-Anlage eintragen var IPAnlage = url + '/api/dxs.json'; //Leistungswerte var ID_DCEingangGesamt = 33556736; // in W var ID_Ausgangsleistung = 67109120; // in W var ID_Eigenverbrauch = 83888128; // in W //Status var ID_Status = 16780032; // 0:Off //Statistik - Tag var ID_Ertrag_d = 251658754; // in Wh var ID_Hausverbrauch_d = 251659010; // in Wh var ID_Eigenverbrauch_d = 251659266; // in Wh var ID_Eigenverbrauchsquote_d = 251659278; // in % var ID_Autarkiegrad_d = 251659279; // in % //Statistik - Gesamt var ID_Ertrag_G = 251658753; // in kWh var ID_Hausverbrauch_G = 251659009; // in kWh var ID_Eigenverbrauch_G = 251659265; // in kWh var ID_Eigenverbrauchsquote_G = 251659280; // in % var ID_Autarkiegrad_G = 251659281; // in % var ID_Betriebszeit = 251658496; // in h //Momentanwerte - PV Generator var ID_DC1Spannung = 33555202; // in V var ID_DC1Strom = 33555201; // in A var ID_DC1Leistung = 33555203; // in W var ID_DC2Spannung = 33555458; // in V var ID_DC2Strom = 33555457; // in A var ID_DC2Leistung = 33555459; // in W var ID_DC3Spannung = 33555714; // in V var ID_DC3Strom = 33555713; // in A var ID_DC3Leistung = 33555715; // in W //Momentanwerte Haus var ID_HausverbrauchSolar = 83886336; // in W var ID_HausverbrauchBatterie = 83886592; // in W var ID_HausverbrauchNetz = 83886848; // in W var ID_HausverbrauchPhase1 = 83887106; // in W var ID_HausverbrauchPhase2 = 83887362; // in W var ID_HausverbrauchPhase3 = 83887618; // in W //Netz Netzparameter var ID_NetzAusgangLeistung = 67109120; // in W var ID_NetzFrequenz = 67110400; // in Hz var ID_NetzCosPhi = 67110656; //Netz Phase 1 var ID_P1Spannung = 67109378; // in V var ID_P1Strom = 67109377; // in A var ID_P1Leistung = 67109379; // in W //Netz Phase 2 var ID_P2Spannung = 67109634; // in V var ID_P2Strom = 67109633; // in A var ID_P2Leistung = 67109635; // in W //Netz Phase 3 var ID_P3Spannung = 67109890; // in V var ID_P3Strom = 67109889; // in A var ID_P3Leistung = 67109891; // in W createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0); createState('Solaranlage.Summenwerte.Autarkiegrad_d',0); createState('Solaranlage.Summenwerte.Autarkiegrad_G',0); createState('Solaranlage.Summenwerte.Betriebszeit',0); createState('Solaranlage.Momentanwerte.Status','aus'); createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0); createState('Solaranlage.Momentanwerte.Eigenverbrauch',0); createState('Solaranlage.Summenwerte.Eigenverbrauch_d'); createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0); createState('Solaranlage.Summenwerte.Tagesertrag', 0); createState('Solaranlage.Summenwerte.Gesamtertrag', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0); createState('Solaranlage.Momentanwerte.P1Spannung'); createState('Solaranlage.Momentanwerte.P2Spannung'); createState('Solaranlage.Momentanwerte.P3Spannung'); createState('Solaranlage.Momentanwerte.P1Strom'); createState('Solaranlage.Momentanwerte.P2Strom'); createState('Solaranlage.Momentanwerte.P3Strom'); createState('Solaranlage.Momentanwerte.P1Leistung'); createState('Solaranlage.Momentanwerte.P2Leistung'); createState('Solaranlage.Momentanwerte.P3Leistung'); createState('Solaranlage.Momentanwerte.Leistung_String1'); createState('Solaranlage.Momentanwerte.Leistung_String2'); createState('Solaranlage.Momentanwerte.Leistung_String3'); var logging = false; var request = require('request'); function Piko() { if (logging) log("Piko 5.5 auslesen"); request('http://' + IPAnlage + '?dxsEntries=' + ID_DCEingangGesamt + '&dxsEntries=' + ID_Ausgangsleistung + '&dxsEntries=' + ID_Eigenverbrauch + '&dxsEntries=' + ID_Eigenverbrauch_d + '&dxsEntries=' + ID_Eigenverbrauch_G + '&dxsEntries=' + ID_Eigenverbrauchsquote_d + '&dxsEntries=' + ID_Eigenverbrauchsquote_G + '&dxsEntries=' + ID_Ertrag_d + '&dxsEntries=' + ID_Ertrag_G + '&dxsEntries=' + ID_Hausverbrauch_d + '&dxsEntries=' + ID_Hausverbrauch_G + '&dxsEntries=' + ID_Autarkiegrad_G + '&dxsEntries=' + ID_Autarkiegrad_d + '&dxsEntries=' + ID_Betriebszeit + '&dxsEntries=' + ID_P1Spannung + '&dxsEntries=' + ID_P2Spannung + '&dxsEntries=' + ID_P1Strom + '&dxsEntries=' + ID_P2Strom + '&dxsEntries=' + ID_P1Leistung + '&dxsEntries=' + ID_P2Leistung + '&dxsEntries=' + ID_Status + '&dxsEntries=' + ID_DC1Leistung + '&dxsEntries=' + ID_DC2Leistung + '&dxsEntries=' + ID_P3Spannung + // 23 '&dxsEntries=' + ID_P3Strom + // 24 '&dxsEntries=' + ID_DC3Leistung, //25 function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; var Zustand = 'aus'; if (result[20].val == 0) { Zustand = 'aus'; } else if (result[20].value== 1) { Zustand = 'Leerlauf'; } else if (result[20].value == 2) { Zustand = 'Anfahren'; } else if (result[20].value == 3) { Zustand = 'Einspeisen MPP'; } else if (result[20].value == 4) { Zustand = 'Einspeisen abgeregelt'; } else if (result[20].value == 7) { Zustand = 'Isolationsmessung'; } else { Zustand = (String('Code ') + String('' + result[20].value)); } setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true); setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true); setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true); setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true); setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true); setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true); setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true); setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true); setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true); setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true); setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true); setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true); setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true); setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true); } else { log("Fehler: " + error + " bei Abfrage von: " + url, "warn"); } }); } schedule("*/11 * 5-23 * * *", Piko); //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;Nun sind die Kringel weg.
Es fehlen die Werte für "Leistung_String3" und "P3Leistung".
-
Das von mir genutzte Original Script stammt hier aus dem Thread:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015) //Variable var url = '192.168.178.77'; // IP der Photovoltaik-Anlage eintragen var IPAnlage = url + '/api/dxs.json'; //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 Generator 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 createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0); createState('Solaranlage.Summenwerte.Autarkiegrad_d',0); createState('Solaranlage.Summenwerte.Autarkiegrad_G',0); createState('Solaranlage.Summenwerte.Betriebszeit',0); createState('Solaranlage.Momentanwerte.Status','aus'); createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0); createState('Solaranlage.Momentanwerte.Eigenverbrauch',0); createState('Solaranlage.Summenwerte.Eigenverbrauch_d'); createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0); createState('Solaranlage.Summenwerte.Tagesertrag', 0); createState('Solaranlage.Summenwerte.Gesamtertrag', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0); createState('Solaranlage.Momentanwerte.P1Spannung'); createState('Solaranlage.Momentanwerte.P2Spannung'); createState('Solaranlage.Momentanwerte.P1Strom'); createState('Solaranlage.Momentanwerte.P2Strom'); createState('Solaranlage.Momentanwerte.P1Leistung'); createState('Solaranlage.Momentanwerte.P2Leistung'); createState('Solaranlage.Momentanwerte.Leistung_String1'); createState('Solaranlage.Momentanwerte.Leistung_String2'); var logging = false; var request = require('request'); function Piko() { if (logging) log("Piko 5.5 auslesen"); request('http://' + IPAnlage + '?dxsEntries=' + ID_DCEingangGesamt + '&dxsEntries=' + ID_Ausgangsleistung + '&dxsEntries=' + ID_Eigenverbrauch + '&dxsEntries=' + ID_Eigenverbrauch_d + '&dxsEntries=' + ID_Eigenverbrauch_G + '&dxsEntries=' + ID_Eigenverbrauchsquote_d + '&dxsEntries=' + ID_Eigenverbrauchsquote_G + '&dxsEntries=' + ID_Ertrag_d + '&dxsEntries=' + ID_Ertrag_G + '&dxsEntries=' + ID_Hausverbrauch_d + '&dxsEntries=' + ID_Hausverbrauch_G + '&dxsEntries=' + ID_Autarkiegrad_G + '&dxsEntries=' + ID_Autarkiegrad_d + '&dxsEntries=' + ID_Betriebszeit + '&dxsEntries=' + ID_P1Spannung + '&dxsEntries=' + ID_P2Spannung + '&dxsEntries=' + ID_P1Strom + '&dxsEntries=' + ID_P2Strom + '&dxsEntries=' + ID_P1Leistung + '&dxsEntries=' + ID_P2Leistung + '&dxsEntries=' + ID_Status + '&dxsEntries=' + ID_DC1Leistung + '&dxsEntries=' + ID_DC2Leistung, function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; var Zustand = 'aus'; if (result[20].val == 0) { Zustand = 'aus'; } else if (result[20].value== 1) { Zustand = 'Leerlauf'; } else if (result[20].value == 2) { Zustand = 'Anfahren'; } else if (result[20].value == 3) { Zustand = 'Einspeisen MPP'; } else if (result[20].value == 4) { Zustand = 'Einspeisen abgeregelt'; } else if (result[20].value == 7) { Zustand = 'Isolationsmessung'; } else { Zustand = (String('Code ') + String('' + result[20].value)); } setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true); setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true); setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true); setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true); setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true); setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true); setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true); setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true); setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true); setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true); setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true); setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true); } else { log("Fehler: " + error + " bei Abfrage von: " + url, "warn"); } }); } schedule("*/11 * 5-23 * * *", Piko); //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;Es liefert alle Werte, obwohl die Datenpunkte rot unterkriegest sind.
Ich habe nun in deinem letzten Script ein "var" vor den Variablen gesetzt:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015) //Variable var url = '192.168.178.77'; // IP der Photovoltaik-Anlage eintragen var IPAnlage = url + '/api/dxs.json'; //Leistungswerte var ID_DCEingangGesamt = 33556736; // in W var ID_Ausgangsleistung = 67109120; // in W var ID_Eigenverbrauch = 83888128; // in W //Status var ID_Status = 16780032; // 0:Off //Statistik - Tag var ID_Ertrag_d = 251658754; // in Wh var ID_Hausverbrauch_d = 251659010; // in Wh var ID_Eigenverbrauch_d = 251659266; // in Wh var ID_Eigenverbrauchsquote_d = 251659278; // in % var ID_Autarkiegrad_d = 251659279; // in % //Statistik - Gesamt var ID_Ertrag_G = 251658753; // in kWh var ID_Hausverbrauch_G = 251659009; // in kWh var ID_Eigenverbrauch_G = 251659265; // in kWh var ID_Eigenverbrauchsquote_G = 251659280; // in % var ID_Autarkiegrad_G = 251659281; // in % var ID_Betriebszeit = 251658496; // in h //Momentanwerte - PV Generator var ID_DC1Spannung = 33555202; // in V var ID_DC1Strom = 33555201; // in A var ID_DC1Leistung = 33555203; // in W var ID_DC2Spannung = 33555458; // in V var ID_DC2Strom = 33555457; // in A var ID_DC2Leistung = 33555459; // in W var ID_DC3Spannung = 33555714; // in V var ID_DC3Strom = 33555713; // in A var ID_DC3Leistung = 33555715; // in W //Momentanwerte Haus var ID_HausverbrauchSolar = 83886336; // in W var ID_HausverbrauchBatterie = 83886592; // in W var ID_HausverbrauchNetz = 83886848; // in W var ID_HausverbrauchPhase1 = 83887106; // in W var ID_HausverbrauchPhase2 = 83887362; // in W var ID_HausverbrauchPhase3 = 83887618; // in W //Netz Netzparameter var ID_NetzAusgangLeistung = 67109120; // in W var ID_NetzFrequenz = 67110400; // in Hz var ID_NetzCosPhi = 67110656; //Netz Phase 1 var ID_P1Spannung = 67109378; // in V var ID_P1Strom = 67109377; // in A var ID_P1Leistung = 67109379; // in W //Netz Phase 2 var ID_P2Spannung = 67109634; // in V var ID_P2Strom = 67109633; // in A var ID_P2Leistung = 67109635; // in W //Netz Phase 3 var ID_P3Spannung = 67109890; // in V var ID_P3Strom = 67109889; // in A var ID_P3Leistung = 67109891; // in W createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0); createState('Solaranlage.Summenwerte.Autarkiegrad_d',0); createState('Solaranlage.Summenwerte.Autarkiegrad_G',0); createState('Solaranlage.Summenwerte.Betriebszeit',0); createState('Solaranlage.Momentanwerte.Status','aus'); createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0); createState('Solaranlage.Momentanwerte.Eigenverbrauch',0); createState('Solaranlage.Summenwerte.Eigenverbrauch_d'); createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0); createState('Solaranlage.Summenwerte.Tagesertrag', 0); createState('Solaranlage.Summenwerte.Gesamtertrag', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0); createState('Solaranlage.Momentanwerte.P1Spannung'); createState('Solaranlage.Momentanwerte.P2Spannung'); createState('Solaranlage.Momentanwerte.P3Spannung'); createState('Solaranlage.Momentanwerte.P1Strom'); createState('Solaranlage.Momentanwerte.P2Strom'); createState('Solaranlage.Momentanwerte.P3Strom'); createState('Solaranlage.Momentanwerte.P1Leistung'); createState('Solaranlage.Momentanwerte.P2Leistung'); createState('Solaranlage.Momentanwerte.P3Leistung'); createState('Solaranlage.Momentanwerte.Leistung_String1'); createState('Solaranlage.Momentanwerte.Leistung_String2'); createState('Solaranlage.Momentanwerte.Leistung_String3'); var logging = false; var request = require('request'); function Piko() { if (logging) log("Piko 5.5 auslesen"); request('http://' + IPAnlage + '?dxsEntries=' + ID_DCEingangGesamt + '&dxsEntries=' + ID_Ausgangsleistung + '&dxsEntries=' + ID_Eigenverbrauch + '&dxsEntries=' + ID_Eigenverbrauch_d + '&dxsEntries=' + ID_Eigenverbrauch_G + '&dxsEntries=' + ID_Eigenverbrauchsquote_d + '&dxsEntries=' + ID_Eigenverbrauchsquote_G + '&dxsEntries=' + ID_Ertrag_d + '&dxsEntries=' + ID_Ertrag_G + '&dxsEntries=' + ID_Hausverbrauch_d + '&dxsEntries=' + ID_Hausverbrauch_G + '&dxsEntries=' + ID_Autarkiegrad_G + '&dxsEntries=' + ID_Autarkiegrad_d + '&dxsEntries=' + ID_Betriebszeit + '&dxsEntries=' + ID_P1Spannung + '&dxsEntries=' + ID_P2Spannung + '&dxsEntries=' + ID_P1Strom + '&dxsEntries=' + ID_P2Strom + '&dxsEntries=' + ID_P1Leistung + '&dxsEntries=' + ID_P2Leistung + '&dxsEntries=' + ID_Status + '&dxsEntries=' + ID_DC1Leistung + '&dxsEntries=' + ID_DC2Leistung + '&dxsEntries=' + ID_P3Spannung + // 23 '&dxsEntries=' + ID_P3Strom + // 24 '&dxsEntries=' + ID_DC3Leistung, //25 function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; var Zustand = 'aus'; if (result[20].val == 0) { Zustand = 'aus'; } else if (result[20].value== 1) { Zustand = 'Leerlauf'; } else if (result[20].value == 2) { Zustand = 'Anfahren'; } else if (result[20].value == 3) { Zustand = 'Einspeisen MPP'; } else if (result[20].value == 4) { Zustand = 'Einspeisen abgeregelt'; } else if (result[20].value == 7) { Zustand = 'Isolationsmessung'; } else { Zustand = (String('Code ') + String('' + result[20].value)); } setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true); setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true); setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true); setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true); setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true); setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true); setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true); setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true); setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true); setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true); setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true); setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true); setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true); setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true); } else { log("Fehler: " + error + " bei Abfrage von: " + url, "warn"); } }); } schedule("*/11 * 5-23 * * *", Piko); //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;Nun sind die Kringel weg.
Es fehlen die Werte für "Leistung_String3" und "P3Leistung".
-
muss da tatsächlich jedesmal ein
vardavor???? -
Das von mir genutzte Original Script stammt hier aus dem Thread:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015) //Variable var url = '192.168.178.77'; // IP der Photovoltaik-Anlage eintragen var IPAnlage = url + '/api/dxs.json'; //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 Generator 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 createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0); createState('Solaranlage.Summenwerte.Autarkiegrad_d',0); createState('Solaranlage.Summenwerte.Autarkiegrad_G',0); createState('Solaranlage.Summenwerte.Betriebszeit',0); createState('Solaranlage.Momentanwerte.Status','aus'); createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0); createState('Solaranlage.Momentanwerte.Eigenverbrauch',0); createState('Solaranlage.Summenwerte.Eigenverbrauch_d'); createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0); createState('Solaranlage.Summenwerte.Tagesertrag', 0); createState('Solaranlage.Summenwerte.Gesamtertrag', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0); createState('Solaranlage.Momentanwerte.P1Spannung'); createState('Solaranlage.Momentanwerte.P2Spannung'); createState('Solaranlage.Momentanwerte.P1Strom'); createState('Solaranlage.Momentanwerte.P2Strom'); createState('Solaranlage.Momentanwerte.P1Leistung'); createState('Solaranlage.Momentanwerte.P2Leistung'); createState('Solaranlage.Momentanwerte.Leistung_String1'); createState('Solaranlage.Momentanwerte.Leistung_String2'); var logging = false; var request = require('request'); function Piko() { if (logging) log("Piko 5.5 auslesen"); request('http://' + IPAnlage + '?dxsEntries=' + ID_DCEingangGesamt + '&dxsEntries=' + ID_Ausgangsleistung + '&dxsEntries=' + ID_Eigenverbrauch + '&dxsEntries=' + ID_Eigenverbrauch_d + '&dxsEntries=' + ID_Eigenverbrauch_G + '&dxsEntries=' + ID_Eigenverbrauchsquote_d + '&dxsEntries=' + ID_Eigenverbrauchsquote_G + '&dxsEntries=' + ID_Ertrag_d + '&dxsEntries=' + ID_Ertrag_G + '&dxsEntries=' + ID_Hausverbrauch_d + '&dxsEntries=' + ID_Hausverbrauch_G + '&dxsEntries=' + ID_Autarkiegrad_G + '&dxsEntries=' + ID_Autarkiegrad_d + '&dxsEntries=' + ID_Betriebszeit + '&dxsEntries=' + ID_P1Spannung + '&dxsEntries=' + ID_P2Spannung + '&dxsEntries=' + ID_P1Strom + '&dxsEntries=' + ID_P2Strom + '&dxsEntries=' + ID_P1Leistung + '&dxsEntries=' + ID_P2Leistung + '&dxsEntries=' + ID_Status + '&dxsEntries=' + ID_DC1Leistung + '&dxsEntries=' + ID_DC2Leistung, function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; var Zustand = 'aus'; if (result[20].val == 0) { Zustand = 'aus'; } else if (result[20].value== 1) { Zustand = 'Leerlauf'; } else if (result[20].value == 2) { Zustand = 'Anfahren'; } else if (result[20].value == 3) { Zustand = 'Einspeisen MPP'; } else if (result[20].value == 4) { Zustand = 'Einspeisen abgeregelt'; } else if (result[20].value == 7) { Zustand = 'Isolationsmessung'; } else { Zustand = (String('Code ') + String('' + result[20].value)); } setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true); setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true); setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true); setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true); setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true); setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true); setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true); setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true); setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true); setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true); setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true); setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true); } else { log("Fehler: " + error + " bei Abfrage von: " + url, "warn"); } }); } schedule("*/11 * 5-23 * * *", Piko); //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;Es liefert alle Werte, obwohl die Datenpunkte rot unterkriegest sind.
Ich habe nun in deinem letzten Script ein "var" vor den Variablen gesetzt:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015) //Variable var url = '192.168.178.77'; // IP der Photovoltaik-Anlage eintragen var IPAnlage = url + '/api/dxs.json'; //Leistungswerte var ID_DCEingangGesamt = 33556736; // in W var ID_Ausgangsleistung = 67109120; // in W var ID_Eigenverbrauch = 83888128; // in W //Status var ID_Status = 16780032; // 0:Off //Statistik - Tag var ID_Ertrag_d = 251658754; // in Wh var ID_Hausverbrauch_d = 251659010; // in Wh var ID_Eigenverbrauch_d = 251659266; // in Wh var ID_Eigenverbrauchsquote_d = 251659278; // in % var ID_Autarkiegrad_d = 251659279; // in % //Statistik - Gesamt var ID_Ertrag_G = 251658753; // in kWh var ID_Hausverbrauch_G = 251659009; // in kWh var ID_Eigenverbrauch_G = 251659265; // in kWh var ID_Eigenverbrauchsquote_G = 251659280; // in % var ID_Autarkiegrad_G = 251659281; // in % var ID_Betriebszeit = 251658496; // in h //Momentanwerte - PV Generator var ID_DC1Spannung = 33555202; // in V var ID_DC1Strom = 33555201; // in A var ID_DC1Leistung = 33555203; // in W var ID_DC2Spannung = 33555458; // in V var ID_DC2Strom = 33555457; // in A var ID_DC2Leistung = 33555459; // in W var ID_DC3Spannung = 33555714; // in V var ID_DC3Strom = 33555713; // in A var ID_DC3Leistung = 33555715; // in W //Momentanwerte Haus var ID_HausverbrauchSolar = 83886336; // in W var ID_HausverbrauchBatterie = 83886592; // in W var ID_HausverbrauchNetz = 83886848; // in W var ID_HausverbrauchPhase1 = 83887106; // in W var ID_HausverbrauchPhase2 = 83887362; // in W var ID_HausverbrauchPhase3 = 83887618; // in W //Netz Netzparameter var ID_NetzAusgangLeistung = 67109120; // in W var ID_NetzFrequenz = 67110400; // in Hz var ID_NetzCosPhi = 67110656; //Netz Phase 1 var ID_P1Spannung = 67109378; // in V var ID_P1Strom = 67109377; // in A var ID_P1Leistung = 67109379; // in W //Netz Phase 2 var ID_P2Spannung = 67109634; // in V var ID_P2Strom = 67109633; // in A var ID_P2Leistung = 67109635; // in W //Netz Phase 3 var ID_P3Spannung = 67109890; // in V var ID_P3Strom = 67109889; // in A var ID_P3Leistung = 67109891; // in W createState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0); createState('Solaranlage.Summenwerte.Autarkiegrad_d',0); createState('Solaranlage.Summenwerte.Autarkiegrad_G',0); createState('Solaranlage.Summenwerte.Betriebszeit',0); createState('Solaranlage.Momentanwerte.Status','aus'); createState('Solaranlage.Momentanwerte.Leistung_DC_aktuell',0); createState('Solaranlage.Momentanwerte.Eigenverbrauch',0); createState('Solaranlage.Summenwerte.Eigenverbrauch_d'); createState('Solaranlage.Summenwerte.Eigenverbrauch_G', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0); createState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0); createState('Solaranlage.Summenwerte.Tagesertrag', 0); createState('Solaranlage.Summenwerte.Gesamtertrag', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_d', 0); createState('Solaranlage.Summenwerte.Hausverbrauch_G', 0); createState('Solaranlage.Momentanwerte.P1Spannung'); createState('Solaranlage.Momentanwerte.P2Spannung'); createState('Solaranlage.Momentanwerte.P3Spannung'); createState('Solaranlage.Momentanwerte.P1Strom'); createState('Solaranlage.Momentanwerte.P2Strom'); createState('Solaranlage.Momentanwerte.P3Strom'); createState('Solaranlage.Momentanwerte.P1Leistung'); createState('Solaranlage.Momentanwerte.P2Leistung'); createState('Solaranlage.Momentanwerte.P3Leistung'); createState('Solaranlage.Momentanwerte.Leistung_String1'); createState('Solaranlage.Momentanwerte.Leistung_String2'); createState('Solaranlage.Momentanwerte.Leistung_String3'); var logging = false; var request = require('request'); function Piko() { if (logging) log("Piko 5.5 auslesen"); request('http://' + IPAnlage + '?dxsEntries=' + ID_DCEingangGesamt + '&dxsEntries=' + ID_Ausgangsleistung + '&dxsEntries=' + ID_Eigenverbrauch + '&dxsEntries=' + ID_Eigenverbrauch_d + '&dxsEntries=' + ID_Eigenverbrauch_G + '&dxsEntries=' + ID_Eigenverbrauchsquote_d + '&dxsEntries=' + ID_Eigenverbrauchsquote_G + '&dxsEntries=' + ID_Ertrag_d + '&dxsEntries=' + ID_Ertrag_G + '&dxsEntries=' + ID_Hausverbrauch_d + '&dxsEntries=' + ID_Hausverbrauch_G + '&dxsEntries=' + ID_Autarkiegrad_G + '&dxsEntries=' + ID_Autarkiegrad_d + '&dxsEntries=' + ID_Betriebszeit + '&dxsEntries=' + ID_P1Spannung + '&dxsEntries=' + ID_P2Spannung + '&dxsEntries=' + ID_P1Strom + '&dxsEntries=' + ID_P2Strom + '&dxsEntries=' + ID_P1Leistung + '&dxsEntries=' + ID_P2Leistung + '&dxsEntries=' + ID_Status + '&dxsEntries=' + ID_DC1Leistung + '&dxsEntries=' + ID_DC2Leistung + '&dxsEntries=' + ID_P3Spannung + // 23 '&dxsEntries=' + ID_P3Strom + // 24 '&dxsEntries=' + ID_DC3Leistung, //25 function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; var Zustand = 'aus'; if (result[20].val == 0) { Zustand = 'aus'; } else if (result[20].value== 1) { Zustand = 'Leerlauf'; } else if (result[20].value == 2) { Zustand = 'Anfahren'; } else if (result[20].value == 3) { Zustand = 'Einspeisen MPP'; } else if (result[20].value == 4) { Zustand = 'Einspeisen abgeregelt'; } else if (result[20].value == 7) { Zustand = 'Isolationsmessung'; } else { Zustand = (String('Code ') + String('' + result[20].value)); } setState('Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true); setState('Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true); setState('Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true); setState('Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true); setState('Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true); setState('Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true); setState('Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true); setState('Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true); setState('Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true); setState('Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true); setState('Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true); setState('Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true); setState('Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true); setState('Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true); setState('Solaranlage.Momentanwerte.Status', Zustand || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true); setState('Solaranlage.Momentanwerte.P3Spannung', result[23].value || 0, true); setState('Solaranlage.Momentanwerte.P3Strom', result[24].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true); } else { log("Fehler: " + error + " bei Abfrage von: " + url, "warn"); } }); } schedule("*/11 * 5-23 * * *", Piko); //on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;Nun sind die Kringel weg.
Es fehlen die Werte für "Leistung_String3" und "P3Leistung".
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Es fehlen die Werte für "Leistung_String3" und "P3Leistung".
dann müsste ich jetzt wissen wie das ARRAY aufgebaut ist und welche Werte da an welcher Position sind.
vielleicht kann @Glasfaser da noch ein log einbauen -
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Es fehlen die Werte für "Leistung_String3" und "P3Leistung".
dann müsste ich jetzt wissen wie das ARRAY aufgebaut ist und welche Werte da an welcher Position sind.
vielleicht kann @Glasfaser da noch ein log einbauen -
Kann ich mit irgendwas noch helfen?
Die Datenpunkte lösche ich jedesmal, wenn ich Änderungen am Script mache. Aktuell sehen die so aus:
-
Ich komme bei mir nicht weiter .Schleife .. muss ein timeout machen bzw. mein ioBroker :(
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
Ich komme bei mir nicht weiter .Schleife .. muss ein timeout machen bzw. mein ioBroker :(
wahrscheinlich, weil du die IP nicht belegt hast.
bei mir läuft es jetzt, der Typ der angelegten States war mixed
Habe allerdings auch den Fehler mit
javascript.0 2021-10-04 17:59:22.113 error Error in request callback: TypeError: Cannot read property 'value' of undefinedHabe jetzt eine Vorgabe von 0 gemacht, jetzt steht da auch 0, aber ich habe keinen 3. String.
-
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
Ich komme bei mir nicht weiter .Schleife .. muss ein timeout machen bzw. mein ioBroker :(
wahrscheinlich, weil du die IP nicht belegt hast.
bei mir läuft es jetzt, der Typ der angelegten States war mixed
Habe allerdings auch den Fehler mit
javascript.0 2021-10-04 17:59:22.113 error Error in request callback: TypeError: Cannot read property 'value' of undefinedHabe jetzt eine Vorgabe von 0 gemacht, jetzt steht da auch 0, aber ich habe keinen 3. String.
-
@homoran sagte in Status vom Kostal Wechselrichter auslesen?:
wahrscheinlich, weil du die IP nicht belegt hast.
Nee , mein ioBroker hängt , hat mit dem Script nichts zu tun .
Ich wollte es erst einfügen ...... bin gerade im neustart@glasfaser habe mutig einfach ein log(result) eigefügt, dabei kommt
javascript.0 (30706) script.js.Skript_1: [{'dxsId':33556736,'value':136.500305},{'dxsId':67109120,'value':103.410645},{'dxsId':83888128,'value':-0.004734},{'dxsId':251659266,'value':0.413695},{'dxsId':251659265,'value':0.46385},{'dxsId':251659278,'value':0.003308},{'dxsId':251659280,'value':0.002075},{'dxsId':251658754,'value':12505.785156},{'dxsId':251658753,'value':22358.400391},{'dxsId':251659010,'value':0.42188},{'dxsId':251659009,'value':0.555004},{'dxsId':251659281,'value':83.575813},{'dxsId':251659279,'value':98.059898},{'dxsId':251658496,'value':16493},{'dxsId':67109378,'value':227.567886},{'dxsId':67109634,'value':225.872467},{'dxsId':67109377,'value':1.005249},{'dxsId':67109633,'value':1.010742},{'dxsId':67109379,'value':34.409111},{'dxsId':67109635,'value':34.984821},{'dxsId':16780032,'value':3},{'dxsId':33555203,'value':65.081833},{'dxsId':33555459,'value':71.418472},{'dxsId':67109890,'value':228.161285},{'dxsId':67109889,'value':1.036377}]Muss jetzt mal die IDs vergleichen
-
@Glasfaser
aus irgendeinem Grund scheint er den String 3 nicht auslesen zu wollenda könnte auch der Fehler mit dem Value dann herkommen:
setState('Solaranlage.Momentanwerte.Leistung_String3', result[25].value || 0, true);habe aber keine Ahnung warum er das Array zu kurz hat
-
@glasfaser habe mutig einfach ein log(result) eigefügt, dabei kommt
javascript.0 (30706) script.js.Skript_1: [{'dxsId':33556736,'value':136.500305},{'dxsId':67109120,'value':103.410645},{'dxsId':83888128,'value':-0.004734},{'dxsId':251659266,'value':0.413695},{'dxsId':251659265,'value':0.46385},{'dxsId':251659278,'value':0.003308},{'dxsId':251659280,'value':0.002075},{'dxsId':251658754,'value':12505.785156},{'dxsId':251658753,'value':22358.400391},{'dxsId':251659010,'value':0.42188},{'dxsId':251659009,'value':0.555004},{'dxsId':251659281,'value':83.575813},{'dxsId':251659279,'value':98.059898},{'dxsId':251658496,'value':16493},{'dxsId':67109378,'value':227.567886},{'dxsId':67109634,'value':225.872467},{'dxsId':67109377,'value':1.005249},{'dxsId':67109633,'value':1.010742},{'dxsId':67109379,'value':34.409111},{'dxsId':67109635,'value':34.984821},{'dxsId':16780032,'value':3},{'dxsId':33555203,'value':65.081833},{'dxsId':33555459,'value':71.418472},{'dxsId':67109890,'value':228.161285},{'dxsId':67109889,'value':1.036377}]Muss jetzt mal die IDs vergleichen
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden


