HP OfficeJet 6500: Tintenstand überwachen
Leere Tintenpatronen bemerkt man meistens erst, wenn es sowieso schon viel zu spät ist: Der Ausdruck erhält einen Farbstich oder hässliche Streifen. Dann heißt es schnell eine Druckerpatrone besorgen, weil der Ausdruck schnellstmöglich gebraucht wird.
Am Besten wäre es doch, wenn einfach eine Mail eintrudeln würde, die signalisiert: “Hallo, bitte mal Tinenpatrone wechseln! Die ist bald alle!”. Dann kann man sich in Ruhe auf den Weg machen und eine Tintenpatrone besorgen.
Die meisten aktuellen Netzwerkdrucker – wie mein HP OfficeJet 6500 – zeigen in Ihrem Webinterface den aktuellen Patronenfüllstand an. Das ist natürlich ideal, denn mit ein paar Zeilen Bash und dem allzeit geliebten Cron lässt sich da was basteln:
#!/bin/bash # get ink status from HP OfficeJet 6500 mailhead() { cat <<HEAD Hallo! Die Tinte auf $PRINTER geht zuneige: HEAD } mailfoot() { cat <<FOOT Bitte tauschen! FOOT } PRINTER=$1 if [ "$PRINTER" = "" ]; then echo "Usage: $0 [HOST]" exit 1 fi ping -c1 $PRINTER > /dev/null if [ $? -ne 0 ]; then echo "Printer not pingable; not checking ink status" exit 1 fi INKFILE=$(tempfile) || exit INKURL="http://$PRINTER/index.htm?cat=info&page=printerInfo" wget -O"$INKFILE" -q "$INKURL" if [ $? -ne 0 ]; then echo "wget failed; are you sure that this is a OfficeJet 6500?" exit 1 fi INKCOLORS="yellow cyan magenta black" INKPRINT=0; for COL in $INKCOLORS; do COLREGEX="var ${COL}ink=[0-9]+" FILL=$(egrep "$COLREGEX" "$INKFILE"|egrep -o '[0-9]+') #export "${COL}FILL"= if [ $FILL -lt 40 ]; then if [ $INKPRINT -ne 1 ]; then mailhead INKPRINT=1; fi echo " $COL is empty! ($FILL%)" fi done; if [ $INKPRINT -ne 0 ]; then mailfoot fi rm "$INKFILE"
Die entsprechende Cron-Zeile könnte so aussehen:
15 15 * * * /home/nico/bin/inkmon 10.10.10.14
Jeden Tag um 15:15 Uhr wird das Skript ausgeführt und prüft den Füllstand des OfficeJet 6500 auf 10.10.10.14. Hat eine der Patronen einen Füllstand von weniger als 40%, gibt es einen hübschen Text aus, die Cron an den entsprechenden User schickt.
Ich bin gespannt, wie und ob ihr den Füllstand von Druckerpatronen überwacht!
Update: Wordpress mag das Skript irgendwie nicht. Ich habe es auf Pastebin geladen.



