FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Muckiknack am 04 Oktober 2018, 17:16:45

Titel: HTTPMOD mit reading01Regex
Beitrag von: Muckiknack am 04 Oktober 2018, 17:16:45
Hallo,

ich versuche schon seit einiger Zeit auf https://regex101.com, mir die passende Regex zu erstellen, um Werte von meinem Drucker auslesen zu können.

Leider ohne Erfolg.

Ich weiß nicht ob, das * bei Trommeleinheit mir Schwierigkeiten erstellt.

Anbei ein Auszug aus dem Drucker HMTL:


</div><div class="contentsGroup"><h3>Knoteninformation</h3><dl class="items"><dt>Modellname</dt><dd>Brother MFC-L2700DW series</dd><dt>Seriennr.</dt><dd>E73941B7N690313</dd><dt>Main-Firmware Version</dt><dd>N</dd><dt>Speichergr&ouml;&szlig;e</dt><dd>32<span class="unit">MB</span></dd></dl></div><div class="contentsGroup"><h3>Ger&auml;testatus</h3><dl class="items"><dt>Seitenz&auml;hler</dt><dd>177</dd><dt>Trommelz&auml;hler</dt><dd>177</dd><dt>Durchschnittliche Deckung****</dt><dd>4.16%</dd></dl></div><div class="contentsGroup"><h3>Verbleibende Lebensdauer</h3><dl class="items"><dt>Trommeleinheit*</dt><dd>11823<span class="unit">Seiten</span></dd><dt>(Verbleibende Lebensdauer in %)</dt><dd>(99.00%)</dd></dl></div><div class="contentsGroup"><h3>Gesamtanzahl gedruckter Seiten</h3><dl class="items"><dt>A4/Letter</dt><dd>160<span class="unit">Seiten</span></dd><dt>Legal/Folio</dt><dd>0<span class="unit">Seiten</span></dd><dt>B5/Executive</dt><dd>0<span class="unit">Seiten</span></dd><dt>Umschl&auml;ge</dt><dd>0<span class="unit">Seiten</span></dd><dt>A5</dt><dd>0<span class="unit">Seiten</span></dd><dt>Sonstige</dt>


Ich möchte nun gerne den Wert bei der Trommeleinheit auslesen:

<dl class="items"><dt>Trommeleinheit*</dt><dd>11823


könnt ihr mir helfen die passende Regex zu erstellen? Wie muss ich das*</dt><dd> eliminieren damit ich einen Match bekomme?

Danke

Mucki
Titel: Antw:HTTPMOD mit reading01Regex
Beitrag von: Muckiknack am 04 Oktober 2018, 17:29:59
Nachtrag


<dt>Trommeleinheit\*<\/dt><dd>([0-9]+)


dieser Code gibt bei https://regex101.com/#p einen Treffer, jedoch nicht in FHEM

Zudem habe ich das Problem, dass ich bei meinem angelegten Drucker in FHEM, nicht die Antwort von HTTPMOD sehen, hätte gedacht das ich im Device, die HTTP Antwort sehe. Jedoch wird aktuell nichts angezeigt bis auf den HTTPHeader, kann ich dies erweitern?

Anbei ein Bild meines devices
Titel: Antw:HTTPMOD mit reading01Regex
Beitrag von: frank am 04 Oktober 2018, 19:58:04
attr <name> showBody 1
Titel: Antw:HTTPMOD mit reading01Regex
Beitrag von: Muckiknack am 04 Oktober 2018, 23:05:26
Hallo,

vielen Dank für die Information. Das hat genau mein Problem gelöst.

Kann mir das einer erklären.

Wenn ich mit Google Chrome die Internetseite von meinem Drucker aufgerufen habe und dann mit der rechten Maustaste auf "Untersuchen" oder Seitenquelltext anzeigen" auswähle erscheint der HTML Code.

Dieser beinhaltet z.B. den Namen Trommeleinheit.

In Fhem gibt es diesen Namen nicht. Dort lautet er "Unit"

Wie kann es sein, dass sich beide Inhalte so sehr unterscheiden?

Habe ich die Browser Seite falsch geöffnet im Chrome?
Titel: Antw:HTTPMOD mit reading01Regex
Beitrag von: frank am 04 Oktober 2018, 23:20:53
der browser sendet mit dem request auch einen header.
vermutlich veranlasst dies den drucker mit einer bestimmten sprache zu antworten.
du kannst httpmod die headerzeilen über attribute mitgeben.