NEWS
Status vom Kostal Wechselrichter auslesen?
-
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Es ist nun dunkel!
wo wohnst du??
ich hab noch ein paar Watt obwohl ich nach NO ausgerichtet binaber sieht vielversprechend aus:
'dxsId':33555715,'value':0}]
-
Hier die Datenpunkte (alle DPs vor dem Start des Skriptes gelöscht):
-
@homoran
In der Nähe Berlins. Ich glaube, du kommst aus meiner alten Heimat (Rheinland). Richtig? Da liegen ca. 25 Minuten Sonne dazwischen.Edit:
Ich gebe morgen früh Rückmeldung.Gruß und Dank an @Homoran und @Glasfaser
-
Guten Morgen, das Script läuft und liefert die Werte. Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.
-
-
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.
den habe ich deaktiviert, um String 3 zu bekommen.
Es scheint so, als ob der WR nur maximal 25 Elemente (0-24) ins Array packen kann.
Wenn du P3 wieder aktivierst aber auch die [24] des Strin3 in [25] zurück ändern! -
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
'&dxsEntries=' + ID_DC3Leistung+, //25
'&dxsEntries=' + ID_P3Leistung, //26ein komma zuviel
-
das fehlte
'&dxsEntries=' + ID_P3Leistung, setState('Solaranlage.Momentanwerte.P3Leistung', result[26].value || 0, true);
-
@glasfaser sagte in Status vom Kostal Wechselrichter auslesen?:
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
//Variable
var url = '192.168.178.123'; // 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 WcreateState('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',0);
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',0);
createState('Solaranlage.Momentanwerte.P2Spannung',0);
createState('Solaranlage.Momentanwerte.P3Spannung',0);
createState('Solaranlage.Momentanwerte.P1Strom',0);
createState('Solaranlage.Momentanwerte.P2Strom',0);
createState('Solaranlage.Momentanwerte.P3Strom',0);
createState('Solaranlage.Momentanwerte.P1Leistung',0);
createState('Solaranlage.Momentanwerte.P2Leistung',0);
createState('Solaranlage.Momentanwerte.P3Leistung',0);
createState('Solaranlage.Momentanwerte.Leistung_String1',0);
createState('Solaranlage.Momentanwerte.Leistung_String2',0);
createState('Solaranlage.Momentanwerte.Leistung_String3',0);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
'&dxsEntries=' + ID_P3Leistung, //26function (error, response, body) {
if(!error && response.statusCode ==200) {
if(logging) log(body);
var result = JSON.parse(body).dxsEntries;
log (result);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); setState('Solaranlage.Momentanwerte.P3Leistung', result[26].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;Hallo @Glasfaser , das Script liefert keine aktuellen Werte für den String 3. Es werden die die Spannungswerte eingetragen. Die P3Leistung wird nicht aktualisiert.
Ich kann auf P3Leistung verzichten, wenn P3Strom kommt, die Leistung lässt sich über ein Blocky einfach berechnen. Der String 3 ist wichtig. -
@homoran sagte in Status vom Kostal Wechselrichter auslesen?:
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:Nur P3Leistung fehlt. Ich versuche den DP zu aktivieren.
den habe ich deaktiviert, um String 3 zu bekommen.
Es scheint so, als ob der WR nur maximal 25 Elemente (0-24) ins Array packen kann.
Wenn du P3 wieder aktivierst aber auch die [24] des Strin3 in [25] zurück ändern!Eventuell so wie schon @Homoran geschrieben .
Das ist alles Trockenübung
-
Hier das aktuelle Script:
// 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',0); 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',0); createState('Solaranlage.Momentanwerte.P2Spannung',0); createState('Solaranlage.Momentanwerte.P3Spannung',0); createState('Solaranlage.Momentanwerte.P1Strom',0); createState('Solaranlage.Momentanwerte.P2Strom',0); createState('Solaranlage.Momentanwerte.P3Strom',0); createState('Solaranlage.Momentanwerte.P1Leistung',0); createState('Solaranlage.Momentanwerte.P2Leistung',0); createState('Solaranlage.Momentanwerte.P3Leistung',0); createState('Solaranlage.Momentanwerte.Leistung_String1',0); createState('Solaranlage.Momentanwerte.Leistung_String2',0); createState('Solaranlage.Momentanwerte.Leistung_String3',0); 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 '&dxsEntries=' + ID_DC3Leistung, //25 // '&dxsEntries=' + ID_P3Leistung, //26 function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; log (result); 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); // setState('Solaranlage.Momentanwerte.P3Leistung', result[26].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;
Ich brauche hier den Wert für Leistung_String3. Hast du noch eine Idee?
-
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
//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 Wtausche mal zum Test , ich habe die Werte P2Leistung / P3Leistung mal gedreht , ober er überhaupt das Ergebniss holt
//Netz Phase 2 var ID_P2Spannung = 67109634; // in V var ID_P2Strom = 67109633; // in A var ID_P2Leistung = 67109891; // in W //Netz Phase 3 var ID_P3Spannung = 67109890; // in V var ID_P3Strom = 67109889; // in A var ID_P3Leistung = 67109635; // in W
-
@glasfaser Nur kurz zum verständnis. Es gibt ja dafür ein Adapter was ist der Unterschied zum Skript?
https://github.com/hombach/ioBroker.kostal-piko-ba -
@tombox
Funktioniert der Adapter Piko_Ba mit einem Piko 20? nach meinem Sachstand nicht, der Piko_Ba ist der Vorläufer. -
@glasfaser
Das Script zeigt Errors:// 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 2 var ID_P2Spannung = 67109634; // in V var ID_P2Strom = 67109633; // in A var ID_P2Leistung = 67109891; // in W //Netz Phase 3 var ID_P3Spannung = 67109890; // in V var ID_P3Strom = 67109889; // in A var ID_P3Leistung = 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',0); 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',0); createState('Solaranlage.Momentanwerte.P2Spannung',0); createState('Solaranlage.Momentanwerte.P3Spannung',0); createState('Solaranlage.Momentanwerte.P1Strom',0); createState('Solaranlage.Momentanwerte.P2Strom',0); createState('Solaranlage.Momentanwerte.P3Strom',0); createState('Solaranlage.Momentanwerte.P1Leistung',0); createState('Solaranlage.Momentanwerte.P2Leistung',0); createState('Solaranlage.Momentanwerte.P3Leistung',0); createState('Solaranlage.Momentanwerte.Leistung_String1',0); createState('Solaranlage.Momentanwerte.Leistung_String2',0); createState('Solaranlage.Momentanwerte.Leistung_String3',0); 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 + // 18 '&dxsEntries=' + ID_P2Leistung + // 19 '&dxsEntries=' + ID_Status + // 20 '&dxsEntries=' + ID_DC1Leistung + // 21 '&dxsEntries=' + ID_DC2Leistung + // 22 '&dxsEntries=' + ID_P3Spannung + // 23 '&dxsEntries=' + ID_P3Strom + // 24 '&dxsEntries=' + ID_DC3Leistung+ //25 // '&dxsEntries=' + ID_DC3Leistung, //25 '&dxsEntries=' + ID_P3Leistung, //26 function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; log (result); 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[20].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); setState('Solaranlage.Momentanwerte.P3Leistung', result[26].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;
10:29:33.001 error javascript.0 (50237) at Object.Piko (script.js.Photovoltaik.Piko9:125:19)
10:29:44.001 error javascript.0 (50237) at Object.Piko (script.js.Photovoltaik.Piko9:125:19)Ich finde den Fehler nicht.
Edit:
In Zeile 185 war der falsche Array-Wert.Habe es korrigiert.
Hier das aktuelle Script:
// 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 2 var ID_P2Spannung = 67109634; // in V var ID_P2Strom = 67109633; // in A var ID_P2Leistung = 67109891; // in W //Netz Phase 3 var ID_P3Spannung = 67109890; // in V var ID_P3Strom = 67109889; // in A var ID_P3Leistung = 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',0); 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',0); createState('Solaranlage.Momentanwerte.P2Spannung',0); createState('Solaranlage.Momentanwerte.P3Spannung',0); createState('Solaranlage.Momentanwerte.P1Strom',0); createState('Solaranlage.Momentanwerte.P2Strom',0); createState('Solaranlage.Momentanwerte.P3Strom',0); createState('Solaranlage.Momentanwerte.P1Leistung',0); createState('Solaranlage.Momentanwerte.P2Leistung',0); createState('Solaranlage.Momentanwerte.P3Leistung',0); createState('Solaranlage.Momentanwerte.Leistung_String1',0); createState('Solaranlage.Momentanwerte.Leistung_String2',0); createState('Solaranlage.Momentanwerte.Leistung_String3',0); 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 + // 18 '&dxsEntries=' + ID_P2Leistung + // 19 '&dxsEntries=' + ID_Status + // 20 '&dxsEntries=' + ID_DC1Leistung + // 21 '&dxsEntries=' + ID_DC2Leistung + // 22 '&dxsEntries=' + ID_P3Spannung + // 23 '&dxsEntries=' + ID_P3Strom + // 24 '&dxsEntries=' + ID_DC3Leistung+ //25 // '&dxsEntries=' + ID_DC3Leistung, //25 '&dxsEntries=' + ID_P3Leistung, //26 function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; log (result); 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); setState('Solaranlage.Momentanwerte.P3Leistung', result[26].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;
Liefert immer noch Fehler.
-
Hier das laufende Script ohne P2Leistung und P3Leistung.
// 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',0); 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',0); createState('Solaranlage.Momentanwerte.P2Spannung',0); createState('Solaranlage.Momentanwerte.P3Spannung',0); createState('Solaranlage.Momentanwerte.P1Strom',0); createState('Solaranlage.Momentanwerte.P2Strom',0); createState('Solaranlage.Momentanwerte.P3Strom',0); createState('Solaranlage.Momentanwerte.P1Leistung',0); createState('Solaranlage.Momentanwerte.P2Leistung',0); createState('Solaranlage.Momentanwerte.P3Leistung',0); createState('Solaranlage.Momentanwerte.Leistung_String1',0); createState('Solaranlage.Momentanwerte.Leistung_String2',0); createState('Solaranlage.Momentanwerte.Leistung_String3',0); 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 + // 18 // '&dxsEntries=' + ID_P2Leistung + // 19 '&dxsEntries=' + ID_Status + // 19 '&dxsEntries=' + ID_DC1Leistung + // 20 '&dxsEntries=' + ID_DC2Leistung + // 21 '&dxsEntries=' + ID_P3Spannung + // 22 '&dxsEntries=' + ID_P3Strom + // 23 // '&dxsEntries=' + ID_DC3Leistung+ //25 '&dxsEntries=' + ID_DC3Leistung, //24 // '&dxsEntries=' + ID_P3Leistung, //26 function (error, response, body) { if(!error && response.statusCode ==200) { if(logging) log(body); var result = JSON.parse(body).dxsEntries; log (result); var Zustand = 'aus'; if (result[19].val == 0) { Zustand = 'aus'; } else if (result[19].value== 1) { Zustand = 'Leerlauf'; } else if (result[19].value == 2) { Zustand = 'Anfahren'; } else if (result[19].value == 3) { Zustand = 'Einspeisen MPP'; } else if (result[19].value == 4) { Zustand = 'Einspeisen abgeregelt'; } else if (result[19].value == 7) { Zustand = 'Isolationsmessung'; } else { Zustand = (String('Code ') + String('' + result[19].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[20].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String2', result[21].value || 0, true); setState('Solaranlage.Momentanwerte.P3Spannung', result[22].value || 0, true); setState('Solaranlage.Momentanwerte.P3Strom', result[23].value || 0, true); setState('Solaranlage.Momentanwerte.Leistung_String3', result[24].value || 0, true); // setState('Solaranlage.Momentanwerte.P3Leistung', result[26].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;
-
@tombox
Ich nehme alles zurück und behaupte das Gegenteil!!!!@tombox
Du hast mich gerettet, der Piko_Ba läuft mit meinem Piko 20 und ich bekomme alle Werte.Einen Riesen Dank an euch Alle @Homoran @Glasfaser @tombox
-
@glasfaser
Das Script nimmt nur 24 Werte an. Das hast du mit dem Array Recht gehabt. Ich habe eine Weile mit den DPs experimentiert. Ich dachte, ich kann die Leistung über Strom * Spannung errechnen und damit auf P2Leistung verzichten. Das funktioniert aber nicht mit den echten Werten aus dem Piko.Ich gebe damit den Versuch mit dem Script auf.
Danke nochmal für deine Unterstützung.
-
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Funktioniert der Adapter Piko_Ba mit einem Piko 20?
@tombox
nein!EDIT:
@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
ich nehme alles zurück und behaupte das Gegenteil!!!!
wieso klappt der bei dir?
ich habe nur einen 5.5, da klappt der Adapter nicht@martybr sagte in Status vom Kostal Wechselrichter auslesen?:
Das Script nimmt nur 24 Werte an
nein 25!
@homoran sagte in Status vom Kostal Wechselrichter auslesen?:
Es scheint so, als ob der WR nur maximal 25 Elemente (0-24) ins Array packen kann.
liegt aber nicht am Skript
-
@homoran
Der Adapter Kostal_Piko_BA liest meinen Piko 20 aus. FW: 6.11
Vielleicht liegt es an der Firmware.Habt Ihr schon rausgefunden, warum der WR nur die 25 Werte liefert? Hängt es mit der API zusammen?
Hier die Werte vom Kostal_Piko_BA:
Ich habe es auch mittlerweile geschafft, den Kostal Smart Energy Meter auszulesen. Das funktioniert mit Modus und den Sunspec-Registern.
Wenn Interesse besteht, dann kann ich die Holding-Register hier posten.