Autor Thema: Druckerpatronen-Zustand  (Gelesen 20587 mal)

Offline Hauslaus

  • New Member
  • *
  • Beiträge: 43
  • Learning by doing!
Antw:Druckerpatronen-Zustand
« Antwort #60 am: 25 Oktober 2020, 21:53:28 »
Hallo

auf der Suche nach der Quelle des INK-Tools bin ich auf die Seiten gestossen.

Falls jemand damit was anfangen kann:
https://sourceforge.net/projects/ink/
https://github.com/dmonty2/ink2snmp
Bei GitHub steht (Googlleübersetzung):
Zitat
ink2snmp

Lesen Sie die Tintenfüllstände und konvertieren Sie sie in SNMP.

Installieren Sie libinklevel und Tinte von Markus Heinz.
Der Tintenbefehl unterstützt USB-, Parallel- und Netzwerkdrucker.
http://ink.sourceforge.net/
Testen und richten Sie den Befehl 'Tinte' für Ihren Drucker ein.
Fügen Sie Ihren Arbeitstintenbefehl oben im ink2snmp-Skript hinzu.
Fügen Sie Ihrer /etc/snmp/snmpd.conf Folgendes hinzu
pass .1.3.6.1.2.1.43 / bin / bash / usr / local / bin / ink2snmp

Das konvertieren in SNMP habe ich doch hier irgendwo gelesen ist doch das Richtige.

Ich probiere es jedenfalls gleich.

Gruß
Hauslaus
Raspberry Pi Model B mit 512 mb
SCC stapelbar (V 1.26.01 a-culfw Build: 271 CSM433 & 868)
raspbian jessie

Offline Hauslaus

  • New Member
  • *
  • Beiträge: 43
  • Learning by doing!
Antw:Druckerpatronen-Zustand
« Antwort #61 am: 25 Oktober 2020, 22:00:54 »
Hallo amenomade,

Danke für die Antwort. Ich werde mir das mit einem Skript ansehen. Sauber immer klingt gut.

Unsere Beiträge hatten sich gerade überschnitten. Ich werde mir das mit dem "ink2snmp" auf GitHub ansehen und versuchen es zu verstehen.

Danke
Hauslaus
Raspberry Pi Model B mit 512 mb
SCC stapelbar (V 1.26.01 a-culfw Build: 271 CSM433 & 868)
raspbian jessie

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
Antw:Druckerpatronen-Zustand
« Antwort #62 am: 26 Oktober 2020, 21:16:15 »
Ja, klingt gut. Wenn snmp aber nicht mit HTTPMOD sondern mit z.B. SYSSTAT
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline caldir65

  • Full Member
  • ***
  • Beiträge: 275
Antw:Druckerpatronen-Zustand
« Antwort #63 am: 26 November 2020, 08:39:04 »
Moin,

und, wurde der Aufruf von ink aus fhem jetzt erfolgreich gelöst?

Ich frage, da ich es ähnlich habe mit Turboprint, da kann ich es wie folgt auf der Konsole erfragen:
pi@raspi-fhem:~ $ tpconfig --ink
Black=400
Cyan=70
Yellow=80
Magenta=970
PhotoBlack=150

Gut, hier müssten die Ausgaben noch entsprechend "umgerechnet" werden, die Werte sind durch 10 zu teilen, dann entspricht es den %-Angaben der entsprechenden Anzeige von Turboprint...

Bisher habe ich leider keine Lösung gefunden im Netz, die ich mir entsprechend anpassen konnte ...

Gruß, Christoph

PS: ich benutze auch einen Epson (XP-7100), jedoch greift die httpmod-Variante hier so nicht, da in der Status-Übersicht sowohl Black als auch PhotoBlack das gleiche Kürzel bk haben ...
« Letzte Änderung: 26 November 2020, 09:07:23 von caldir65 »
Raspi 4 mit RaspiOS Buster und aktuellem fhem (auf SSD), Homematic-Devs, Shellys, Rademacher, NextCloud-Anbindung, Fully+TabletUI2 uvm.

Offline dirk.k

  • Full Member
  • ***
  • Beiträge: 234
Antw:Druckerpatronen-Zustand
« Antwort #64 am: 26 November 2020, 09:17:16 »
Hallo zusammen,
ich frage meinen Brother mit SYSSTAT und SNMP ab.
Funktioniert sehr gut. Hier mal der Code als Beispiel:

