GUI to monitor ink and paper tray levels at work. Values are gathered using SNMP and displayed using TkInter.
puresnmp (1.5.1) | Python SNMPv2 Library |
takaakiaoki's bundlepmw | Modernized Pmw bundle |
All of the printers are networked with publicly available SNMP values. As long as the host machine is on the same network, this program grabs the values using generic OIDs and displays them in a nice TkInter window. OIDs used are as follows:
OID | Value | Method |
---|---|---|
Serial Number | .1.3.6.1.2.1.43.5.1.1.17.1 | Get |
Printer Model | .1.3.6.1.2.1.43.11.1.1.6 | Get |
Ink Names | .1.3.6.1.2.1.43.11.1.1.6 | Walk |
Ink Levels | .1.3.6.1.2.1.43.11.1.1.9.1 | Walk |
Tray Names | .1.3.6.1.2.1.43.8.2.1.13 | Walk |
Current Tray Fill | .1.3.6.1.2.1.43.8.2.1.10.1 | Walk |
Max Tray Fill | .1.3.6.1.2.1.43.8.2.1.9.1 | Walk |
Printer Errors | .1.3.6.1.2.1.43.18.1.1.8.1 | Walk |
You can add or remove a printer by going to File -> Edit Printer List
To add a printer, the Name
, IP
, and Default
fields are required; the Serial
and EID
fields are not, so their spaces can be left blank, eg: 123.12.123.123,My Printer,,,True
. The Default
field determines whether the printer is loaded by default when launching the program.
Reset Field
will return the printer list to its default state as of 5/6/21.
- Printers will not report paper level changes unless they've been woken from Energy Saver Mode
- Some trays are split into left- and right-hand compartments, but Ricoh reports their fill levels as one value
- Log file may not be created in some locations unless RRM is launched as administrator
Thanks to takaakiaoki for their frozen Pmw.py module, which was needed to create the standalone .exe with pyinstaller.