Adapter - Parser (regEx)

Bitter aller die testen können, hier melden.
Benutzeravatar
Homoran
guru
Beiträge: 12817
Registriert: 08.08.2014, 16:50

Re: Adapter - Parser (regEx)

Beitrag von Homoran » 05.02.2018, 09:51

und was bekommst du mit meinem regex?

Gruß
Rainer
kein Support per PN!
Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

sveni_lee
professional
Beiträge: 360
Registriert: 15.05.2017, 11:01

Re: Adapter - Parser (regEx)

Beitrag von sveni_lee » 05.02.2018, 10:00

hmmm komisch...
wenn ich das bei regex101 eingebe bekomme ich auch kein match angezeigt...

Code: Alles auswählen

(?:<span>Autogas[^]*)(?=[^]*<span ng-bind)\d.\d*(?= <\/span>)

davidsieg82
starter
Beiträge: 15
Registriert: 22.12.2017, 07:27
Wohnort: Berlin

Re: Adapter - Parser (regEx)

Beitrag von davidsieg82 » 05.02.2018, 10:03

sveni_lee hat geschrieben:hmmm komisch...
wenn ich das bei regex101 eingebe bekomme ich auch kein match angezeigt...

Code: Alles auswählen

(?:<span>Autogas[^]*)(?=[^]*<span ng-bind)\d.\d*(?= <\/span>)
Ich meinte NUR meinen Ausdruck, so komme ich auf den gewünschten Wert.

sveni_lee
professional
Beiträge: 360
Registriert: 15.05.2017, 11:01

Re: Adapter - Parser (regEx)

Beitrag von sveni_lee » 05.02.2018, 10:18

also beide liefern mir des richtige Erbenis allerdings auch

Code: Alles auswählen

[0-9.]{4}
für sich allein...

mein Problem ist ja, das zuerst nach "Autogas" und dann nach "<span ng-bind" gefiltert werden soll.
Hintergrund ist es gibt mehrere kraftstoffe und ich möchte mit einem 2. Parser auch noch die 3. Nachkommastellen auslesen...

http://www.clever-tanken.de/tankstelle_details/5249

Edit: jetzt bin ich vollends verwirrt:

warum verschuckt regex jetzt die "0."?

Bild

und noch eins... online bekomme ich ein Ergebniss https://regex101.com/r/wl1hmQ/1 im regex-Adapter aber nicht

Bild

Benutzeravatar
Homoran
guru
Beiträge: 12817
Registriert: 08.08.2014, 16:50

Re: Adapter - Parser (regEx)

Beitrag von Homoran » 05.02.2018, 11:57

Warum immer scheibchenweise die Info?

nimm mein Regex und stelle bei "num" auf 5

Übrigens:
AGB §6.3 hat geschrieben:Insbesondere ist es nicht gestattet, eigene Robots, Webcrawler oder sonstige Automatismen zu programmieren und die Inhalte von clever-tanken.de systematisch ... für sonstige Zwecke zu extrahieren und zu verarbeiten.


Gruß
Rainer
kein Support per PN!
Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

sveni_lee
professional
Beiträge: 360
Registriert: 15.05.2017, 11:01

Re: Adapter - Parser (regEx)

Beitrag von sveni_lee » 05.02.2018, 13:42

Ja, sorry... funktioniert jetzt.

Ich habe immer nicht verstanden warum der alte regex auf der Seite funktioniert aber im Adapter nicht...

Wie auch immer, ich bekomme jetzt die richtigen Werte...


Gesendet von iPhone mit Tapatalk Pro

pxstd
professional
Beiträge: 165
Registriert: 13.08.2017, 20:58

Re: Adapter - Parser (regEx)

Beitrag von pxstd » 07.02.2018, 11:15

Regex Hilfe!

Hallo zusammen,

ich würde den Parser Adapter gerne nutzen um Aktienkurse auszulesen.

https://www.finanzen.net/etf/ishares_co ... _ucits_etf
Screen Shot 2018-02-07 at 11.14.22.png
Jeweils den aktuellen Stand, die Entwicklung und die Prozentuale Entwicklung

Welcher Regex Guru kann mich retten? :)

