Hallo zusammen,
momentan versuche ich meinen Laserdrucker in fhem (Testsystem ! :D)einzubinden.
Funktioniert auch (fast).
Jedoch wir statt einem userattr reading01Name ...
gleich 5 readings ausgegeben.
Kann das daran liegen, dass ich einige regex eingegeben habe,
die fehlerhafte oder keine Werte zurückgegeben haben ?
Wie kann man den Standard wieder herstellen ?
defmod Samsung HTTPMOD http://192.168.100.126/Information/billing_counters.htm 300
attr Samsung userattr reading02Name reading02OExpr reading02Regex
attr Samsung enableControlSet 1
attr Samsung httpVersion 1.1
attr Samsung reading02Name SeitenGesamt
attr Samsung reading02Regex Total Page Count(\D\D\D\D\D\D\D)(\s)+<\/td>(\s)+<td class="valueFont">(\s)+(\d\d\d\d)
attr Samsung room TEST
setstate Samsung 2019-05-02 22:43:17 SeitenGesamt-1 ;:
setstate Samsung 2019-05-02 22:43:17 SeitenGesamt-2
setstate Samsung 2019-05-02 22:43:17 SeitenGesamt-3
setstate Samsung 2019-05-02 22:43:17 SeitenGesamt-4
setstate Samsung 2019-05-02 22:43:17 SeitenGesamt-5 3583
das reading02Regex matched hier "SeitenGesamt-5 3583" korrekt.
ein
deletereading Samsung SeitenGesamt.*
löscht zwar alle Readings - sie werden jedoch wieder genau so angelegt.
Vielen Dank im Voraus für ein paar hilfreiche Tipps.
Gruß
Peter
attr Samsung reading02Regex Total Page Count(\D\D\D\D\D\D\D)(\s)+<\/td>(\s)+<td class="valueFont">(\s)+(\d\d\d\d)
Du hast in deiner Regex 5 "capturing groups" (die Teile in runden Klammern). Somit legt er 5 Readings an. Mach die runde klammern nur wo der Wert dich interessiert.
Herzlichen Dank amenomade,
kaum macht man es richtig ...
Total Page Count\D\D\D\D\D\D\D\s+<\/td>\s+<td class="valueFont">\s+(\d\d\d\d)
schon funzt es.
READINGS:
2019-05-02 23:26:00 GedruckteSeiten 3583
Wie schon angedeutet, arbeite ich mich gerade ein wenig in HTTPMOD ein ...
... falls es jemand interessiert es handelt sich um einen
Samsung Laserdrucker ML-2525W
die Url für die Zählerseite
url http://192.168.100.126/Information/billing_counters.htm
Vielen Dank nochmals für den Hinweis
Greetz
Peter