NEWS
Frage zu "regex" (ist doch ganz schön komplex)
-
Na gut Rainer, dann halt parser.
In parser hab ich folgendes eingegeben:
Bei klick rechts auf bearbeiten, kommt:
Unten im Ergebnis (und somit auch im Objekt) steht nichts.
Wenn ich nun diesen Text (in der Mitte) kopiere nach regex101 kommt:
Wie ersichtlich werden die einzelne Werte korrekt ausgelesen.
Nur im Adapter parser kommt nichts.Für mich stellt sich die Frage:
Warum klappt das auf der webseite regex101 aber nicht im Adapter parser ?Vielleicht kannst du das nachvollziehen und hast eine Idee für mich.
Danke.
-
@bahnuhr sagte in Frage zu "regex" (ist doch ganz schön komplex):
Warum klappt das auf der webseite regex101 aber nicht im Adapter parser ?
es gibt leider verschiedene Parser "treiber"
Es funktioniert nicht immer bei regex101 und in dem Adapter.Leider habe ich ja die alte Version nicht mehr und kann es daher nicht selber testen, aber ich werde versuchen dir zu helfen
EDIT: nimm mal die "...." aus der Klammer
-
... rausgenommen.
keine Veränderung
-
@bahnuhr
nicht rausnehmen -> vor die Klammer
Die Punkte stehen für Leerzeichen - das ist dann keine Number -
so?
-
@bahnuhr
JaKannst du mir mal den Quelltext schicken, dann versuche ich es mal
-
na klar
bitte schön<!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 5.5 <br><font size="+1"> PV_Mueller (255) </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"> 1665</td> <td width="140">  W</td> <td width="100"> Gesamtenergie</td> <td width="70" align="right" bgcolor="#FFFFFF"> 31661</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"> 3.32</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"> Einspeisen MPP</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"> 595</td> <td width="140">  V</td> <td width="100"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> 236</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"> 1.61</td> <td width="140">  A</td> <td width="100"> Leistung</td> <td width="70" align="right" bgcolor="#FFFFFF"> 560</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"> 594</td> <td width="140">  V</td> <td width="100"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> 234</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"> 1.29</td> <td width="140">  A</td> <td width="100"> Leistung</td> <td width="70" align="right" bgcolor="#FFFFFF"> 549</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 3</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"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> 0</td> <td width="140">  V</td> <td width="95"> Spannung</td> <td width="70" align="right" bgcolor="#FFFFFF"> 236</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"> Strom</td> <td width="70" align="right" bgcolor="#FFFFFF"> 0.00</td> <td width="140">  A</td> <td width="95"> Leistung</td> <td width="70" align="right" bgcolor="#FFFFFF"> 552</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="255" 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>
-
das war jetzt der Text den parser in dem "Kästchen" hatte.
-
@bahnuhr
Ja!ich habe eine "Lösung"
weiß aber selber nicht warum:#FFFFFF">[^\d]+([^<]+)
EDIT: nochmal geändert - jetzt weiß ich auch warum es so klappt
-
@Homoran sagte in Frage zu "regex" (ist doch ganz schön komplex):
#FFFFFF">[^\d]+([^<]+)
Danke, ich probiers aus.
Ist schon komisch das ganze.@Homoran sagte in Frage zu "regex" (ist doch ganz schön komplex):
EDIT: nochmal geändert - jetzt weiß ich auch warum es so klappt
Sag doch auch mal wie.
P.S.
Ich probier dies dann auch mal in einem Script aus. -
Jaaaaaaaaa
Es klappt sowohl mit Parser als auch im Script.
Warum das so ist würde mich doch interessieren.
Für evtl. zukünftiges.P.S.
Hast ein Bier gut ! -
@bahnuhr sagte in Frage zu "regex" (ist doch ganz schön komplex):
Warum das so ist würde mich doch interessieren.
iobroker mag kein \n
-
@Homoran sagte in Frage zu "regex" (ist doch ganz schön komplex):
iobroker mag kein \n
Muss man aber auch erst einmal wissen.
Man sitzt vor der Kiste und denkt das muss doch gehen. Sieht doch alles logisch aus.
Und probiert, probiert, probiert.Aber nun, alles gut.
Nochmals Danke.
-
@bahnuhr
und für die Werte mit Nachkommastellen nimmst du:FF">[^\d]+([^<]+\.\d+)
@bahnuhr sagte in Frage zu "regex" (ist doch ganz schön komplex):
Hast ein Bier gut !
Wenn ich mal wieder auf die Kuppe komme
-
@Homoran sagte in Frage zu "regex" (ist doch ganz schön komplex):
Wenn ich mal wieder auf die Kuppe komme
Gerne, jederzeit.