NEWS
Status vom Kostal Wechselrichter auslesen?
-
Das ist das aktuellste, welches ich von dir finden konnte
// 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.Status.Photovoltaik.Leistung_aktuell'; var idTag = 'javascript.0.Status.Photovoltaik.Tagesleistung'; var idall = 'javascript.0.Status.Photovoltaik.Leistung_gesamt'; var idP1 = 'javascript.0.Status.Photovoltaik.Leistung_Strang1'; var idP2 = 'javascript.0.Status.Photovoltaik.Leistung_Strang2'; var NameAnlage = 'pvserver'; // Nutzername der Photovoltaik-Anlage var PassAnlage = 'mocken'; // Password der Photovoltaik-Anlage var IPAnlage = '192.168.0.40'; // 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("*/10 * * * * *", function () { // Variablen löschen um 00:03 Uhr setState('javascript.0.Status.Photovoltaik.Tagesleistung', 0); });
Bislang kommen Werte in den Datenpunkten an. Soweit so gut
-
Ja, das nehme ich auch.
Bei mir läuft es. -
@blackplanet333
Danke sehr für diesen Beitrag, ich spiele schon seit Tagen mit der Regex und bekomm es nicht hin.
Heute beim suchen bin ich über Deinen Beitrag gestolpert und sieheda, alles funktioniert beim ersten mal.
SUPER DANKE -
Hallo zusammen,
das Ganze müsste doch auch bei einem Piko 7.0 funktionieren, oder?!
auf meinem läuft die FW 5.5, für welche das Skript ja gedacht ist.
Bei mir kommen hinten aber keine Werte raus, hat hier jemand eine Idee woran es liegen kann?
Bei den Objekten bleiben Nullen stehen
Beste Grüße
Los_Fritzos -
@Los_Fritzos sagte in Status vom Kostal Wechselrichter auslesen?:
hat hier jemand eine Idee woran es liegen kann?
hier nicht, aber vielleicht das log
-
@Homoran im log steht folgendes:
-
@bahnuhr
Hallo ich habe eine Piko 3.0 mit der Firmware 6.02
Ich habe nun die beiden Skripte und den Parser versucht und komme nicht weiter.
Beim aktuellsten Skript bekomme ich nur 0 angzeigt.
Versuche mich nun seit 4 wochen in Iokroker einzuarbeiten aber das übersteigt meine Fähigkeiten.
Grüße Gernot -
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Hallo ich habe eine Piko 3.0 mit der Firmware 6.02
also größer 5.31 und damit nicht mehr die alte "DOS-Oberfläche"
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Ich habe nun ... den Parser versucht und komme nicht weiter.
Der kann dann auch nicht mehr funktionieren
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Ich habe nun die beiden Skripte
welche beiden?
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Beim aktuellsten Skript bekomme ich nur 0 angzeigt.
wo kommt die 0?
welches "aktuelle" Skript?
-
@Homoran
Ich hab mal bilder gemacht
Ich bekomme keine Werte bei den Objekten -
@scout1978 Das ist für die alte Firmware - genau wie die regex
steht ja oben auch im Skript drin -
-
@Homoran
Ip und Benutzer habe ich eingefügt...
Gibt es denn eine möglichkeit für die neue Firmware?
Ich finde weit und breit nichts.... Aber das schwächste Glied sitz ja bekanntlich an der Tastatur....;) -
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Ip und Benutzer habe ich eingefügt...
Wo?
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Gibt es denn eine möglichkeit für die neue Firmware?
habe ich dir doch gerade gepostet!
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
das schwächste Glied sitz ja bekanntlich an der Tastatur
sieht so aus!
mach doch mal den Spoiler auf -
@Homoran
Also klappt gerade nicht... -
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Also klappt gerade nicht...
Was machst du da?
Wieso steht der Text des Posts im log? -
@Homoran Das ist mal geil. Forenposts im ioBroker Log.
Vllt hat @scout1978 sein Skript mit der Zeug aus der Zwischenablage zerschossen. Aber warum war dein Text in seiner Zwischenablage? -
@Diginix sagte in Status vom Kostal Wechselrichter auslesen?:
Aber warum war dein Text in seiner Zwischenablage?
wenn er den ganzen post kopiert und nicht nur den code
-
@Homoran
Keine Ahnung wie des da rein gerutscht ist .....
Ich versuche es nochmal.... -
@Homoran
Komme nicht weiter -
@scout1978 sagte in Status vom Kostal Wechselrichter auslesen?:
Komme nicht weiter
nochmals:
@Homoran sagte in Status vom Kostal Wechselrichter auslesen?:
Was machst du da?
Bitte das log vollständig (der wichtige Teil kam vorher) und als txt in Code-Tags posten
OK - das createstate funktioniert nicht mehr mit Messwerte.0 und schreibt es jetzt unter javascript.0.
Da könnte man jetzt das entweder austauschen gegen 0_userdata.0 oder den Pfad ganz anders machen.die Datenpunkte sind ja geschrieben und müssten bald befüllt werden