defmod PrinterStatus SYSSTAT 600 600 192.168.0.223
attr PrinterStatus disable 1
attr PrinterStatus event-on-change-reading 1
attr PrinterStatus group Printer
attr PrinterStatus mibs .1.3.6.1.2.1.43.10.2.1.4.1.1:GesamtSeiten,\
.1.3.6.1.2.1.43.8.2.1.14.1.1:Hersteller,\
.1.3.6.1.2.1.43.5.1.1.17.1:Seriennummer,\
.1.3.6.1.2.1.43.11.1.1.9.1.6:Bandeinheit,\
.1.3.6.1.2.1.43.11.1.1.9.1.7:Trommeleinheit,\
.1.3.6.1.2.1.43.11.1.1.6.1.1:TonerSchwarzTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.2:TonerCyanTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.3:TonerMagentaTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.4:TonerYellowTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.5:BildEinheitTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.6:TransferBeltTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.7:FuserTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.8:Tray1RollerTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.9:Tray1FrictionPadTXT,\
.1.3.6.1.2.1.43.11.1.1.6.1.10:WasteTonerXTT,\
.1.3.6.1.2.1.43.11.1.1.8.1.1:TonerSchwarzSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.2:TonerCyanSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.3:TonerMagentaSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.4:TonerYellowSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.5:BildEinheitSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.6:TransferBeltSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.7:FuserSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.8:Tray1RollerSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.9:Tray1FrictionPadSOLL,\
.1.3.6.1.2.1.43.11.1.1.8.1.10:WasteTonerSOLL,\
.1.3.6.1.2.1.43.11.1.1.9.1.1:TonerSchwarzREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.2:TonerCyanREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.3:TonerMagentaREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.4:TonerYellowREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.5:BildEinheitREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.6:TransferBeltREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.7:FuserREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.8:Tray1RollerREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.9:Tray1FrictionPadREST,\
.1.3.6.1.2.1.43.11.1.1.9.1.10:WasteTonerREST,\

attr PrinterStatus room 1.9_Technik
attr PrinterStatus snmp 1
attr PrinterStatus snmpCommunity public
attr PrinterStatus snmpVersion 2
attr PrinterStatus userReadings ur_BildEinheitREST_Prozent:.* {100 * BildEinheitSOLL/BildEinheitREST}\
\

attr PrinterStatus verbose 0

Offline caldir65

  • Full Member
  • ***
  • Beiträge: 275
Antw:Druckerpatronen-Zustand
« Antwort #65 am: 06 Mai 2021, 15:25:37 »
Hallo,

inzwischen habe ich den Drucker soweit zur Mitarbeit bewegen können, daß zumindest ein Teil der Tinten angezeigt wird in fhem. Allerdings mußte ich noch etwas Berechnung hinein bringen - nach den gelieferten Werten wurde mir die Tinte um Faktor 2 zu wenig angezeigt.
Jetzt habe ich nur noch das Problem, daß mir keine Werte für PhotoBlack geliefert werden in dieser Definition - innerhalb des Quelltextes des Druckers wird sogar die gleiche Bezeichnung verwendet...
Hat jemand eine Idee, wie ich jetzt auch die letzte Patrone mit in meine Anzeige bekommen kann?

So habe ich den Drucker konfiguriert:
   BUSY       0
   DEF        https://192.168.1.121/PRESENTATION/ADVANCED/INFO_PRTINFO/TOP 3600
   FUUID      5fb97e26-f33f-378b-f758-d4f66727dd5b366b
   FVERSION   98_HTTPMOD.pm:0.241850/2021-04-08
   Interval   3600
   MainURL    https://192.168.1.121/PRESENTATION/ADVANCED/INFO_PRTINFO/TOP
   ModuleVersion 4.1.08 - 1.4.2021
   NAME       Drucker_Epson
   NOTIFYDEV  global
   NR         1548
   NTFY_ORDER 50-Drucker_Epson
   STATE      C: 34% M: 27% Y: 33% B: Black%
   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-05-06 14:59:49   Cyan            34
     2021-05-06 14:59:49   Magenta         27
     2021-05-06 14:59:49   Yellow          33
     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:
       Cyan       reading
       Magenta    reading
       Yellow     reading
     readingNum:
       Cyan       02
       Magenta    03
       Yellow     01
     readingOutdated:
     requestReadings:
       update:
         Cyan       reading 02
         Magenta    reading 03
         Yellow     reading 01
Attributes:
   DbLogExclude .*
   icon       it_printer
   model      epson_printer_cartridge_status
   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
   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;}