Benutzeravatar
Homoran
guru
Beiträge: 12817
Registriert: 08.08.2014, 16:50

Re: Adapter - Parser (regEx)

Beitrag von Homoran » 07.02.2018, 13:32

Bevor ich mich da reinstürze hier noch ein kleiner Hinweis:
Nutzungsbedingungen 6.3 hat geschrieben:(3) Insbesondere ist eine automatisierte Abfrage der von finanzen.net bereitgestellten Inhalte ohne ausdrückliche Genehmigung in jeglicher Form nicht zulässig.

Gruß
Rainer
kein Support per PN!
Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

olifall
starter
Beiträge: 35
Registriert: 01.12.2017, 18:50

Re: Adapter - Parser (regEx)

Beitrag von olifall » 11.02.2018, 13:57

Hallo,

ich hätte da auch eine Frage zum Parser. Ist es möglich mit dem Parser ein Gerät zu überwachen ob es da ist oder nicht.

Das heisst, ich habe ein iButton am gpio hängen, den sehe ich dann auch unter den Geräten. (/sys/bus/w1/devices/)

Hat jemand eine Idee wie ich den Button jetzt im ioBroker abfragen kann ob er da ist oder nicht?

Gruss Oli

blackplanet333
starter
Beiträge: 22
Registriert: 21.02.2018, 07:46

Re: Neuer Adapter - Parser (regEx)

Beitrag von blackplanet333 » 21.02.2018, 07:57

Homoran hat geschrieben:Leider muss ich mich nochmal melden.
Mit der ganzen Aktion wollte ich den Status meines Wechselrichters loggen, weil es anscheinend zu Störungen kam. Dies war heute morgen wieder der Fall, da stand dann in dem Datenpunkt nur "St" :shock:
In der WebUI stand dann wo hier Einspeisen MPP steht Störung Isolationsfehler.
WR_WebUI.jpg
Dies wollte ich loggen.
Parser_WR_States.jpg
Aber auch dort steht nur "St" und sonst nichts.
Ich nehme an, dass der Umlaut ö das Problem erzeugt.

Leider habe ich von dem Zeitpunkt keinen Seitenquelltext, sondern nur von gerade eben:
Spoiler: Show hidden text

Code: Alles auswählen

