NEWS
Status vom Kostal Wechselrichter auslesen?
-
Hallo zusammen,
ich nutze auch seit gut 6 Monaten das Javascript zum Auslesen der Werte.
Hat schon mal jemand die Events aus dem Piko BA ausgelesen? Mir dauert die Alarmierung aus dem Support-Portal von Kostal eindeutig zu lange.http://<IP>/#/info/events
Viele Grüße,
Kay -
@kaybau sagte in Status vom Kostal Wechselrichter auslesen?:
Hat schon mal jemand die Events aus dem Piko BA ausgelesen? Mir dauert die Alarmierung aus dem Support-Portal von Kostal eindeutig zu lange.
http://<IP>/#/info/eventsfür welche Version soll das gelten?
sieht für mich nicht aus wieAusleseskript Wechselrichter Kostal Piko ab Firmware v05.31
-
Piko BA 8 mit FW 2.32 UI 06.41
-
@kaybau dann gehört das hier nicht in den Thread.
Mach bitte einen neuen auf mit deutlichem Hinweis auf die alte FW -
Hi @Homoran , Ich nutze das skript "// Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)" aus dem Anfang von diesem Thread.
Und es ist die neueste FW , die für den Piko 8 BA verfügbar ist.
Wie liest Du bei deiner FW die Events aus?
VG,
Kay -
@kaybau sagte in Status vom Kostal Wechselrichter auslesen?:
Wie liest Du bei deiner FW die Events aus?
gar nicht
Das ist unheimlich komplex, da du in der api erstmal sämtliche IDs der Events identifizieren musst und dann abfragen.
-
@kaybau
wäre das etwas für dich?Ich hatte mal einen ganz fiesen Störfall, da hat mir jemand (ich muss zu meiner Schande gestehen, dass ich nicht mehr weiß wer ) ein Skript zum auslesen der events geschrieben.
Habe das eben noch ein wenig optimiert um es in dem json-table widget darstellen zu können -
@Homoran : Das sieht so aus, als ist es mehr als nur einen Test wert
-
@kaybau sagte in Status vom Kostal Wechselrichter auslesen?:
@Homoran : Das sieht so aus, als ist es mehr als nur einen Test wert
Dann mach mal
Dieses
liest minütlich die Fehlermeldungen aus dem Piko (FW > v05.31) aus und schreibt sie in Datenpunkte.
Diese müssen noch selber angelegt werden:
Ich selber kann nicht so toll Skripten, habe nur das JSON noch etwas umformatiert.
Der aktuellste Event liegt unter Info0 ältere werden immer weiter nach hinten geschoben.
Wenn ich es könnte würde ich alles in ein großes json packen, damit im widget gescrollt werden kann. Im Moment bekommt man in der "Tabelle" nur eine Zeile:
Man muss also im Prinzip mehrere Widgets untereinander setzen, damit man auch noch ältere events sieht
Um auf irgendwelche events zu reagieren, könnte man jetzt ein Skript/Blockly schreiben, dass bei Änderung von Info0 die entsprechenden Informationen aus dem json extrahiert und als Meldung (eMail/Telegram), Sprachansage oder großes rotes blinkendes Widget in VIS ausgibt
-
Hi @Homoran ,
ich hab Dein skript bezgl des Eventauslesens übernommen. Was soll ich sagen?? Es läuft und liefert die letzten Werte.
Jetzt hab ich noch ne Telegram-Alerting draufgesetzt. Alles gut!
Danke,
Kay -
@Homoran said in Status vom Kostal Wechselrichter auslesen?:
Zum Kostal Wechselrichter gibt es hier schon Threads.
Entscheidend ist die Firmwareversion deines Piko.
Im MOment bekomme ich es so hin:
Gruß
Rainer
Hallo Rainer
Ich lese schon seit Stunden das Forum hoch und runter, finde aber mein Problem nirgends beschrieben.
Wollte Kostal WR Picco auslesen um eine ähnlich schöne Ansicht zu basten wie Du. Da der Adapter bei mir nicht funktioniert wollte ich mit Parser arbeiten, den ich bei iobroker jedoch noch nicht benutzt habe.Ich schaffe es, die Webseite mit Login und Passwort als Aufruf im parser anzulegen. Wenn ich im Parser in die Bleistift Edit Funktion einsteige, bekomme ich den richtigen Seitenquelltext des Picco angezeigt.
Ich schaffe es im Regex mit dem Seitenquellcode die richtigen Stellen per Anker usw. zu detektieren. Wenn ich die korrekte Regex Zeile dann im Parser einsetze kommen nie Ergebnisse, egal welches Beispiel ich bisher so probiert habe.
Jetzt habe ich noch was von minified js gelesen. Wollte mein Seitenquellcode minimieren, aber auf allen Minimierseiten bekomme ich Fehlermeldungen, wenn ich den Seitenquelltext 1:1 rein kopiere.
Nachdem ich jetzt schon 6 Stunden verbrannt habe hoffe ich auf einen klein Tipp von Dir.
Anbei die Adaptereinstellung:
und hier die funktionierende Regex Variante:
und hier noch der Quellcode...
code_text <!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> <form method="post" action=""> <table cellspacing="0" cellpadding="0" width="770" nof="ly"> <tr><td height="5"></td></tr> <tr><td width="190" height="55"></td> <td width="400"> <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif" size="+3"> PIKO 4.2 <br><font size="+1"> Namenlos (92) </font> </font> </td> <td><img alt="Logo" height="42" width="130" src="KSE.gif"></td> </tr> </table> <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif"> <table Border="0" width="100%"><tr> <td width="150"></td> <td> <hr> </td> </tr></table> <table cellspacing="0" cellpadding="0" width="770"> <tr><td></td></tr> <tr> <td width="190"></td> <td colspan="2"> <b>AC-Leistung</b></td> <td> </td> <td> <b>Energie</b></td></tr> <tr><td height="10"></td></tr> <tr> <td width="190"></td> <td width="100"> aktuell</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="140">  W</td> <td width="100"> Gesamtenergie</td> <td width="70" align="right" bgcolor="#FFFFFF"> 146</td> <td width="50">  kWh</td> <td> </td></tr> <tr height="2"><td></td></tr> <tr> <td width="190"></td> <td width="100">  </td> <td width="70" align="right">  </td> <td width="140"> </td> <td width="100"> Tagesenergie</td> <td width="70" align="right" bgcolor="#FFFFFF"> 13.91</td> <td width="50">  kWh</td> <td> </td></tr> <tr height="5"><td></td></tr> <tr> <td width="190"></td> <td width="100"> Status</td> <td colspan="4"> Aus</td> <td> </td></tr> <tr height="8"><td></td></tr> <tr><td colspan="7"> <table align="top" width="100%"><tr> <td width="182"></td> <td><hr size="1"></font></td></tr> <tr><td height="5"></td></tr></table> </td></tr> <tr> <td width="190"></td> <td colspan="2"> <b>PV-Generator</b></td> <td width="140"> </td> <td colspan="2"> <b>Ausgangsleistung</b></td> <td width="30"> </td> <td> </td></tr> <tr><td height="10"></td></tr> <tr> <td width="190"></td> <td width="100"> <u>String 1</u></td> <td width="70"> </td> <td width="140"> </td> <td width="95"> <u>L1</u></td> <td width="70"> </td> <td width="30"> </td> <td> </td></tr> <tr> <td width="190"></td> <td width="100"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="140">  V</td> <td width="100"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="30">  V</td> <td> </td></tr> <tr height="2"><td></td></tr> <tr valign="top" align="left"> <td width="190"> </td> <td width="100"> Strom</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="140">  A</td> <td width="100"> Leistung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="30">  W</td> <td> </td></tr> <tr height="22"><td></td></tr> <tr> <td width="190"></td> <td width="100"> <u>String 2</u></td> <td width="70"> </td> <td width="140"> </td> <td width="100"> <u>L2</u></td> <td width="70"> </td> <td width="30"> </td> <td> </td></tr> <tr> <td width="190"></td> <td width="100"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="140">  V</td> <td width="100"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="30">  V</td> <td> </td></tr> <tr height="2"><td></td></tr> <tr valign="top" align="left"> <td width="190"> </td> <td width="100"> Strom</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="140">  A</td> <td width="100"> Leistung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="30">  W</td> <td> </td></tr> <tr height="22"><td></td></tr> <tr> <td width="190"></td> <td width="100"> <u> </u></td> <td width="70"> </td> <td width="140"> </td> <td width="100"> <u>L3</u></td> <td width="70"> </td> <td width="30"> </td> <td> </td></tr> <tr> <td width="190"></td> <td width="100"> </td> <td width="70" align="right" bgcolor="#EAF7F7"> </td> <td width="140">  </td> <td width="95"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="30">  V</td> <td> </td></tr> <tr height="2"><td></td></tr> <tr valign="top" align="left"> <td width="190"> </td> <td width="95"> </td> <td width="70" align="right" bgcolor="#EAF7F7"> </td> <td width="140">  </td> <td width="95"> Leistung</td> <td width="70" align="right" bgcolor="#FFFFFF"> x x x </td> <td width="30">  W</td> <td> </td></tr> <tr><td height="15"></td></tr> <tr><td colspan="7"> <table align="top" width="100%"> <tr><td width="182"></td> <td><hr size="1"></font></td> </tr><tr><td height="5"></td></tr></table> </td></tr></table> <table cellspacing="0" cellpadding="0" width="770"> <tr><td width="190"></td> <td><font face="Arial,Helvetica,Geneva,Sans-serif"> <b>RS485 Kommunikation</b></td></tr> <tr><td height="8"></td></tr> <tr><td width="190"></td> <td><font face="Arial,Helvetica,Geneva,Sans-serif"> Wechselrichter  <input type="Text" name="edWrNr" value="92" size="3" maxlength="3"> <input type="submit" value="Anzeigen/Aktualisieren"> </td></tr><tr><td height="10"></td></tr> </table> </td></tr></table></font> <hr> <table cellspacing="0" cellpadding="0" width="770"> <tr><td height="5"></td></tr> <tr><td width="190"></td> <td width="330"> <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif"> <a href="LogDaten.dat">Historie</a>       <a href="Info.fhtml">Infoseite</a></font></td> <td align="right"> <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif"> <a href="Solar2.fhtml">Einstellungen</a></font></td> <td width="50"></td> </tr></table></font> </form> </body> </html>
Danke Euch vorab.
Ich muss jetzt aufhören, sonst werde ich noch kirre...Gruss
Atlantis
-
@Atlantis sagte in Status vom Kostal Wechselrichter auslesen?:
Da der Adapter bei mir nicht funktioniert
Warum nicht?
Was kommt im Debug log?
-
@Atlantis sagte in Status vom Kostal Wechselrichter auslesen?:
Wollte Kostal WR Picco auslesen
Welche Firmwareversion hast du denn?
-
@Homoran
Ich habe 1 Original Kostal Picco 4.2 FW=? am start und 2 auf Centro Solar gebrandete Picco 4.2 und einen 3.0 er, welche zumindest ausser dem Logo optisch gleiche Webseiten haben und mit dem Kostal Parako verwaltet werden konnten.Wenn Du mir jetzt noch sagst, wo ich den FW Stand auslesen kann, kann ich diesen gerne mitteilen. (vielleicht am Display ? Muss das mal beim nä. Mal checken)
Ich wollte aber auch für andere Anwendungen mal den Parser in Einsatz bringen und vor allem Begreifen, wie ich diesen funktionierend in Einsatz bringen kann, weil das natürlich ein g..les Werkzeug ist.
Worin liegt denn der Unterschied vom Verhalten des Parsers und der des Regex?
Im Parser wird ja der nicht minimierte Code, den iobroker ausgelesen hat angezeigt.Danke Dir für weitere Tips
Steffen
-
@Atlantis sagte in Status vom Kostal Wechselrichter auslesen?:
FW=?
davon hängt die Art der Abarbeitung ab
Ab FW > v05.31 funktioniert die "alte" Herangehensweise nicht mehr.
Die Gerätetypen sind nicht hilfreich.@Atlantis sagte in Status vom Kostal Wechselrichter auslesen?:
optisch gleiche Webseiten
Da würde wahrscheinlich schon ein Screenshot weiterhelfen
-
@wendy2702 ```
Das hier kommt in endlos Schleife: IP Stimmt aber!
kostal-piko-ba.0 2020-10-15 17:08:52.125 error (9054) Please verify IP address: 192.168.2.192 !!!
kostal-piko-ba.0 2020-10-15 17:08:52.124 error (9054) Error in calling Piko API: HTTPError: Response code 401 (Unauthorized)![Unbenannt.JPG](/assets/uploads/files/1602774745828-unbenannt.jpg)
-
-
-
@Homoran Hilft es vielleicht, wenn ich Euch den Quelltext der Startseite der WR poste?
-
@Atlantis gleich sind sie somit nicht, der Original ist noch die erste / alte Variante, die Identifikation fand aber IMHO über die Hintergrundfarbe der Kästchen statt, was in den OEM-Versionen wahrscheinlich nicht geht.
Ich habe leider diese alte Version nicht mehr und kann das nur noch aus der Erinnerung oder "trocken" supporten