{ "zabbix_export": { "version": "7.4", "template_groups": [ { "uuid": "3cd4e8d0b828464e8f4b3becf13a9dbd", "name": "Printers" } ], "templates": [ { "uuid": "8559e8ebcbb849eca59287790b707168", "template": "Printer SNMP Monitor", "name": "Printer SNMP Monitor", "groups": [ { "name": "Printers" } ], "items": [ { "uuid": "f14061bd0a6f4b4aae84fa631c06ad06", "name": "Printer Model", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.25.3.2.1.3.1]", "key": "printer.model", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Device model information", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "printer_info" } ], "inventory_link": "MODEL", "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "8cdc1529f9b94279bbb82376f5384197", "name": "Printer Hostname", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.1.5.0]", "key": "printer.hostname", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "System hostname", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "printer_info" } ], "inventory_link": "NAME", "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "a1a7295be9a5424192c33d37160792de", "name": "Printer Serial Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.5.1.1.17.1]", "key": "printer.serial", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Printer serial number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "printer_info" } ], "inventory_link": "SERIALNO_A", "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "77ef807ba8214781a162252ca8d47b49", "name": "System Location", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.1.6.0]", "key": "printer.location", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Physical location", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "printer_info" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "5ec3baa71dd94dd588dfdbdabd5bdb74", "name": "MAC Address", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.2.2.1.6.2]", "key": "printer.macaddress", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Primary network interface MAC address", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "printer_info" } ], "inventory_link": "MACADDRESS_A", "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "1ca63a9ace904cb9953d8073939d80b1", "name": "Black Toner Current", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.1]", "key": "printer.toner.black.current", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Black toner current level (raw value)", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "8425ee5c66984653bb93325a0fa00e6e", "name": "Black Toner Max", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.1]", "key": "printer.toner.black.max", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Black toner maximum capacity", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "a30f2233f3e8460b9888716fa0545fd0", "name": "Black Toner Level", "type": "CALCULATED", "key": "printer.toner.black", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "params": "round((last(//printer.toner.black.current)/last(//printer.toner.black.max))*100,0)", "description": "Black toner percentage", "tags": [ { "tag": "component", "value": "toner" }, { "tag": "category", "value": "toner_levels" }, { "tag": "color", "value": "black" } ], "units": "%", "triggers": [ { "uuid": "67c0cc9e72734c79a09ad5bdeaf341ff", "expression": "last(/Printer SNMP Monitor/printer.toner.black)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.black))>0", "name": "Black Toner Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Black Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "6a585ec7829b4c2d8d8a22b6510383b6", "expression": "last(/Printer SNMP Monitor/printer.toner.black)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.black))>0", "name": "Black Toner Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Black Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "210e86285b074d828a8dfb02ff5839f8", "name": "Cyan Toner Current", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.2]", "key": "printer.toner.cyan.current", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Cyan toner current level (raw value)", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "55e83440391e49d6bba87f3a9b5895e7", "name": "Cyan Toner Max", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.2]", "key": "printer.toner.cyan.max", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Cyan toner maximum capacity", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "ae0c1782f0b74d6f88be391a446d661e", "name": "Cyan Toner Level", "type": "CALCULATED", "key": "printer.toner.cyan", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "params": "round((last(//printer.toner.cyan.current)/last(//printer.toner.cyan.max))*100,0)", "description": "Cyan toner percentage", "tags": [ { "tag": "component", "value": "toner" }, { "tag": "category", "value": "toner_levels" }, { "tag": "color", "value": "cyan" } ], "units": "%", "triggers": [ { "uuid": "221671dfccdb44579cd7dc9f0abad794", "expression": "last(/Printer SNMP Monitor/printer.toner.cyan)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.cyan))>0", "name": "Cyan Toner Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Cyan Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "63b13139e7374ac689072ec7d8e2ba27", "expression": "last(/Printer SNMP Monitor/printer.toner.cyan)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.cyan))>0", "name": "Cyan Toner Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Cyan Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "b74db9fdbf3642d7b27433d553636293", "name": "Magenta Toner Current", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.3]", "key": "printer.toner.magenta.current", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Magenta toner current level (raw value)", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "bbd164aed85d4f7db496dded965080ee", "name": "Magenta Toner Max", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.3]", "key": "printer.toner.magenta.max", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Magenta toner maximum capacity", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "3a93c394f95b4c959cc3c20b2f18e014", "name": "Magenta Toner Level", "type": "CALCULATED", "key": "printer.toner.magenta", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "params": "round((last(//printer.toner.magenta.current)/last(//printer.toner.magenta.max))*100,0)", "description": "Magenta toner percentage", "tags": [ { "tag": "component", "value": "toner" }, { "tag": "category", "value": "toner_levels" }, { "tag": "color", "value": "magenta" } ], "units": "%", "triggers": [ { "uuid": "c0bc98d818d440ccbdc0e2d9c3f68cdf", "expression": "last(/Printer SNMP Monitor/printer.toner.magenta)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.magenta))>0", "name": "Magenta Toner Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Magenta Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "a880d1f24ce24c56ab420bd2d3d46961", "expression": "last(/Printer SNMP Monitor/printer.toner.magenta)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.magenta))>0", "name": "Magenta Toner Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Magenta Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "e6131ba3c3a84901a62e46fb3e1a558d", "name": "Yellow Toner Current", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.4]", "key": "printer.toner.yellow.current", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Yellow toner current level (raw value)", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "9efc8706ede34244a3f6146aa329fcc3", "name": "Yellow Toner Max", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.8.1.4]", "key": "printer.toner.yellow.max", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Yellow toner maximum capacity", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "toner_levels" } ], "units": "" }, { "uuid": "4b6760dc4b9d4b2eb10e88a130d93a31", "name": "Yellow Toner Level", "type": "CALCULATED", "key": "printer.toner.yellow", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "params": "round((last(//printer.toner.yellow.current)/last(//printer.toner.yellow.max))*100,0)", "description": "Yellow toner percentage", "tags": [ { "tag": "component", "value": "toner" }, { "tag": "category", "value": "toner_levels" }, { "tag": "color", "value": "yellow" } ], "units": "%", "triggers": [ { "uuid": "65ed6a1b74db412d927656c90a265136", "expression": "last(/Printer SNMP Monitor/printer.toner.yellow)<20 and length(last(/Printer SNMP Monitor/printer.cartridge.yellow))>0", "name": "Yellow Toner Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Yellow Toner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "af4da363f9a04f8a8fdd41927e7c71fd", "expression": "last(/Printer SNMP Monitor/printer.toner.yellow)<10 and length(last(/Printer SNMP Monitor/printer.cartridge.yellow))>0", "name": "Yellow Toner Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Yellow Toner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "197a06c64c204e4d977cef902d0503b2", "name": "Black Cartridge Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.1]", "key": "printer.cartridge.black", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Black toner cartridge model/part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "cartridge_info" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "6f07f404171946b697f1bfa3850036ff", "name": "Cyan Cartridge Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.2]", "key": "printer.cartridge.cyan", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Cyan toner cartridge model/part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "cartridge_info" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "52e13188182649c2a788326288e0cd6d", "name": "Magenta Cartridge Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.3]", "key": "printer.cartridge.magenta", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Magenta toner cartridge model/part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "cartridge_info" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "fd58812f0fde467c8444b0b6c2dcb337", "name": "Yellow Cartridge Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.4]", "key": "printer.cartridge.yellow", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Yellow toner cartridge model/part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "cartridge_info" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "eaa234629c2443cfaa2c6679239ddb53", "name": "Drum Cartridge R1 Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.5]", "key": "printer.drum.r1", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Drum cartridge R1 part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "94b6b40dfffa4a8eb4386cb345e33d64", "name": "Drum Cartridge R1 Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.5]", "key": "printer.drum.r1.level", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Drum cartridge R1 remaining life percentage", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "units": "%", "triggers": [ { "uuid": "ae07bd0a7f214d92ad84c1b5b0f333d7", "expression": "last(/Printer SNMP Monitor/printer.drum.r1.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r1))>0", "name": "Drum Cartridge R1 Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Drum Cartridge R1 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "87029b70ab414d3aa9370e01468e0bc9", "expression": "last(/Printer SNMP Monitor/printer.drum.r1.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r1))>0", "name": "Drum Cartridge R1 Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Drum Cartridge R1 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "a05ab2cbf4384a6a93e12d006bc8f8ed", "name": "Drum Cartridge R2 Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.6]", "key": "printer.drum.r2", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Drum cartridge R2 part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "55250c2fc46d4086a7d3c110db50dc46", "name": "Drum Cartridge R2 Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.6]", "key": "printer.drum.r2.level", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Drum cartridge R2 remaining life percentage", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "units": "%", "triggers": [ { "uuid": "da956bb03a7145558ceed46f22f59180", "expression": "last(/Printer SNMP Monitor/printer.drum.r2.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r2))>0", "name": "Drum Cartridge R2 Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Drum Cartridge R2 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "606e8d5f08f7460eae72015cab07d789", "expression": "last(/Printer SNMP Monitor/printer.drum.r2.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r2))>0", "name": "Drum Cartridge R2 Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Drum Cartridge R2 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "b582a5b3352a4406aa1a28fefa6b929c", "name": "Drum Cartridge R3 Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.7]", "key": "printer.drum.r3", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Drum cartridge R3 part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "a8646395156b4fbb90438347522ee6fa", "name": "Drum Cartridge R3 Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.7]", "key": "printer.drum.r3.level", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Drum cartridge R3 remaining life percentage", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "units": "%", "triggers": [ { "uuid": "ab6425f3dc484e6fbc029be8de0ea6eb", "expression": "last(/Printer SNMP Monitor/printer.drum.r3.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r3))>0", "name": "Drum Cartridge R3 Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Drum Cartridge R3 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "2b04057e9e4e43c5bcbfdd8cdd69de58", "expression": "last(/Printer SNMP Monitor/printer.drum.r3.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r3))>0", "name": "Drum Cartridge R3 Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Drum Cartridge R3 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "31a2f55026c94912a41049bfb22834b4", "name": "Drum Cartridge R4 Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.8]", "key": "printer.drum.r4", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Drum cartridge R4 part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "d90ac9cf6dd041eca83fa23b339de473", "name": "Drum Cartridge R4 Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.8]", "key": "printer.drum.r4.level", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Drum cartridge R4 remaining life percentage", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "units": "%", "triggers": [ { "uuid": "07c79834c5b848c298ed090f8d1e7b8b", "expression": "last(/Printer SNMP Monitor/printer.drum.r4.level)<20 and length(last(/Printer SNMP Monitor/printer.drum.r4))>0", "name": "Drum Cartridge R4 Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Drum Cartridge R4 Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "7241561532a24d7fa9598ed3ea74e44e", "expression": "last(/Printer SNMP Monitor/printer.drum.r4.level)<10 and length(last(/Printer SNMP Monitor/printer.drum.r4))>0", "name": "Drum Cartridge R4 Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Drum Cartridge R4 Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "cdfce3b4df8c49859d454a8883c1cec4", "name": "Waste Toner Container Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.9]", "key": "printer.waste.partnumber", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Waste toner container part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "38a4a4150ba949b2ae62d1d20e411c4e", "name": "Waste Toner Container Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.9]", "key": "printer.waste.level", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Waste toner container fill level (higher is more full)", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "units": "%", "triggers": [ { "uuid": "fbf34636cdf242f2850b73d77a339220", "expression": "last(/Printer SNMP Monitor/printer.waste.level)>80 and length(last(/Printer SNMP Monitor/printer.waste.partnumber))>0", "name": "Waste Toner Container Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Waste Toner Container Level has dropped below 80%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "f8f3473f933749e88eb9b6b08bf0bd4a", "expression": "last(/Printer SNMP Monitor/printer.waste.level)>90 and length(last(/Printer SNMP Monitor/printer.waste.partnumber))>0", "name": "Waste Toner Container Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Waste Toner Container Level has dropped below 90%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "1210838ab6df401ab235653b975421f2", "name": "Transfer Belt Cleaner Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.10]", "key": "printer.transfer.belt", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Transfer belt cleaner part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "d5e1f76785cd4198a3170a5c55856627", "name": "Transfer Belt Cleaner Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.10]", "key": "printer.transfer.belt.level", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Transfer belt cleaner remaining life percentage", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "units": "%", "triggers": [ { "uuid": "87789c39b16d41e5843846e6f33a41d5", "expression": "last(/Printer SNMP Monitor/printer.transfer.belt.level)<20 and length(last(/Printer SNMP Monitor/printer.transfer.belt))>0", "name": "Transfer Belt Cleaner Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Transfer Belt Cleaner Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "8bfab1ce66734b8e99729fb9dd8a0821", "expression": "last(/Printer SNMP Monitor/printer.transfer.belt.level)<10 and length(last(/Printer SNMP Monitor/printer.transfer.belt))>0", "name": "Transfer Belt Cleaner Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Transfer Belt Cleaner Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "06718c135cf8495ab4f64a248bed0597", "name": "Second Bias Transfer Roll Part Number", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.6.1.11]", "key": "printer.transfer.roller", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Second bias transfer roll part number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "fc3a32dba72945d89809c0c202fab5d2", "name": "Second Bias Transfer Roll Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.11.1.1.9.1.11]", "key": "printer.transfer.roller.level", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Second bias transfer roll remaining life percentage", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "other_supplies" } ], "units": "%", "triggers": [ { "uuid": "371a3230e24c4f41841a0f2f58a81e34", "expression": "last(/Printer SNMP Monitor/printer.transfer.roller.level)<20 and length(last(/Printer SNMP Monitor/printer.transfer.roller))>0", "name": "Second Bias Transfer Roll Level is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Second Bias Transfer Roll Level has dropped below 20%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "6210babed1284bfc890a00d05328dedf", "expression": "last(/Printer SNMP Monitor/printer.transfer.roller.level)<10 and length(last(/Printer SNMP Monitor/printer.transfer.roller))>0", "name": "Second Bias Transfer Roll Level is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Second Bias Transfer Roll Level has dropped below 10%. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "94f4bb2c7f8c494ead740f091846f978", "name": "Maintenance Kit Model (HP)", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.4.1.11.2.3.9.4.2.1.1.3.3.0]", "key": "printer.maintenance.model", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "HP maintenance kit model/serial number", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "maintenance_kit_hp" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "dfa98041e7b24981bc41bb3d05dacd77", "name": "Maintenance Kit Remaining (HP)", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.4.1.11.2.3.9.4.2.1.4.1.2.0]", "key": "printer.maintenance.remaining", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "HP maintenance kit remaining pages", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "maintenance_kit_hp" } ], "units": "pages", "triggers": [ { "uuid": "30b01b873ae643e99c1b55efa7584313", "expression": "last(/Printer SNMP Monitor/printer.maintenance.remaining)<10000 and length(last(/Printer SNMP Monitor/printer.maintenance.model))>0", "name": "Maintenance Kit Remaining (HP) is low on {{HOST.NAME}}", "priority": "WARNING", "description": "Maintenance Kit Remaining (HP) has dropped below 10000pages. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] }, { "uuid": "59b58b9fb96e448f8907a68ab21a68bd", "expression": "last(/Printer SNMP Monitor/printer.maintenance.remaining)<5000 and length(last(/Printer SNMP Monitor/printer.maintenance.model))>0", "name": "Maintenance Kit Remaining (HP) is low on {{HOST.NAME}}", "priority": "HIGH", "description": "Maintenance Kit Remaining (HP) has dropped below 5000pages. Replacement part: {ITEM.LASTVALUE2}", "tags": [ { "tag": "scope", "value": "availability" } ] } ] }, { "uuid": "3352d313b0cf499f8a22e14d9f36e7ce", "name": "Printer Model (HP MIB)", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.4.1.11.2.3.9.4.2.1.1.3.2.0]", "key": "printer.maintenance.printer_model", "delay": "1h", "history": "90d", "trends": "0d", "value_type": "TEXT", "description": "Printer model from HP maintenance MIB", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "maintenance_kit_hp" } ], "preprocessing": [ { "type": "JAVASCRIPT", "parameters": [ "// Handle hex-encoded SNMP strings\n// Try multiple approaches to convert hex to ASCII\n\n// First, check if it looks like hex (with spaces, newlines, or other separators)\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\n // Extract all hex pairs (2 characters)\n var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);\n if (hexBytes && hexBytes.length > 0) {\n var result = '';\n for (var i = 0; i < hexBytes.length; i++) {\n var code = parseInt(hexBytes[i], 16);\n // Only keep printable ASCII (0x20-0x7E)\n if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) {\n return result;\n }\n }\n}\n\n// Fallback: Remove non-printable characters\nreturn value.replace(/[^\\x20-\\x7E]/g, '');" ] } ] }, { "uuid": "3126905128cc4eb78326021449df7d67", "name": "Supply 1 Max Capacity", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.10.2.1.4.1.1]", "key": "printer.supply.1.max", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Maximum capacity for supply index 1 (usually black)", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "supply_capacity" } ] }, { "uuid": "329ab388b8664648877bedf551dd370d", "name": "Supply 1 Current Level", "type": "SNMP_AGENT", "snmp_oid": "get[1.3.6.1.2.1.43.10.2.1.9.1.1]", "key": "printer.supply.1.current", "delay": "1h", "history": "90d", "trends": "365d", "value_type": "FLOAT", "description": "Current level for supply index 1 (usually black)", "tags": [ { "tag": "component", "value": "printer" }, { "tag": "category", "value": "supply_capacity" } ] } ] } ] } }