und der Quellcode der Seite, die ich abfrage:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="Author" content="SEIKO EPSON"><meta name="format-detection" content="telephone=no"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>XP-7100 Series</title><link rel='stylesheet' type='text/css' href='../COMMON/STYLE.CSS'><script type='text/javascript' src='SCRIPT.JS'></script></head><body class="contents"><div class="wrap"><div class="header-main">Status&nbsp;&gt;&nbsp;Produktstatus</div><div class="section"><fieldset class="group no-legend"><form target="_top" action="/PRESENTATION/ADVANCED/COMMON/TOP" method="post" id="input_form" name="input_form"><ul class="values"><li class="value clearfix"><select class="select" id="SEL_LANGA" name="SEL_LANGA" onchange="return document.input_form.submit();"><option value="1">English</option><option value="2">Français</option><option value="4" selected>Deutsch</option><option value="3">Italiano</option><option value="5">Español</option><option value="6">Português</option><option value="7">Nederlands</option><option value="12">Norsk</option><option value="13">Svenska</option><option value="14">Suomi</option><option value="15">polski</option><option value="16">Čeština</option><option value="17">Magyar</option><option value="18">Dansk</option><option value="20">Ελληνικά</option><option value="21">Slovensky</option><option value="22">Română</option><option value="10">繁體中文</option></select></li></ul></form></fieldset><fieldset class="group no-legend"><fieldset class="group"><legend>Druckerstatus</legend><ul class="values"><li class="value clearfix"><div class="preserve-white-space">Verfügbar</div></li></ul><ul class="values"><li class="value clearfix"><div class="preserve-white-space"></div></li></ul></fieldset><div id="ELSE_STATUS"><fieldset class="group"><legend>Anderer Status</legend><ul class="values"><li class="value clearfix"><div class="preserve-white-space"><noscript>Aktivieren Sie die JavaScript-Einstellung des Browsers.</noscript></div></li></ul></fieldset></div><script type="text/javascript"><!--
HideElseStatus();//-->
</script></fieldset><div class="information-last clearfix " ><ul class="inksection"><li class='tank'>
<div class='tank'>
<img class='color' src='../../IMAGE/Ink_K.PNG' height='34' style=''>
</div>
<div class='clrname'>BK</div>
</li><!--
--><li class='tank'>
<div class='tank'>
<img class='color' src='../../IMAGE/Ink_C.PNG' height='34' style=''>
</div>
<div class='clrname'>C</div>
</li><!--
--><li class='tank'>
<div class='tank'>
<img class='color' src='../../IMAGE/Ink_Y.PNG' height='33' style=''>
</div>
<div class='clrname'>Y</div>
</li><!--
--><li class='tank'>
<div class='tank'>
<img class='color' src='../../IMAGE/Ink_M.PNG' height='27' style=''>
</div>
<div class='clrname'>M</div>
</li><!--
--><li class='tank'>
<div class='tank'>
<img class='color' src='../../IMAGE/Ink_K.PNG' height='42' style=''>
</div>
<div class='clrname'>PB</div>
</li>
</ul></div><fieldset class="group no-legend"><fieldset class="group"><legend>Kassette 1</legend><dl class="values"><dt class="key"><span class="key">Papiergröße&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">10 x 15 cm (4 x 6 Zoll)</div></dd><dt class="key"><span class="key">Papiertyp&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">Epson Premium Glossy</div></dd></dl></fieldset><fieldset class="group"><legend>Kassette 2</legend><dl class="values"><dt class="key"><span class="key">Papiergröße&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">A4 210 x 297 mm</div></dd><dt class="key"><span class="key">Papiertyp&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">Normalpapier</div></dd></dl></fieldset></fieldset><fieldset class="group no-legend"><dl class="values"><dt class="key"><span class="key">Epson Connect-Status&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">Nicht registriert</div></dd><dt class="key"><span class="key">Epson Connect-eMail-Adresse&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space"></div></dd><dt class="key"><span class="key">Google Cloud Print-Status&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">Nicht registriert</div></dd></dl></fieldset><fieldset class="group no-legend"><dl class="values"><dt class="key"><span class="key">Firmware&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">01.65.YL17J5</div></dd><dt class="key"><span class="key">Stammzertifikat-Version&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">02.00</div></dd><dt class="key"><span class="key">Seriennummer&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">X5D7005096</div></dd><dt class="key"><span class="key">Netzwerk-MAC-Adresse&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space">38:9D:92:AD:D6:FB</div></dd></dl></fieldset><fieldset class="group no-legend"><dl class="values"><dt class="key"><span class="key">Administratorname/Kontaktinformationen&nbsp;:</span></dt><dd class="value clearfix"><div class="preserve-white-space"></div></dd></dl></fieldset><script type="text/javascript"><!--
initialize();//-->
</script></div><div class="footer"><form action="" method='get' id='refresh_form'><div><input type='hidden' value='' name='tm'></div></form><script type="text/javascript"><!--
document.getElementById('refresh_form').tm.value=new Date().getTime();//-->
</script><table width="100%"><tr><td class="footer_button" align="left"><ul class="buttons"><li class="button"><button type="button" class="button" onclick="document.getElementById('refresh_form').submit(); return false;">Aktualisieren</button></li></ul></td><td class="footer_license" align="right"><a class="license" target="_blank" href="/PRESENTATION/ADVANCED/LICENSE/TOP">Softwarelizenzen</a></td></tr></table></div></div></body></html>

Vielen Dank für Unterstützung.

Gruß,
Christoph

Edit: Anpassung an Änderungen im Device
« Letzte Änderung: 10 Mai 2021, 09:57:33 von caldir65 »
Raspi 4 mit RaspiOS Buster und aktuellem fhem (auf SSD), Homematic-Devs, Shellys, Rademacher, NextCloud-Anbindung, Fully+TabletUI2 uvm.