docsam
Goto Top

Mit PHP und SNMP die Druckertonerstände ermitteln

Ich war auf der Suche nach einer einfachen Übersicht für den Einkauf um zentral Verbrauchsmaterial anzuschaffen, alle fertigen Lösungen, fand ich entweder zu kompliziert oder aufwendig anzupassen.

Dabei ist es eigentlich ganz einfach mit PHP und SNMP auf einen Drucker zuzugreifen.

Die notwendigen MIBs für meine Drucker sehen so aus, evtl. mag jemand noch ergänzen bei welchen Druckern die MIBs funktionieren.

Ein komplettes einfaches Script mit HTML Tabellen erstellung werden ich hier noch mal ergänzen, aber erstmal soll das nur eine Anregung sein, wie man mit kleinen Mitteln auch etwas erreichen kann und nicht immer große Managmentlösungen benötigt:

$mib_druckertyp=".1.3.6.1.2.1.1.1.0";  
$mib_standort=".1.3.6.1.2.1.1.6.0";  
$mib_tonerfarbe=".1.3.6.1.2.1.43.11.1.1.6.1.1";  
$mib_tonerfarbe[1]=".1.3.6.1.2.1.43.11.1.1.6.1.2";  
$mib_tonerfarbe[2]=".1.3.6.1.2.1.43.11.1.1.6.1.3";  
$mib_tonerfarbe[3]=".1.3.6.1.2.1.43.11.1.1.6.1.4";  
$mib_tonerfarbe[4]=".1.3.6.1.2.1.43.11.1.1.6.1.5";  
$mib_tonerfarbe[5]=".1.3.6.1.2.1.43.11.1.1.6.1.6";  
$mib_tonerfarbe[6]=".1.3.6.1.2.1.43.11.1.1.6.1.7";  
$mib_tonerfarbe[7]=".1.3.6.1.2.1.43.11.1.1.6.1.8";  
$mib_tonerstand=".1.3.6.1.2.1.43.11.1.1.9.1.1";  
$mib_tonerstand[1]=".1.3.6.1.2.1.43.11.1.1.9.1.2";  
$mib_tonerstand[2]=".1.3.6.1.2.1.43.11.1.1.9.1.3";  
$mib_tonerstand[3]=".1.3.6.1.2.1.43.11.1.1.9.1.4";  
$mib_tonerstand[4]=".1.3.6.1.2.1.43.11.1.1.9.1.5";  
$mib_tonerstand[5]=".1.3.6.1.2.1.43.11.1.1.9.1.6";  
$mib_tonerstand[6]=".1.3.6.1.2.1.43.11.1.1.9.1.7";  
$mib_tonerstand[7]=".1.3.6.1.2.1.43.11.1.1.9.1.8";  
$mib_tonermax=".1.3.6.1.2.1.43.11.1.1.8.1.1";  
$mib_tonermax[1]=".1.3.6.1.2.1.43.11.1.1.8.1.2";  
$mib_tonermax[2]=".1.3.6.1.2.1.43.11.1.1.8.1.3";  
$mib_tonermax[3]=".1.3.6.1.2.1.43.11.1.1.8.1.4";  
$mib_tonermax[4]=".1.3.6.1.2.1.43.11.1.1.8.1.5";  
$mib_tonermax[5]=".1.3.6.1.2.1.43.11.1.1.8.1.6";  
$mib_tonermax[6]=".1.3.6.1.2.1.43.11.1.1.8.1.7";  
$mib_tonermax[7]=".1.3.6.1.2.1.43.11.1.1.8.1.8";  

$mib_gesamtzaehler=".1.3.6.1.2.1.43.10.2.1.4.1.1";  

getestet ist das mit diversen Lexmark und Xerox (Farb-)Laser-Druckern sowie Canon Copierern.

Das Auslesen der Werte funktioniert dann ganz einfach mit folgenden PHP-Befehl

   $farbe=str_replace("\"","",snmpget($ip,"public",$mib_tonerfarbe[1],$timeout));  
   $tonerstand=snmpget($ip,"public",$mib_tonerstand[1],$timeout,2);  
   $tonermax=snmpget($ip,"public",$mib_tonermax[1],$timeout,2);  
   $pro=$tonerstand/$tonermax*100;

Die Variable $tonermax gibt den maximal Füllstand des Toners zurück. $tonerstand den aktuellen.

Anzumerken bleibt noch, das manche Drucker auch Verschleissmaterial wie Übertragungsbänder u.ä. auch mit Übermitteln. Dies ist wiegesagt Drucker spezifisch.
Ein komplettes Script hierzu passe ich, wie oben erwähnt noch an, und werde das dann mit anfügen.

Content-ID: 113284

Url: https://administrator.de/contentid/113284

Printed on: December 10, 2024 at 13:12 o'clock

Zitruslimmonade
Zitruslimmonade Apr 16, 2009 at 14:48:47 (UTC)
Goto Top
mal als kurze Ergänzung ein link auf ne seite mit den MIBs für OKi
http://www.oidview.com/mibs/2001/OKIDATA-MIB.html
nose2nd
nose2nd May 05, 2009 at 08:27:29 (UTC)
Goto Top
hallo.
das klingt ja net schlecht.
bei unseren Ricoh - Geräten war das in der software erhalten. d.h. wir bekommen per mail mitgeteilt, wann welcher toner "leerläuft".....wann welcher papierschacht leer ist, wann welche Hardware (z.B. PCU bei Kopierer) ausgetauscht werden muss.
Natürlich bekommen wir die Meldung nicht erst wenn der Toner schon leer ist, sondern ca. 2 Wochen vorher meldet das Gerät "Achtung, Toner schwarz / cyan / magenta / yellow fast leer"
Maik87
Maik87 Feb 03, 2010 at 14:59:24 (UTC)
Goto Top
Zitat von @docsam:
Ein komplettes Script hierzu passe ich, wie oben erwähnt noch an, und werde das dann mit anfügen.

Darf ich fragen wie weit die Arbeit ist?
docsam
docsam Apr 14, 2010 at 12:47:30 (UTC)
Goto Top
ja face-smile keine Zeit gehabt, da was zu machen...
Maik87
Maik87 Oct 19, 2010 at 09:38:21 (UTC)
Goto Top
und jetzt, ein halbes jahr später? ;)
apothekennotfinder
apothekennotfinder Sep 11, 2019 at 08:11:18 (UTC)
Goto Top
und neun Jahre später?