<!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">                 
  Helios (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>&nbsp</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">
  1278</td>
<td width="140">&nbsp W</td>
<td width="100">
  Gesamtenergie</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  27319</td>
<td width="50">&nbsp kWh</td>
<td>&nbsp</td></tr>
<tr height="2"><td></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  &nbsp</td>
<td width="70" align="right">
  &nbsp</td>
<td width="140">&nbsp</td>
<td width="100">
  Tagesenergie</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  13.98</td>
<td width="50">&nbsp kWh</td>
<td>&nbsp</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>&nbsp</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">&nbsp</td>
<td colspan="2">
  <b>Ausgangsleistung</b></td>
<td width="30">&nbsp</td>
<td>&nbsp</td></tr>
<tr><td height="10"></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  <u>String 1</u></td>
<td width="70">&nbsp</td>
<td width="140">&nbsp</td>
<td width="95">
  <u>L1</u></td>
<td width="70">&nbsp</td>
<td width="30">&nbsp</td>
<td>&nbsp</td></tr>
<tr>
<td width="190"></td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  324</td>
<td width="140">&nbsp V</td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  230</td>
<td width="30">&nbsp V</td>
<td>&nbsp</td></tr>
<tr height="2"><td></td></tr>
<tr valign="top" align="left">
<td width="190">&nbsp</td>
<td width="100">
  Strom</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  1.97</td>
<td width="140">&nbsp A</td>
<td width="100">
  Leistung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  428</td>
<td width="30">&nbsp W</td>
<td>&nbsp</td></tr>
<tr height="22"><td></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  <u>String 2</u></td>
<td width="70">&nbsp</td>
<td width="140">&nbsp</td>
<td width="100">
  <u>L2</u></td>
<td width="70">&nbsp</td>
<td width="30">&nbsp</td>
<td>&nbsp</td></tr>
<tr>
<td width="190"></td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  347</td>
<td width="140">&nbsp V</td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  230</td>
<td width="30">&nbsp V</td>
<td>&nbsp</td></tr>
<tr height="2"><td></td></tr>
<tr valign="top" align="left">
<td width="190">&nbsp</td>
<td width="100">
  Strom</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  2.14</td>
<td width="140">&nbsp A</td>
<td width="100">
  Leistung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  427</td>
<td width="30">&nbsp W</td>
<td>&nbsp</td></tr>
<tr height="22"><td></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  <u>String 3</u></td>
<td width="70">&nbsp</td>
<td width="140">&nbsp</td>
<td width="100">
  <u>L3</u></td>
<td width="70">&nbsp</td>
<td width="30">&nbsp</td>
<td>&nbsp</td></tr>
<tr>
<td width="190"></td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0</td>
<td width="140">&nbsp
  V</td>
<td width="95">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  224</td>
<td width="30">&nbsp V</td>
<td>&nbsp</td></tr>
<tr height="2"><td></td></tr>
<tr valign="top" align="left">
<td width="190">&nbsp</td>
<td width="95">
  Strom</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0.00</td>
<td width="140">&nbsp
A</td>
<td width="95">
  Leistung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  423</td>
<td width="30">&nbsp W</td>
<td>&nbsp</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&nbsp
<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>
&nbsp &nbsp &nbsp
<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>
im Parser Adapter lese ich den Status aus mit

Code: Alles auswählen

<td colspan="4">((?:\s+\w+)+)
Das klappte mit den Standard zuständen beim online regex-tester problemlos.

EDIT: Habe gerade bei regex101.com manuell "Einspeiden MPP" gegen "Störung Isolationsfehler" ausgetauscht, da ergibt der RegEx auch nur "St"

Kann mir da bitte noch einmal jemand unter die Arme greifen?

EDIT2: Nach einigem googeln klappt es jetzt hoffentlich mit

Code: Alles auswählen

<td colspan="4">(?:\s+([a-zA-Z äöüÄÖÜ]+))

Gruß
Rainer

Hallo,

ich habe auch einen PIKO Wechselrichter 4.2 Ver. 3.7

Wie auch Rainer das gemacht hat, hab ich soweit verstanden, also den Status auslesen.
Hat auch soweit auf anhieb funktioniert.

Aber wie werden alle anderen Daten ausgelesen? Aktuelle Leistung, Gesamtenergie usw.?

Ich muss zugeben, ich bin absolut kein RegEx Profi, und scheitere an den eingaben...

Kann mir hier vielleicht jemand helfen?

Danke schonmal!
Spoiler: Show hidden text

Code: Alles auswählen

<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">
<tbody><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">                 
</font>
</font>
</td>
<td><img alt="Logo" height="42" width="130" src="KSE.gif"></td>
</tr>
</tbody></table>

<font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif">
<table border="0" width="100%"><tbody><tr>
<td width="150"></td>
<td> <hr> </td>
</tr></tbody></table>
<table cellspacing="0" cellpadding="0" width="770">
<tbody><tr><td></td></tr>
<tr>
<td width="190"></td>
<td colspan="2">
  <b>AC-Leistung</b></td>
<td>&nbsp;</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">
  138</td>
<td width="140">&nbsp; W</td>
<td width="100">
  Gesamtenergie</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  31349</td>
<td width="50">&nbsp; kWh</td>
<td>&nbsp;</td></tr>
<tr height="2"><td></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  &nbsp;</td>
<td width="70" align="right">
  &nbsp;</td>
<td width="140">&nbsp;</td>
<td width="100">
  Tagesenergie</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0.03</td>
<td width="50">&nbsp; kWh</td>
<td>&nbsp;</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>&nbsp;</td></tr>
<tr height="8"><td></td></tr>
<tr><td colspan="7">
<table align="top" width="100%"><tbody><tr>
<td width="182"></td>
<td><hr size="1"></td></tr>
<tr><td height="5"></td></tr></tbody></table>
</td></tr>
<tr>
<td width="190"></td>
<td colspan="2">
  <b>PV-Generator</b></td>
<td width="140">&nbsp;</td>
<td colspan="2">
  <b>Ausgangsleistung</b></td>
<td width="30">&nbsp;</td>
<td>&nbsp;</td></tr>
<tr><td height="10"></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  <u>String 1</u></td>
<td width="70">&nbsp;</td>
<td width="140">&nbsp;</td>
<td width="95">
  <u>L1</u></td>
<td width="70">&nbsp;</td>
<td width="30">&nbsp;</td>
<td>&nbsp;</td></tr>
<tr>
<td width="190"></td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  677</td>
<td width="140">&nbsp; V</td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  221</td>
<td width="30">&nbsp; V</td>
<td>&nbsp;</td></tr>
<tr height="2"><td></td></tr>
<tr valign="top" align="left">
<td width="190">&nbsp;</td>
<td width="100">
  Strom</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0.25</td>
<td width="140">&nbsp; A</td>
<td width="100">
  Leistung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  138</td>
<td width="30">&nbsp; W</td>
<td>&nbsp;</td></tr>
<tr height="22"><td></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  <u>String 2</u></td>
<td width="70">&nbsp;</td>
<td width="140">&nbsp;</td>
<td width="100">
  <u>L2</u></td>
<td width="70">&nbsp;</td>
<td width="30">&nbsp;</td>
<td>&nbsp;</td></tr>
<tr>
<td width="190"></td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0</td>
<td width="140">&nbsp; V</td>
<td width="100">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  226</td>
<td width="30">&nbsp; V</td>
<td>&nbsp;</td></tr>
<tr height="2"><td></td></tr>
<tr valign="top" align="left">
<td width="190">&nbsp;</td>
<td width="100">
  Strom</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0.00</td>
<td width="140">&nbsp; A</td>
<td width="100">
  Leistung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0</td>
<td width="30">&nbsp; W</td>
<td>&nbsp;</td></tr>
<tr height="22"><td></td></tr>
<tr>
<td width="190"></td>
<td width="100">
  <u> </u></td>
<td width="70">&nbsp;</td>
<td width="140">&nbsp;</td>
<td width="100">
  <u>L3</u></td>
<td width="70">&nbsp;</td>
<td width="30">&nbsp;</td>
<td>&nbsp;</td></tr>
<tr>
<td width="190"></td>
<td width="100">
   </td>
<td width="70" align="right" bgcolor="#EAF7F7">
   </td>
<td width="140">&nbsp;
   </td>
<td width="95">
  Spannung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  228</td>
<td width="30">&nbsp; V</td>
<td>&nbsp;</td></tr>
<tr height="2"><td></td></tr>
<tr valign="top" align="left">
<td width="190">&nbsp;</td>
<td width="95">
   </td>
<td width="70" align="right" bgcolor="#EAF7F7">
   </td>
<td width="140">&nbsp;
 </td>
<td width="95">
  Leistung</td>
<td width="70" align="right" bgcolor="#FFFFFF">
  0</td>
<td width="30">&nbsp; W</td>
<td>&nbsp;</td></tr>

<tr><td height="15"></td></tr>
<tr><td colspan="7">
<table align="top" width="100%">
<tbody><tr><td width="182"></td>
<td><hr size="1"></td>
</tr><tr><td height="5"></td></tr></tbody></table>
</td></tr></tbody></table>
<table cellspacing="0" cellpadding="0" width="770">
<tbody><tr><td width="190"></td>
<td><font face="Arial,Helvetica,Geneva,Sans-serif">
<b>RS485 Kommunikation</b></font></td></tr>
<tr><td height="8"></td></tr>
<tr><td width="190"></td>
<td><font face="Arial,Helvetica,Geneva,Sans-serif">
Wechselrichter&nbsp;
<input type="Text" name="edWrNr" value="255" size="3" maxlength="3">
<input type="submit" value="Anzeigen/Aktualisieren">
</font></td></tr><tr><td height="10"></td></tr>
</tbody></table>
</font>
&nbsp;


<table align="top" width="100%"><tbody><tr>
<td width="182"></td>
<td><hr size="1"></td></tr>
<tr><td height="5"></td></tr></tbody></table>




  <b>PV-Generatornt>

<font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif">
<a href="Solar2.fhtml">Einstellungen</a></font>





</b></form></body></html>

Benutzeravatar
BBTown
professional
Beiträge: 889
Registriert: 20.01.2017, 01:25
Wohnort: Kreis Segeberg

Re: Neuer Adapter - Parser (regEx)

Beitrag von BBTown » 21.02.2018, 10:03

blackplanet333 hat geschrieben:Wie auch Rainer das gemacht hat, hab ich soweit verstanden ....
...
Aber wie werden alle anderen Daten ausgelesen? Aktuelle Leistung, Gesamtenergie usw.?
Ich muss zugeben, ich bin absolut kein RegEx Profi, und scheitere an den eingaben...
für mich klingt das irgendwie nach einem Wiedeerspruch 8-)

