NEWS
Eigenverbrauch PV - PIKO
-
@mkrobe Hier ist "mein" Skript.
// 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 ID_DC3Spannung = 33555714; // in V ID_DC3Strom = 33555713; // in A ID_DC3Leistung = 33555715; // 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.xxx.yyy/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.P1Strom'); createState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom'); createState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung'); createState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung'); createState('Messwerte.0.Solaranlage.Momentanwerte.P3Leistung'); createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1'); createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2'); createState('Messwerte.0.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_DC3Leistung, 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 || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true); setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[20].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true); setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String3', result[23].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;
bitte noch die IP anpassen
ich versuche eben noch "trocken" den String 3 einzubauenEDIT: Done - ohne Gewähr
-
@Homoran sagte in Eigenverbrauch PV - PIKO:
bitte noch die IP anpassen
ich versuche eben noch "trocken" den String 3 einzubauen
EDIT: Done - ohne GewährDanke schonmal!
Script läuft, aber ist eigentlich wie das alte, es werden nur die Leistungswerte "Netzseite" angezeigt, nicht jedoch die Leistungswerte der PV-Strings. -
@mkrobe Wann hast du das Skript genommen?
stand da schon EDIT?ggf. nochmals die Datenpunkte alle löschen und das Skript neu starten
-
@mkrobe
Hab nochmal was geändert -
....jetzt läufts, Vielen Dank!
-
@mkrobe sagte in Eigenverbrauch PV - PIKO:
....jetzt läufts, Vielen Dank!
Alle drei Strings?
Es wäre noch möglich für die Strings auch die Spannung und die Stromstärke zu bekommen, war mir aber nicht wichtig
-
Ich habe einfach die Paramter geändert:
//PV String 1 ID_P1Spannung = 33555202; // in V ID_P1Strom = 33555201; // in A ID_P1Leistung = 33555203; // in W //PV String 2 ID_P2Spannung = 33555458; // in V ID_P2Strom = 33555457; // in A ID_P2Leistung = 33555459; // in W //PV String 3 ID_P3Spannung = 33555714; // in V ID_P3Strom = 33555713; // in A ID_P3Leistung = 33555715; // in W
Da mich die Netzwerte nicht interessieren.
Habe damit alles was ich brauche. Nur mit der grafischen Darstellung muß ich noch viel lernen, ich mach das in Flott für jeden Wert und dann in vis runtime füge ich die irgendwie zusammen. So eine Grafik wie Du hast...... da bin ich ja mal meilenweit wegDas ist mir im Moment noch zu hoch. Aber: "mühsam ernährt sich das Eichhörnchen"
-
@mkrobe sagte in Eigenverbrauch PV - PIKO:
o eine Grafik wie Du hast...... da bin ich ja mal meilenweit weg
die ist auch über Jahre gewachsen
-
Kann man eigentlich im Script die Werte auf 1 oder 2 Stellen hinter dem Komma beschneiden?
-
@mkrobe sagte in Eigenverbrauch PV - PIKO:
Kann man eigentlich im Script die Werte auf 1 oder 2 Stellen hinter dem Komma beschneiden?
Ja!
man kann das, ich nicht wirklich so aus der Hinterhand ;-9