Moin zusammen,
ich habe mir anhand eines Code-Bsp's hier aus dem Forum die Abfrage von Tintenständen eines EPSON XP-Druckers zusammen gebaut. Leider liefert die Quellseite des Druckers nur Werte, die genau die Hälfte des z.B. auf der Statusseite angezeigten Tintenstandes.
Ich habe mich da mal mit Berechnungen versucht, aber bekomme trotzdem nur den geringeren Stand angezeigt.
Das "Device":Internals:
BUSY 0
DEF http://192.168.2.24/PRESENTATION/HTML/TOP/PRTINFO.HTML 14400
FUUID 6093f1e9-f33f-378b-6178-1de27c5aa29cd4c7
FVERSION 98_HTTPMOD.pm:0.241850/2021-04-08
Interval 14400
MainURL http://192.168.2.24/PRESENTATION/HTML/TOP/PRTINFO.HTML
ModuleVersion 4.1.08 - 1.4.2021
NAME Epson_XP630
NOTIFYDEV global
NR 1629
NTFY_ORDER 50-Epson_XP630
STATE C: 4% M: 31% Y: 36% B: 50%
TYPE HTTPMOD
value
CompiledRegexes:
HttpUtils:
NAME
addr http://192.168.2.24:80
auth 0
buf
code 200
compress 1
conn
data
displayurl http://192.168.2.24/PRESENTATION/HTML/TOP/PRTINFO.HTML
header
host 192.168.2.24
httpheader HTTP/1.1 200 OK
CACHE-CONTROL: no-cache
Pragma: no-cache
CONTENT-TYPE: text/html
CONTENT-LENGTH: 7853
SERVER: EPSON_Linux UPnP/1.0 Epson UPnP SDK/1.0
X-FRAME-OPTIONS: SAMEORIGIN
httpversion 1.0
hu_blocking 0
hu_filecount 1
hu_port 80
hu_portSfx
ignoreredirects 1
loglevel 4
path /PRESENTATION/HTML/TOP/PRTINFO.HTML
protocol http
redirects 0
timeout 2
url http://192.168.2.24/PRESENTATION/HTML/TOP/PRTINFO.HTML
sslargs:
QUEUE:
READINGS:
2021-06-22 08:11:51 Black 50
2021-06-22 08:11:51 Black33B 100
2021-06-22 08:11:51 Cyan 4
2021-06-22 08:11:51 Cyan33C 8
2021-06-22 08:11:51 Magenta 31
2021-06-22 08:11:51 Magenta33M 62
2021-06-22 08:11:51 PhotoBlack33PB 0
2021-06-22 08:11:51 Yellow 36
2021-06-22 08:11:51 Yellow33Y 72
2021-05-06 15:41:11 attrTemplateVersion 20201129
REQUEST:
context reading
data
header
ignoreredirects 0
num unknown
retryCount 0
type update
url http://192.168.2.24/PRESENTATION/HTML/TOP/PRTINFO.HTML
defptr:
readingBase:
Black reading
Cyan reading
Magenta reading
Yellow reading
readingNum:
Black 04
Cyan 02
Magenta 03
Yellow 01
readingOutdated:
requestReadings:
update:
Black reading 04
Cyan reading 02
Magenta reading 03
Yellow reading 01
Attributes:
DbLogExclude .*
icon it_printer
model EPSON XP-630 Tinstenstand
reading01Name Yellow
reading01Regex Ink_Y.*?='([\d]+)'
reading02Name Cyan
reading02Regex Ink_C.*?='([\d]+)'
reading03Name Magenta
reading03Regex Ink_M.*?='([\d]+)'
reading04Name Black
reading04Regex Ink_K.*?='([\d]+)'
room Arbeitszimmer
stateFormat C: Cyan% M: Magenta% Y: Yellow% B: Black%
userReadings Black33B { my $black1 = ReadingsVal($name,"Black",0)*2; return $black1;},Yellow33Y { my $yellow1 = ReadingsVal($name,"Yellow",0)*2; return $yellow1;},Cyan33C { my $cyan1 = ReadingsVal($name,"Cyan",0)*2; return $cyan1;},Magenta33M { my $magenta1 = ReadingsVal($name,"Magenta",0)*2; return $magenta1;},PhotoBlack33PB { my $pb1 = ReadingsVal($name,"PhotoBlack",0)*2; return $pb1;}
Wo übersehe ich da noch etwas?
Gruß, Christoph
Hallo Christoph,
Du meinst mit "angezeigt" weil Du vergessen hast stateFormat an Deine userReadings anzupassen? :)
stateFormat C: Cyan33C% M: Magenta33M% Y: Yellow33Y% B: Black33B%
Gruß Otto
Hallo Otto,
danke, das paßt soweit schon mal.
Jetzt habe ich nur noch eine PhotoBlack (zweiter Drucker, ähnliche Seite), die dummerweise zwar als PB bezeichnet wird, aber das Icon ist das gleiche wie bei Black...
Internals:
BUSY 0
DEF https://192.168.1.121/PRESENTATION/ADVANCED/INFO_PRTINFO/TOP 7200
FUUID 5fb97e26-f33f-378b-f758-d4f66727dd5b366b
FVERSION 98_HTTPMOD.pm:0.241850/2021-04-08
Interval 7200
MainURL https://192.168.1.121/PRESENTATION/ADVANCED/INFO_PRTINFO/TOP
ModuleVersion 4.1.08 - 1.4.2021
NAME EPSON_XP7100
NOTIFYDEV global
NR 1544
NTFY_ORDER 50-EPSON_XP7100
STATE C: 50% M: 38% Y: 48% B: 50% PB: 0%
TYPE HTTPMOD
value
CompiledRegexes:
HttpUtils:
NAME
addr https://192.168.1.121:443
auth 0
buf
code 200
compress 1
conn
data
displayurl https://192.168.1.121/PRESENTATION/ADVANCED/INFO_PRTINFO/TOP
header
host 192.168.1.121
httpheader HTTP/1.1 200 OK
CACHE-CONTROL: no-cache
Pragma: no-cache
CONTENT-TYPE: text/html
CONTENT-LENGTH: 6163
SERVER: EPSON_Linux UPnP/1.0 Epson UPnP SDK/1.0
X-FRAME-OPTIONS: SAMEORIGIN
httpversion 1.0
hu_blocking 0
hu_filecount 1
hu_port 443
hu_portSfx
ignoreredirects 1
loglevel 4
path /PRESENTATION/ADVANCED/INFO_PRTINFO/TOP
protocol https
redirects 0
timeout 2
url https://192.168.1.121/PRESENTATION/ADVANCED/INFO_PRTINFO/TOP
sslargs:
QUEUE:
READINGS:
2021-06-29 10:10:26 Black 25
2021-06-29 10:10:26 Black33B 50
2021-06-29 10:10:26 Cyan 25
2021-06-29 10:10:26 Cyan33C 50
2021-06-29 10:10:26 Magenta 19
2021-06-29 10:10:26 Magenta33M 38
2021-06-29 10:10:26 PhotoBlack33PB 0
2021-06-29 10:10:26 Yellow 24
2021-06-29 10:10:26 Yellow33Y 48
2021-05-06 13:03:35 attrTemplateVersion 20201129
REQUEST:
context reading
data
header
ignoreredirects 0
num unknown
retryCount 0
type update
url https://192.168.1.121/PRESENTATION/ADVANCED/INFO_PRTINFO/TOP
defptr:
readingBase:
Black reading
Cyan reading
Magenta reading
Yellow reading
readingNum:
Black 04
Cyan 02
Magenta 03
Yellow 01
readingOutdated:
requestReadings:
update:
Black reading 04
Cyan reading 02
Magenta reading 03
Yellow reading 01
Attributes:
DbLogExclude .*
icon it_printer
model EPSON XP7100 Tintenstand
reading01Name Yellow
reading01Regex Ink_Y.*?='([\d]+)'
reading02Name Cyan
reading02Regex Ink_C.*?='([\d]+)'
reading03Name Magenta
reading03Regex Ink_M.*?='([\d]+)'
reading04Name Black
reading04Regex Ink_K.*?='([\d]+)'
reading05Name PhotoBlack
reading05Regex Ink_K.*?='([\d]+)'
room Arbeitszimmer
stateFormat C: Cyan33C% M: Magenta33M% Y: Yellow33Y% B: Black33B% PB: PhotoBlack33PB%
userReadings Black33B { my $black1 = ReadingsVal($name,"Black",0)*2; return $black1;},Yellow33Y { my $yellow1 = ReadingsVal($name,"Yellow",0)*2; return $yellow1;},Cyan33C { my $cyan1 = ReadingsVal($name,"Cyan",0)*2; return $cyan1;},Magenta33M { my $magenta1 = ReadingsVal($name,"Magenta",0)*2; return $magenta1;},PhotoBlack33PB { my $pb1 = ReadingsVal($name,"PhotoBlack",0)*2; return $pb1;}
Gibt es da eine Möglichkeit, das auseinander zu halten? Wenn wich nämlich einfach auf das Icon (Ink_K) auch für die PB gehe, kommen die gleichen Werte wie bei Black ... (siehe Screenshot)
Gruß, Christoph