Schau doch mal hier vorbei https://danielfett.de/de/tutorials/tuto ... ausdrucke/
Das ist eine Klasse Erläuterung von RegEx.
Zusammen mit Rainers Beispiel solltest Du zum Ziel kommen können.
Ciao und Gruß,
Heiko

ioBroker auf QNAP TS-251+ (Docker), node v.6.14.1, npm v.3.10.10, js-controller v.1.4.2)
HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

amnesia106
starter
Beiträge: 16
Registriert: 17.12.2016, 13:39

Re: Adapter - Parser (regEx)

Beitrag von amnesia106 » 22.02.2018, 21:22

würde mich anschliessen bei dem Kostal Problem:

Code: Alles auswählen

Gesamtenergie.*\n.*\n*\s*\s(\d*)
Bringt das richtige Ergebnis, jedoch wird es nicht in das Objekt geschrieben.

https://regex101.com/r/4ctx9q/1
Dateianhänge
2.jpg
2.jpg (10.9 KiB) 399 mal betrachtet
1.jpg
1.jpg (17.63 KiB) 399 mal betrachtet

Benutzeravatar
Homoran
guru
Beiträge: 12817
Registriert: 08.08.2014, 16:50

Re: Adapter - Parser (regEx)

Beitrag von Homoran » 22.02.2018, 22:29

