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:
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
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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 113284
Url: https://administrator.de/tutorial/mit-php-und-snmp-die-druckertonerstaende-ermitteln-113284.html
Ausgedruckt am: 26.12.2024 um 12:12 Uhr
6 Kommentare
Neuester Kommentar
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
http://www.oidview.com/mibs/2001/OKIDATA-MIB.html
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"
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"
Zitat von @docsam:
Ein komplettes Script hierzu passe ich, wie oben erwähnt noch an, und werde das dann mit anfügen.
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?