NEWS
Status vom Kostal Wechselrichter auslesen?
-
@joefarm
Danke, hatte es damals selbst gelöst bekommen.
Wichtig war die Adressen unter Holding Registers und mit Float (Big Endian Word Swap) anzulegen. -
@Diginix
Alles klar, freut mich wenn es geklappt hat. -
@bahnuhr Hi, super Beitrag! funktioniert bei mir! Wie kann ich noch die Werte vom BA anzeigen lassen?
http://192.168.170.200/BA.fhtml (Hausverbrauch)
Grüße!Hier noch die Seite:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="Generator" content="ChrisB">
<title>PV Webserver</title>
</head>
<body nof="(MB=(DefaultMasterborder, 65, 60, 150, 10), L=(HomeLayout, 700, 600))" bgcolor="#EAF7F7" text="#000000" link="#0033CC" vlink="#990099" alink="#FF0000" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>
<table cellspacing="0" cellpadding="0" width="800" nof="ly">
<tr valign="top" align="left">
<td height="5" width="190"></td>
<td></td>
</tr>
<tr align="left" valign="top">
<td height="55"></td>
<td colspan="2" width="600">
<font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif" size="+3">
PIKO 10
<br><font size="+1">
Ebert (255)
</font>
</font>
<td colspan="1" width="50"><img alt="Logo" height="42" width="130" src="KSE.gif"></td>
</tr>
</table><table border="0" width="100%"> <tr> <td width="150"></td> <td> <hr> </td> </tr></table> <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif"> <table border="0" width="100%"> <tr> <td height="30" width="150"></td> <td> <font size="+1"><U>Batterie </u></font></td> </tr><tr> <td width="150"></td> <td width="280" height="35" align="right">Ladezustand:</td> <td><b>0.0%</b></td> </tr><tr> <td width="150"></td> <td width="280" height="35" align="right">Spannung:</td> <td><b> 0V</b></td> </tr><tr> <td width="150"></td> <td width="280" height="35" align="right">Ladestrom:</td> <td><b> 0.00A</b></td> </tr><tr> <td width="150"></td> <td width="280" height="35" align="right">Temperatur:</td> <td><b> 0.0°C</b></td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280">Zyklenanzahl:</td> <td><b>0</b></td> </tr><tr> <td height="50" width="150"></td> <td> <font size="+1"><u>Hausverbrauch </u></font></td> </tr><tr> <td width="150"></td> <td height="35" width="280">Deckung des Hausverbrauches aus:</td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280">Solargenerator:</td> <td><b> 0.0W</b></td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280">Batterie:</td> <td><b> 0.0W</b></td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280">Netz:</td> <td><b> 0.0W</b></td> </tr><tr> <td width="150"></td> <td height="35" width="280">Phasenselektiver Hausverbrauch:</td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280">Phase 1:</td> <td><b> 0.0W</b></td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280">Phase 2:</td> <td><b> 0.0W</b></td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280">Phase 3:</td> <td><b> 0.0W</b></td> </tr><tr> <td width="150"></td> <td align="right" height="35" width="280"></td> </tr> </table> </font> <hr><br>
<table align="left"><tbody><tr><td width="160"> </td><td>
<font face="Arial,Helvetica,Geneva,Sans-serif">  
 <a href="index.fhtml"> Zurück zur Hauptseite </a>
 
</font></td></tr></tbody></table></body></html>
-
@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?
-
@ee sagte in Status vom Kostal Wechselrichter auslesen?:
Hi, super Beitrag! funktioniert bei mir! Wie kann ich noch die Werte vom BA anzeigen lassen?
Was ist BA?
Mehr Infos wären gut.
-
@bahnuhr Hi, der misst den Eigenverbrauch. (von Kostal https://shop.kostal-solar-electric.com/de/piko-ba-sensor.html)
ich möchte die Werte weiter verarbeiten.
Zb. Wenn 1000W Überschuss dann Waschmaschine einschalten.Ich habe einen Kostal Piko 10 Wechselrichter. Ich installiere gerade die neuste UI und FW auf den Wechselrichter.
FW-Update_05_60
PIKO-Update_UIv06.41Wie kann ich alle daten die im Webserver angezeigt werden in den IO Broker bekommen
Sorry ich bin ein richtiger NOOB
-
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