NEWS
Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?
-
Hi,
bräuchte mal einen Tipp wie ich einen "älteren" Kostal Piko 3.6 Wechselrichter in iobroker visualisieren kann.
Hab beide Kostal Adapter getestet ist wohl nicht kompatibel. Dann hab ich es mal mit Parse versucht jedoch fehlt mir da das KnowHow was ich da genau eingeben muss...
Die Software Version des Wechselrichters ist 3.78.Mir geht es eigentlich nur darum die aktuelle Leistung, Gesamt und Tagesenegie anzeigen zu lassen. Mehr ist jedoch natürlich auch kein Problem
Grüsse
-
@karrazz-0 hier sind ein paar alte Ansätze im Forum unterwegs, etwa aus 2017/18
Wenn ich dir beim Parser helfen soll, musst du mir den Quelltext der Seite posten
-
@homoran das wäre super und sehr nett stehe noch auf dem Schlauch bzgl Parser hier mal der Quelltext:
MOD-Edit: Code in Code-Tags und Spoiler gesetzt!*
-
Alles was Zahlen hast bekommst du mit:
FFF">\s+([\d\.]+)
heraus, du musst nur für die jeweilige Regel die "NUM" anpassen (0=aktuell, 1=Gesamtenergie, 2= Tagesenergie...usw.)Texte
kommen gleich
"4">\s([\w\s]+)
habe nur den Status (Einspeisen MPP) als Text gefunden
Wenn was fehlt bitte Info
-
Hast du die Suche benutzt ???
Dieser Thread müsste weiterhelfen
https://forum.iobroker.net/topic/35905/kostal-wechselrichter-mit-firmware-3-71?_=1617617640277Da ist auch mein Script drin.
Und auch der regex von @Homoran -
@bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
Hast du die Suche benutzt ???
Ja habe ich
Aber da stand nachher was drin, das cheerio nicht mehr läuft, deswegen habe ich den nicht verlinkt
-
Ja hatte die Suche benuzt und natürlich auch den Thread gesehen nur irgendwie nicht durchgeblickt mit den vielen Scripts und Parser einstellungen.
Hab hakt alte Oberfläche mit Benutzername und PW und wollte versuchen über Parser die werte einzulesen, Scripte hab ich noch nichts mit gemacht.
-
@homoran sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
Ja habe ich
hab ja auch nicht dich gemeint
Dass du dies machts weiß ich ja.
Der TE war gemeint.Und ja, cheerio hab ich nicht mehr ans laufen bekommen.
Anbei mein aktuelles Script, was auch seit Monaten (Jahren) läuft.
// Photovoltaik: Piko 5.5 Anlage (alte Firmware) // Danke an homoran für den regex // @bahnuhr; 03/2019 Dieter Müller //Variaben var idaktuell = 'javascript.0.Geräte.Photovoltaik.Leistung_aktuell'; var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung'; var idall = 'javascript.0.Geräte.Photovoltaik.Leistung_gesamt'; var idP1 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang1'; var idP2 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang2'; var NameAnlage = 'xxx'; // Nutzername der Photovoltaik-Anlage var PassAnlage = 'abc'; // Password der Photovoltaik-Anlage var IPAnlage = '192.168.xxx.xxx'; // IP der Photovoltaik-Anlage var logging = false; var request = require('request'); function Piko() { log("Piko 5.5 auslesen"); var results = []; request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) { var d = body.toString(); if (logging) log (d); var reg = /#FFFFFF">[^\d]+([^<]+)/g var z = reg.exec(d); while(z != null) { if (isNaN(z[1])) { if (logging) log("keine Zahl= "+ z[1]); z[1] = 0; } else { if (logging) log("Zahl= "+ z[1]); parseFloat(z[1]); } results[results.length] = z[1]; z = reg.exec(d); } if (logging) log("results= "+ results); // Werte zuordnen var pwr = results[0]; // Energie aktuell in W var day = results[2]; // Tagesenergie in kWh var all = results[1]; // Gesamtenergie in kWh var v1 = results[3]; // PV Generator Nr. 1 - Spannung in V var i1 = results[5]; // PV Generator Nr. 1 - Strom in A var p1 = parseInt(v1 * i1); var v2 = results[7]; // PV Generator Nr. 2 - Spannung in V var i2 = results[9]; // PV Generator Nr. 2 - Strom in A var p2 = parseInt(v2 * i2); if (logging) log("Leistung aktuell= " + pwr + " W"); if (logging) log("Tagesleistung= " + day + " kWh"); if (logging) log("Leistung gesamt= " + all + " kWh"); if (logging) log("Leistung Strang 1= " + p1 + " W"); if (logging) log("Leistung Strang 2= " + p2 + " W"); setState(idaktuell, parseFloat(pwr)); setState(idTag, parseFloat(day)); setState(idall, parseFloat(all)); setState(idP1, parseFloat(p1)); setState(idP2, parseFloat(p2)); }); } schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () { log ("Auslöser: Schedule"); Piko(); }); schedule("3 0 * * *", function () { // Variablen löschen um 00:03 Uhr setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0); });
Die variablen musst du selber anlegen.
-
Und in vis sieht es dann so aus:
-
@bahnuhr said in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
// Photovoltaik: Piko 5.5 Anlage (alte Firmware) // Danke an homoran für den regex // @bahnuhr; 03/2019 Dieter Müller //Variaben var idaktuell = 'javascript.0.Geräte.Photovoltaik.Leistung_aktuell'; var idTag = 'javascript.0.Geräte.Photovoltaik.Tagesleistung'; var idall = 'javascript.0.Geräte.Photovoltaik.Leistung_gesamt'; var idP1 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang1'; var idP2 = 'javascript.0.Geräte.Photovoltaik.Leistung_Strang2'; var NameAnlage = 'xxx'; // Nutzername der Photovoltaik-Anlage var PassAnlage = 'abc'; // Password der Photovoltaik-Anlage var IPAnlage = '192.168.xxx.xxx'; // IP der Photovoltaik-Anlage var logging = false; var request = require('request'); function Piko() { log("Piko 5.5 auslesen"); var results = []; request('http://' + NameAnlage + ':' + PassAnlage +'@' + IPAnlage, function (error, response, body) { var d = body.toString(); if (logging) log (d); var reg = /#FFFFFF">[^\d]+([^<]+)/g var z = reg.exec(d); while(z != null) { if (isNaN(z[1])) { if (logging) log("keine Zahl= "+ z[1]); z[1] = 0; } else { if (logging) log("Zahl= "+ z[1]); parseFloat(z[1]); } results[results.length] = z[1]; z = reg.exec(d); } if (logging) log("results= "+ results); // Werte zuordnen var pwr = results[0]; // Energie aktuell in W var day = results[2]; // Tagesenergie in kWh var all = results[1]; // Gesamtenergie in kWh var v1 = results[3]; // PV Generator Nr. 1 - Spannung in V var i1 = results[5]; // PV Generator Nr. 1 - Strom in A var p1 = parseInt(v1 * i1); var v2 = results[7]; // PV Generator Nr. 2 - Spannung in V var i2 = results[9]; // PV Generator Nr. 2 - Strom in A var p2 = parseInt(v2 * i2); if (logging) log("Leistung aktuell= " + pwr + " W"); if (logging) log("Tagesleistung= " + day + " kWh"); if (logging) log("Leistung gesamt= " + all + " kWh"); if (logging) log("Leistung Strang 1= " + p1 + " W"); if (logging) log("Leistung Strang 2= " + p2 + " W"); setState(idaktuell, parseFloat(pwr)); setState(idTag, parseFloat(day)); setState(idall, parseFloat(all)); setState(idP1, parseFloat(p1)); setState(idP2, parseFloat(p2)); }); } schedule("2,7,12,17,22,27,32,37,42,47,52,57 * * * *", function () { log ("Auslöser: Schedule"); Piko(); }); schedule("3 0 * * *", function () { // Variablen löschen um 00:03 Uhr setState('javascript.0.Geräte.Photovoltaik.Tagesleistung', 0); });
Bitte nicht böse sein...aber wo gebe ich das ein ?
wie gesagt mit Scripte noch nicht gearbeitet und ersetzt das den Parser ? -
@karrazz-0 sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
ersetzt das den Parser ?
Ja
@karrazz-0 sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
wo gebe ich das ein ?
javascript-Adapter
- neues Skript anlegen
- Typ Javascript
- mit Copy und paste den Code im Editor einfügen
- speichern
- starten
-
@homoran
Vielen Dank, hab ich so gemacht.Die Daten also IP, PW und Benutzername habe ich geändert.
Im Javascript Log kommt nun folgendes:MOD-Edit: Code in code-tags gesetzt!
-
@karrazz-0
ich kann auch kein javascriptsieht für mich so aus, als ob du die Datenpunkte selber anlegen müsstest.
Das kann dir aber sicher @bahnuhr sagen
-
@bahnuhr sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
Die variablen musst du selber anlegen.
ja, hatte ich oben geschrieben.
Und das Script steht in dem anderen Thread.ich dachte der TE hat dies gelesen
-
deutlicher kann man dies nicht schreiben.
https://forum.iobroker.net/topic/35905/kostal-wechselrichter-mit-firmware-3-71/6?_=1617617640277
-
@bahnuhr
Vielen Dank ja ich hatte den Thread gelesen nur wenn man noch nie mit Javascript gearbeitet hat versteht man halt nicht wirklich alles, schon gar nicht was es mit Script, Variablen usw. zu tun hat.
Dies war auch de rGrund wieso ich in Richtung Parser gehen wollte.Nun bin ich ja auf einen guten weg bei den Javascript, hab von dir den Variablen Script erzeugt und mal laufen gelassen mal sehen was passiert.
Edit:
Juuhhuuuu ich bekomme Werte angezeigt und auch die richtigen.VIELEN VIELEN DANK
Jetzt noch ne schöne VIS suchen.
-
@karrazz-0 sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
Juuhhuuuu ich bekomme Werte angezeigt und auch die richtigen.
Na also, klappt doch.
Und wenn was nicht klappt immer fragen. -
@bahnuhr Guten Abend...
Ich habe es endlich geschafft, iobroker auf einem Tablet im Flur meines Hauses zu visualisieren. Habe da auch diverse Kalender und Schalter und Kontakte meines Homematic - Systems erfolgreich eingebunden.
Bei der letzten Hürde verzweifle ich langsam.
Kann mir mal jemand eine detaillierte Anleitung zukommen lassen, wie ich die Ertragsdaten meines Kostal 5.5 Wechselrichters mit der Firmware 3.78 in der Visualisierung darstellen kann?Vielen herzlichen Dank im Voraus... (Falls mir jemand helfen will...)
-
@discotosca sagte in Wie Kostal Piko 3.6 Wechselrichter Visualisieren ?:
Kann mir mal jemand eine detaillierte Anleitung zukommen lassen, wie ich die Ertragsdaten meines Kostal 5.5 Wechselrichters mit der Firmware 3.78 in der Visualisierung darstellen kann?
was klappt denn nicht?
-
@homoran Was nicht klappt?
Wie gestern Abend gesagt, nur eine freundliche Frage, ob mir jemand beim beschriebenen Vorhaben helfen kann. Welche Adapter muss ich im iobroker installieren, Schritte der Einrichtung usw.
Angegangene Screenshots eines laufenden Systems helfen da nicht wirklich effizient weiter…