NEWS
Status vom Kostal Wechselrichter auslesen?
-
So sieht die neue UI aus
-
Hab ich leider nicht.
Musst wohl mit dem Script mal rumspielen.
mfg
-
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);
-
@ecki945 sagte in Status vom Kostal Wechselrichter auslesen?:
/api/dxs.json
Ok danke! ich habe nur ein Problem wein Wechselrichter startet nach dem Update nicht mehr
Kostal meint ich muss auf einen Sonnigen Tag warten.... -
@Marco-Laser said in Status vom Kostal Wechselrichter auslesen?:
@joefarm Moin, wäre es möglich dass du die Flot Einstellungen von dem unteren teilst? Bei mir nimmt er da immer Werte vom Vortag mit rein. Die Werte hast du mit dem SourceAnalytix Adapter aufgezeichnet oder?
Die Werte sind per modbus aus dem Wechselrichter ausgelesen und über den statistics Adapter berechnet und in SQL gespeichert
In Flot sieht das dann so aus:
http://localhost:8082/flot/index.html?l%5B0%5D%5Bid%5D=statistics.0.save.sumDelta.modbus.0.holdingRegisters.320_Totale_Erzeugung.day&l%5B0%5D%5Binstance%5D=sql.0&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=minmax&l%5B0%5D%5Bcolor%5D=%23ba4a02&l%5B0%5D%5Bmin%5D=-0.1&l%5B0%5D%5Bthickness%5D=1&l%5B0%5D%5Bshadowsize%5D=0&l%5B0%5D%5Bname%5D=Ertrag+PV&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5BafterComma%5D=1&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=5&l%5B0%5D%5BspaceLength%5D=5&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5BchartType%5D=bar&l%5B0%5D%5Bfill%5D=1&l%5B0%5D%5BignoreNull%5D=false&l%5B0%5D%5Bunit%5D=kWh&l%5B1%5D%5Bid%5D=statistics.0.save.sumDelta.modbus.1.holdingRegisters.40107_M_Exported.day&l%5B1%5D%5Binstance%5D=sql.0&l%5B1%5D%5Boffset%5D=3600&l%5B1%5D%5Baggregate%5D=minmax&l%5B1%5D%5Bcolor%5D=%2300FF00&l%5B1%5D%5Bthickness%5D=1&l%5B1%5D%5Bshadowsize%5D=0&l%5B1%5D%5Bname%5D=Einspeisung+PV&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BcommonYAxis%5D=1&l%5B1%5D%5BafterComma%5D=1&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B1%5D%5BchartType%5D=bar&l%5B1%5D%5Bfill%5D=1&l%5B1%5D%5Bunit%5D=kWh&l%5B1%5D%5Bpoints%5D=false&l%5B2%5D%5Bid%5D=statistics.0.save.sumDelta.modbus.0.holdingRegisters.118_Totalhomeconsumption.day&l%5B2%5D%5Binstance%5D=sql.0&l%5B2%5D%5Boffset%5D=7200&l%5B2%5D%5Baggregate%5D=minmax&l%5B2%5D%5Bcolor%5D=%230000FF&l%5B2%5D%5Bthickness%5D=1&l%5B2%5D%5Bshadowsize%5D=0&l%5B2%5D%5Bunit%5D=kWh&l%5B2%5D%5Bname%5D=Verbrauch+Haus&l%5B2%5D%5BchartType%5D=bar&l%5B2%5D%5Bfill%5D=1&l%5B2%5D%5Bpoints%5D=false&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&l%5B2%5D%5BcommonYAxis%5D=1&l%5B2%5D%5BafterComma%5D=1&l%5B2%5D%5Bdashes%5D=false&l%5B2%5D%5BdashLength%5D=10&l%5B2%5D%5BspaceLength%5D=10&timeType=relative&relativeEnd=now&range=20160&aggregateType=count&aggregateSpan=300&hoverDetail=true&useComma=false&zoom=true&noedit=false&animation=0&bg=2&legend=nw&noBorder=noborder&window_bg=%23272727&x_labels_color=%23ffffff&y_labels_color=%23ffffff&grid_color=%23373636&border_width=0&timeFormat=%25d.%25m&barLabels=topover&barWidth=0.05&barFontSize=10&barFontColor=%23ffffff&live=1800&titleColor=%23ffffff&titleSize=10&legColumns=1&legBgOpacity=0.5&titlePos=bottom%3A-5%3Bleft%3A50
-
@ecki945 Hi nochmal, es funktioniert super!
Ich habe nur einen Fehler gefunden.
HausverbrauchNetz und HausverbrauchSolar sind vertauscht
oder habe ich einen Denkfehler?
Grüße -
das hängt glaub ich davon ab wie du den "Piko BA Sensor" in der Hausverteilung angeschlossen, bzw in deinem Kostal konfiguriert hast.
-
@ecki945 Ja dass kann sein! Danke!
-
@joefarm Das VIS kann ich das Projekt von dir haben? Genau so wollte ich das auch
-
@ee freut mich dass es bei dir funktioniert hat
-
@ee Bin gerade unterwegs und erst Ende nächster Woche wieder zurück. Dann kann ich das VIS posten...
-
@joefarm Ja das eilt nicht! Vielen lieben dank!
-
-
@bahnuhr
irgendwie funzt das ganze nicht mehr, bzw. liefert das Skript nix mehr...
Bekomme immer Fehlermeldungen im Log und da ich ja nunmal ne Vollgraupe bin was Java angeht... Hast du nen Tip?*```
javascript.0 2019-11-26 18:07:03.146 error at process._tickCallback (internal/process/next_tick.js:63:19)
javascript.0 2019-11-26 18:07:03.146 error at emitErrorAndCloseNT (internal/streams/destroy.js:59:3)
javascript.0 2019-11-26 18:07:03.146 error at emitErrorNT (internal/streams/destroy.js:91:8)
javascript.0 2019-11-26 18:07:03.146 error at Socket.emit (events.js:198:13)
javascript.0 2019-11-26 18:07:03.146 error at Socket.socketErrorListener (_http_client.js:392:9)
javascript.0 2019-11-26 18:07:03.146 error at ClientRequest.emit (events.js:198:13)
javascript.0 2019-11-26 18:07:03.145 error at Request.onRequestError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:881:8)
javascript.0 2019-11-26 18:07:03.145 error at Request.emit (events.js:198:13)
javascript.0 2019-11-26 18:07:03.145 error at self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:185:22)
javascript.0 2019-11-26 18:07:03.145 error at Request._callback (script.js.Eigene.Wechselrichter:47:22)
javascript.0 2019-11-26 18:07:03.144 error script.js.Eigene.Wechselrichter: TypeError: Cannot read property 'toString' of undefined
javascript.0 2019-11-26 18:07:00.009 info script.js.Eigene.Wechselrichter: Piko 5.5 auslesen -
@Spooky99 sagte in Status vom Kostal Wechselrichter auslesen?:
Hast du nen Tip?
Dieser Thread ist doch piko10.
Was hast du?
Welches Script hast du?
Was heißt "...nix mehr?
Dann hat es offensichtlich mal funktioniert.
Was hast du geändert?Etwas mehr Angaben wären schon sinnvoll.
mfg
-
@bahnuhr
du hattest mir weiter oben ein skript für den 5.5 gepostet ab Beitrag 45 mit der alten Oberfläche...
und geändert hatte ich nix auf einmal gings nicht mehr, also es werden keine Werte mehr ausgelesen... -
@Spooky99 sagte in Status vom Kostal Wechselrichter auslesen?:
@bahnuhr
du hattest mir weiter oben ein skript für den 5.5 gepostet ab Beitrag 45 mit der alten Oberfläche...
und geändert hatte ich nix auf einmal gings nicht mehr, also es werden keine Werte mehr ausgelesen...Das ist aber seltsam.
Insbesondere weil es ja schon lief.
Komisch. -
@bahnuhr jo, hab ich auch gedacht...
allerdings könnte es sein das da was mit der Schnittstelle vom piko ist... Die App hat auch keine Daten mehr bekommen... -
Bei mir kommen auf einmal auch Fehler... Echt komisch hat alles super funktioniert.
-
Habe das selbe Problem wie Du. Habe in PIKO 7.0... plötzlich bekomme ich keine Daten mehr. Ich übermittle diese auch noch auf das Suntrol Portal und das funktioniert weiterhin... Was wurde also bei ioBroker geändert...??!