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