Wie sieht denn eure Zeile im Parser-Adapter aus?
gebt ihr bei der IP-Adresse die credentials mit?
wie oft ruft der Parser die Seite auf?


Gruß
Rainer
kein Support per PN!
Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

Benutzeravatar
BBTown
professional
Beiträge: 889
Registriert: 20.01.2017, 01:25
Wohnort: Kreis Segeberg

Re: Adapter - Parser (regEx)

Beitrag von BBTown » 22.02.2018, 23:05

amnesia106 hat geschrieben:Bringt das richtige Ergebnis, jedoch wird es nicht in das Objekt geschrieben.
https://regex101.com/r/4ctx9q/1
Was ist denn wenn du die "Rolle" von Datenpunkt "Gesamtenergie" von "state" auf "value" änderst?
Hat der Datenpunkt als Art/Type "Zahl" oder "Logikwert"?
Ciao und Gruß,
Heiko

ioBroker auf QNAP TS-251+ (Docker), node v.6.14.1, npm v.3.10.10, js-controller v.1.4.2)
HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

Benutzeravatar
Homoran
guru
Beiträge: 12817
Registriert: 08.08.2014, 16:50

Re: Adapter - Parser (regEx)

Beitrag von Homoran » 22.02.2018, 23:14

Ich denke eher dass die settings im Parser-Adapter für diesen Regex falsch sind. (u.a. Rolle und Typ)

Gruß
Rainer
kein Support per PN!
Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

amnesia106
starter
Beiträge: 16
Registriert: 17.12.2016, 13:39

Re: Adapter - Parser (regEx)

Beitrag von amnesia106 » 23.02.2018, 09:19

Im Parser wäre Rolle „Wert“- Typ „Number“

Ich hab schon alle Rollen usw. durchgetestet. Aber was nebenbei- wenn das Ergebnis im Parser stimmt,
Ist das regex richtig? Also liegt es nur noch an der Verarbeitung in Iobroker?

