Brother Tintenstrahldrucker mit Login-Form via HTTPMOD

Begonnen von Prof. Dr. Peter Henning, 21 Februar 2025, 10:49:54

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

In der neuesten Generation der Brother-Tintenstrahldrucker kann man auf Statusinformationen nur zugreifen, nachdem man ein Passwort eingegeben hat.
Bisher scheitere ich noch daran, das mit HTTPMOD zu realisieren.
defmod Tintenstrahldrucker_Detail HTTPMOD https://192.168.0.99/general/information.html 0
attr Tintenstrahldrucker_Detail enableCookies 1
attr Tintenstrahldrucker_Detail handleRedirects 1
attr Tintenstrahldrucker_Detail reAuthRegex please.*Login
attr Tintenstrahldrucker_Detail sid02Data1 B415=Tinte1234
attr Tintenstrahldrucker_Detail sid02Data2 loginurl=/general/information.html
attr Tintenstrahldrucker_Detail sid02URL https://192.168.0.99/home/status.html
liefert nach wie vor bei jedem reread eine Seite, welche die Aufforderung zur Anmeldung ("please Login") und weiterhin die HTML-Form
Zitat<form method="post" action="/home/status.html"><div><input type="password" id="LogBox" name="B415" /><input type="hidden" name="loginurl" value="/general/information.html"/><input id="login" type="submit" value="Login" /></div></form>
enthält.

Scheinbar habe ich noch nicht kapiert, wie dieser Login-Prozess abzuwickeln ist - hat das jemand schon mal gelöst?

LG

pah

Prof. Dr. Peter Henning

OK, ich habe es hinbekommen. Hier in aller Kürze der Code
defmod Tintenstrahldrucker HTTPMOD https://192.168.0.xx/general/information.html 120
attr Tintenstrahldrucker bodyDecode auto
attr Tintenstrahldrucker enableCookies 1
attr Tintenstrahldrucker event-on-change-reading ink_black,ink_cyan,ink_magenta,ink_yellow,lasterror,message,pages_total,status
attr Tintenstrahldrucker get01Name Status
attr Tintenstrahldrucker get01Poll 1
attr Tintenstrahldrucker get01PollDelay 60
attr Tintenstrahldrucker get01URL https://192.168.0.xx/home/status.html
attr Tintenstrahldrucker handleRedirects 1
attr Tintenstrahldrucker httpVersion 1.1
attr Tintenstrahldrucker reAuthRegex login
attr Tintenstrahldrucker reading01Name status
attr Tintenstrahldrucker reading01XPath //span[@class="moni moniOk"]/text()
attr Tintenstrahldrucker reading10-1Name ink_cyan
attr Tintenstrahldrucker reading10-2Name ink_magenta
attr Tintenstrahldrucker reading10-3Name ink_yellow
attr Tintenstrahldrucker reading10-4Name ink_black
attr Tintenstrahldrucker reading10XPath //div[h3/text()="Remaining Life"]/dl/dd
attr Tintenstrahldrucker reading15-1Name pages_remaining_magenta
attr Tintenstrahldrucker reading15-2Name pages_remaining_cyan
attr Tintenstrahldrucker reading15-3Name pages_remaining_yellow
attr Tintenstrahldrucker reading15-4Name pages_remaining_bk
attr Tintenstrahldrucker reading15XPath //table[@id="possiblePrintNum"]/tr[1]/th
attr Tintenstrahldrucker reading20-1Name pages_total
attr Tintenstrahldrucker reading20-2Name pages_color
attr Tintenstrahldrucker reading20-3Name pages_bw
attr Tintenstrahldrucker reading20XPath //dl[dt[1]/text()="Page Counter"]/dd
attr Tintenstrahldrucker reading30Name lasterror
attr Tintenstrahldrucker reading30XPath //table[@summary="Error History"]/tbody/tr[1]/td[1]
attr Tintenstrahldrucker reading31Name lasterror_date
attr Tintenstrahldrucker reading31XPath //table[@summary="Error History"]/tbody/tr[1]/td[2]
attr Tintenstrahldrucker sid01Data B415=<PASSWORT HIER EINSETZEN>&loginurl=%2Fgeneral%2Finformation.html%3Fkind%3Ditem
attr Tintenstrahldrucker sid01URL https://192.168.0.xx/home/status.html
attr Tintenstrahldrucker stateFormat status;; pages_total Seiten (Letzter Fehler "lasterror" am lasterror_date)
attr Tintenstrahldrucker timeout 2
attr Tintenstrahldrucker userReadings message {'Der Tintenstrahldrucker ist im Zustand '.ReadingsVal("Tintenstrahldrucker","status","")}, pages_remaining_color:pages_remaining_[cmy].* {my $c=ReadingsVal("Tintenstrahldrucker","pages_remaining_cyan",0);;my $m=ReadingsVal("Tintenstrahldrucker","pages_remaining_magenta",0);;my $y=ReadingsVal("Tintenstrahldrucker","pages_remaining_yellow",0);;min($c,$m,$y)}
attr Tintenstrahldrucker verbose 1

LG

pah