Habe auch einen Kostal Piko 10BA. Den Code zum Auslesen wurde hier mal gepostet. Hängt aber wohl auch vom Firmwarestand ab. Bei mir funktioniert das Script. Musst "nur" die IP Adresse anpassen.
// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
//Variable
//Leistungswerte
ID_DCEingangGesamt = 33556736; // in W
ID_Ausgangsleistung = 67109120; // in W
ID_Eigenverbrauch = 83888128; // in W
//Status
ID_Status = 16780032; // 0:Off
//Statistik - Tag
ID_Ertrag_d = 251658754; // in Wh
ID_Hausverbrauch_d = 251659010; // in Wh
ID_Eigenverbrauch_d = 251659266; // in Wh
ID_Eigenverbrauchsquote_d = 251659278; // in %
ID_Autarkiegrad_d = 251659279; // in %
//Statistik - Gesamt
ID_Ertrag_G = 251658753; // in kWh
ID_Hausverbrauch_G = 251659009; // in kWh
ID_Eigenverbrauch_G = 251659265; // in kWh
ID_Eigenverbrauchsquote_G = 251659280; // in %
ID_Autarkiegrad_G = 251659281; // in %
ID_Betriebszeit = 251658496; // in h
//Momentanwerte - PV Genertor
ID_DC1Spannung = 33555202; // in V
ID_DC1Strom = 33555201; // in A
ID_DC1Leistung = 33555203; // in W
ID_DC2Spannung = 33555458; // in V
ID_DC2Strom = 33555457; // in A
ID_DC2Leistung = 33555459; // in W
//Momentanwerte Haus
ID_HausverbrauchSolar = 83886336; // in W
ID_HausverbrauchBatterie = 83886592; // in W
ID_HausverbrauchNetz = 83886848; // in W
ID_HausverbrauchPhase1 = 83887106; // in W
ID_HausverbrauchPhase2 = 83887362; // in W
ID_HausverbrauchPhase3 = 83887618; // in W
//Netz Netzparameter
ID_NetzAusgangLeistung = 67109120; // in W
ID_NetzFrequenz = 67110400; // in Hz
ID_NetzCosPhi = 67110656;
//Netz Phase 1
ID_P1Spannung = 67109378; // in V
ID_P1Strom = 67109377; // in A
ID_P1Leistung = 67109379; // in W
//Netz Phase 2
ID_P2Spannung = 67109634; // in V
ID_P2Strom = 67109633; // in A
ID_P2Leistung = 67109635; // in W
//Netz Phase 3
ID_P3Spannung = 67109890; // in V
ID_P3Strom = 67109889; // in A
ID_P3Leistung = 67109891; // in W
var IPAnlage = '192.168.178.25/api/dxs.json'; // IP der Photovoltaik-Anlage
createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d',0);
createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G',0);
createState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit',0);
createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
createState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch',0);
createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d');
createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
createState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', 0);
createState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', 0);
createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', 0);
createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', 0);
createState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung');
createState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung');
createState('Messwerte.0.Solaranlage.Momentanwerte.P3Spannung');
createState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom');
createState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom');
createState('Messwerte.0.Solaranlage.Momentanwerte.P3Strom');
createState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung');
createState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung');
createState('Messwerte.0.Solaranlage.Momentanwerte.P3Leistung');
createState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchSolar');
createState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchNetz');
createState('Messwerte.0.Solaranlage.Momentanwerte.Status');
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_P3Spannung +
'&dxsEntries=' + ID_P1Strom +
'&dxsEntries=' + ID_P2Strom +
'&dxsEntries=' + ID_P3Strom +
'&dxsEntries=' + ID_P1Leistung +
'&dxsEntries=' + ID_P2Leistung +
'&dxsEntries=' + ID_P3Leistung +
'&dxsEntries=' + ID_HausverbrauchNetz +
'&dxsEntries=' + ID_HausverbrauchSolar +
'&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;
setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value, true);
setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value, true);
setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value);
setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung', result[14].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung', result[15].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P3Spannung', result[16].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[17].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[18].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P3Strom', result[19].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[20].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[21].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.P3Leistung', result[22].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchSolar', result[23].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.HausverbrauchNetz', result[24].value, true);
setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[23].value, true);
// setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value, true);
// setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value, true);
} else {
log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
}
});
}
schedule("*/20 * 5-23 * * *", Piko);