Ich hab jetzt alle Rollen und Typen durchgetestet. Er schreibt keinen Wert:
Device Error wenn ich mit der Maus auf dem Wert bleibe, in dem kleinen Fenster was da kommt(Objekte Reiter) mehr nicht.
Der Status wird einwandfrei ausgelesen. (Gleiche URL)
URL ist:http://pvserver:passwort@192.168.2.250/index.fhtml
An der falschen URL kann es nicht liegen. Da der Status ja auch über die gleiche URL ausgelesen wird.

So langsam bin ich am Ende mit meinen Ideen

€: das ist das webinterface: @homoran- ich habe es von deinem Post (gleiches Thema Seite 4) übernommen, da es das gleiche ist, und genauso aussieht. Langsam habe ich den Verdacht, dass es an den Kästchen liegt, wo der Wert von der PV reingeschrieben wird. Der Status steht nämlich so „einfach“ ohne solch ein wertekästchen.. aber du hattest ja mal gesagt, dass du deinen auslesen konntest.
Trotzdem alles kurios, da das Ergebnis im parser richtig angezeigt wird. Als String, Json, number- bekomme ich das richtige Ergebnis.
Dateianhänge
32F62F67-9792-4AF8-9AF8-FFE8FF2C39F5.jpeg
32F62F67-9792-4AF8-9AF8-FFE8FF2C39F5.jpeg (66.15 KiB) 366 mal betrachtet

Benutzeravatar
Homoran
guru
Beiträge: 12817
Registriert: 08.08.2014, 16:50

Re: Adapter - Parser (regEx)

Beitrag von Homoran » 23.02.2018, 10:49

amnesia106 hat geschrieben:aber du hattest ja mal gesagt, dass du deinen auslesen konntest.
Ich hatte über den parser nur den Status, die anderen Werte hatte ich über ein shell script in die CCU als SysVar und über hm-Rega in ioBroker ;-)

Bitte klicke bei dem State in den Objekten mal rechts den Bleistift an, wähle dann den Reiter RAW (nur Experten) und poste den Inhalt.


Gruß
Rainer
kein Support per PN!
Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

amnesia106
starter
Beiträge: 16
Registriert: 17.12.2016, 13:39

Re: Adapter - Parser (regEx)

Beitrag von amnesia106 » 23.02.2018, 11:42

RAW von Gesamtenergie im Spoiler:
Spoiler: Show hidden text

Code: Alles auswählen

{
  "from": "system.adapter.admin.0",
  "ts": 1519326754876,
  "common": {
    "name": "Gesamtenergie",
    "unit": "",
    "type": "number",
    "role": "value",
    "write": false,
    "read": true
  },
  "native": {
    "link": "http://pvserver:mondeo@192.168.2.250/index.fhtml",
    "regex": "Gesamtenergie.*\\n.*\\s*\\s([0-9]*)",
    "interval": "",
    "substitute": "",
    "factor": 1,
    "offset": 0,
    "item": 0,
    "substituteOld": false,
    "comma": false
  },
  "acl": {
    "object": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator",
    "state": 1636
  },
  "_id": "parser.0.Gesamtenergie",
  "type": "state"
}

Benutzeravatar
BBTown
professional
Beiträge: 889
Registriert: 20.01.2017, 01:25
Wohnort: Kreis Segeberg

Re: Adapter - Parser (regEx)

Beitrag von BBTown » 23.02.2018, 12:24

Du hast "write" auf false ... da wird es schwer etwas in den Datenpunkt reinzuschreiben ;)
Ciao und Gruß,
Heiko

ioBroker auf QNAP TS-251+ (Docker), node v.6.14.1, npm v.3.10.10, js-controller v.1.4.2)
HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

amnesia106
starter
Beiträge: 16
Registriert: 17.12.2016, 13:39

Re: Adapter - Parser (regEx)

Beitrag von amnesia106 » 23.02.2018, 12:28

Das macht der Adapter automatisch. Ich hab da nichts umgestellt, Moment ich ändere und berichte.

€: bringt nix- parser fährt nicht mehr hoch danach. Außerdem steht Einspeisen MPP auch nur auf lesen true und es funktioniert. Wenn ihr euch eure parser Objekte anschaut stehen die bestimmt auch nur auf lesen true.

Also weiter gehts. :-)

Antworten