Add Zabbix template for HID Fargo DTC4500e card printer

Template monitors via HID Enterprise MIB (1.3.6.1.4.1.28959):
- Printer status and error states
- Print counts (current session and lifetime)
- Ribbon remaining count
- Card hopper status
- Door/hopper open detection
- Film/ribbon loaded status
- Firmware version and serial number

Includes triggers for:
- Printer error state
- Door/hopper open
- Film not loaded
- Input hopper empty
- Ribbon low/critically low
- No SNMP data (offline detection)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
cproudlock
2025-12-17 13:55:49 -05:00
parent 389e620261
commit b95fafe230
2 changed files with 1182 additions and 0 deletions

View File

@@ -0,0 +1,654 @@
{
"zabbix_export": {
"version": "7.4",
"template_groups": [
{
"uuid": "3cd4e8d0b828464e8f4b3becf13a9dbd",
"name": "Printers"
}
],
"templates": [
{
"uuid": "a8f3d2e1b5c74a9e8d6f0c3b2a1e9d8c",
"template": "HID Fargo DTC4500e Card Printer",
"name": "HID Fargo DTC4500e Card Printer",
"description": "Template for HID Fargo DTC4500e ID Card Printer\nUses HID Enterprise MIB (1.3.6.1.4.1.28959)\n\nMonitors:\n- Printer status and health\n- Print counts (current and lifetime)\n- Ribbon/supply levels\n- Firmware version\n- Status flags (hopper, film, errors)\n",
"groups": [
{
"name": "Printers"
}
],
"items": [
{
"uuid": "b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6",
"name": "System Description",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.2.1.1.1.0]",
"key": "hid.sysdescr",
"delay": "1h",
"history": "90d",
"trends": "0",
"value_type": "TEXT",
"description": "System description from sysDescr MIB",
"tags": [
{
"tag": "component",
"value": "system"
},
{
"tag": "type",
"value": "info"
}
]
},
{
"uuid": "c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7",
"name": "System Uptime",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.2.1.1.3.0]",
"key": "hid.uptime",
"delay": "5m",
"history": "90d",
"trends": "365d",
"value_type": "FLOAT",
"units": "uptime",
"description": "System uptime in ticks (divide by 100 for seconds)",
"tags": [
{
"tag": "component",
"value": "system"
},
{
"tag": "type",
"value": "performance"
}
],
"preprocessing": [
{
"type": "MULTIPLIER",
"parameters": [
"0.01"
]
}
]
},
{
"uuid": "d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8",
"name": "System Name",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.2.1.1.5.0]",
"key": "hid.sysname",
"delay": "1h",
"history": "90d",
"trends": "0",
"value_type": "TEXT",
"description": "System name (hostname)",
"tags": [
{
"tag": "component",
"value": "system"
},
{
"tag": "type",
"value": "info"
}
]
},
{
"uuid": "e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9",
"name": "System Location",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.2.1.1.6.0]",
"key": "hid.syslocation",
"delay": "1h",
"history": "90d",
"trends": "0",
"value_type": "TEXT",
"description": "System location",
"tags": [
{
"tag": "component",
"value": "system"
},
{
"tag": "type",
"value": "info"
}
]
},
{
"uuid": "f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0",
"name": "Printer Model",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.6.0]",
"key": "hid.model",
"delay": "1h",
"history": "90d",
"trends": "0",
"value_type": "TEXT",
"description": "Printer model name from HID MIB",
"tags": [
{
"tag": "component",
"value": "printer"
},
{
"tag": "type",
"value": "info"
}
],
"preprocessing": [
{
"type": "JAVASCRIPT",
"parameters": [
"// Convert hex-encoded SNMP string to ASCII\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\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 if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) return result;\n }\n}\nreturn value.replace(/[^\\x20-\\x7E]/g, '');\n"
]
}
]
},
{
"uuid": "a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1",
"name": "Printer Serial Number",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.7.0]",
"key": "hid.serial",
"delay": "1h",
"history": "90d",
"trends": "0",
"value_type": "TEXT",
"description": "Printer serial number from HID MIB",
"tags": [
{
"tag": "component",
"value": "printer"
},
{
"tag": "type",
"value": "info"
}
],
"preprocessing": [
{
"type": "JAVASCRIPT",
"parameters": [
"// Convert hex-encoded SNMP string to ASCII\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\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 if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) return result;\n }\n}\nreturn value.replace(/[^\\x20-\\x7E]/g, '');\n"
]
}
]
},
{
"uuid": "b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2",
"name": "Firmware Version",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.8.0]",
"key": "hid.firmware",
"delay": "1d",
"history": "90d",
"trends": "0",
"value_type": "TEXT",
"description": "Printer firmware version",
"tags": [
{
"tag": "component",
"value": "printer"
},
{
"tag": "type",
"value": "info"
}
],
"preprocessing": [
{
"type": "JAVASCRIPT",
"parameters": [
"// Convert hex-encoded SNMP string to ASCII\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\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 if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) return result;\n }\n}\nreturn value.replace(/[^\\x20-\\x7E]/g, '');\n"
]
}
]
},
{
"uuid": "c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3",
"name": "Printer Status Code",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.4.0]",
"key": "hid.status.code",
"delay": "1m",
"history": "90d",
"trends": "365d",
"value_type": "UNSIGNED",
"description": "Printer status code (0=Unknown, 1=Offline, 2=Standby, 3=Ready, 4=Printing, 5=Error)",
"tags": [
{
"tag": "component",
"value": "printer"
},
{
"tag": "type",
"value": "status"
}
],
"valuemap": {
"name": "HID Printer Status"
}
},
{
"uuid": "d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4",
"name": "Printer Status Flags",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.10.0]",
"key": "hid.status.flags",
"delay": "1m",
"history": "7d",
"trends": "0",
"value_type": "TEXT",
"description": "Status flags string containing component states:\nDH=Door/Hopper, IH=Input Hopper, LM=Laminator, FL=Film,\nMG=Magnetic, SM=Smart Module, SC=Smart Card, PE=Paper Empty\nValues: 0=OK, 1=Warning/Active\n",
"tags": [
{
"tag": "component",
"value": "printer"
},
{
"tag": "type",
"value": "status"
}
],
"preprocessing": [
{
"type": "JAVASCRIPT",
"parameters": [
"// Convert hex-encoded SNMP string to ASCII\nvar hexPattern = /^[0-9A-Fa-f\\s]+$/;\nif (hexPattern.test(value) && value.length > 4) {\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 if (code >= 32 && code <= 126) {\n result += String.fromCharCode(code);\n }\n }\n if (result.length > 0) return result;\n }\n}\nreturn value.replace(/[^\\x20-\\x7E]/g, '');\n"
]
}
]
},
{
"uuid": "e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5",
"name": "Current Print Count",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.9.0]",
"key": "hid.prints.current",
"delay": "5m",
"history": "90d",
"trends": "365d",
"value_type": "UNSIGNED",
"units": "cards",
"description": "Current session or ribbon print count",
"tags": [
{
"tag": "component",
"value": "counter"
},
{
"tag": "type",
"value": "performance"
}
]
},
{
"uuid": "f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6",
"name": "Total Lifetime Prints",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.12.0]",
"key": "hid.prints.lifetime",
"delay": "1h",
"history": "90d",
"trends": "365d",
"value_type": "UNSIGNED",
"units": "cards",
"description": "Total lifetime card prints",
"tags": [
{
"tag": "component",
"value": "counter"
},
{
"tag": "type",
"value": "performance"
}
]
},
{
"uuid": "a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7",
"name": "Ribbon Remaining",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.16.0]",
"key": "hid.ribbon.remaining",
"delay": "5m",
"history": "90d",
"trends": "365d",
"value_type": "UNSIGNED",
"units": "prints",
"description": "Ribbon remaining count (estimated prints left)",
"tags": [
{
"tag": "component",
"value": "supplies"
},
{
"tag": "type",
"value": "consumable"
}
]
},
{
"uuid": "b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8",
"name": "Error Count",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.11.0]",
"key": "hid.errors",
"delay": "5m",
"history": "90d",
"trends": "365d",
"value_type": "UNSIGNED",
"description": "Error count or error state",
"tags": [
{
"tag": "component",
"value": "printer"
},
{
"tag": "type",
"value": "error"
}
]
},
{
"uuid": "c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9",
"name": "Card Count in Hopper",
"type": "SNMP_AGENT",
"snmp_oid": "get[1.3.6.1.4.1.28959.3.255.1.13.0]",
"key": "hid.hopper.count",
"delay": "5m",
"history": "90d",
"trends": "365d",
"value_type": "UNSIGNED",
"units": "cards",
"description": "Estimated cards remaining in input hopper",
"tags": [
{
"tag": "component",
"value": "supplies"
},
{
"tag": "type",
"value": "consumable"
}
]
},
{
"uuid": "d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0",
"name": "Door/Hopper Status",
"type": "DEPENDENT",
"key": "hid.status.door",
"delay": "0",
"history": "90d",
"trends": "0",
"value_type": "UNSIGNED",
"description": "Door/Hopper status extracted from flags (0=Closed/OK, 1=Open/Warning)",
"master_item": {
"key": "hid.status.flags"
},
"tags": [
{
"tag": "component",
"value": "printer"
},
{
"tag": "type",
"value": "status"
}
],
"preprocessing": [
{
"type": "JAVASCRIPT",
"parameters": [
"var match = value.match(/DH:(\\d)/);\nreturn match ? match[1] : '0';\n"
]
}
],
"valuemap": {
"name": "HID Door Status"
}
},
{
"uuid": "e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1",
"name": "Film/Ribbon Loaded",
"type": "DEPENDENT",
"key": "hid.status.film",
"delay": "0",
"history": "90d",
"trends": "0",
"value_type": "UNSIGNED",
"description": "Film/Ribbon loaded status (0=Not Loaded, 1=Loaded)",
"master_item": {
"key": "hid.status.flags"
},
"tags": [
{
"tag": "component",
"value": "supplies"
},
{
"tag": "type",
"value": "status"
}
],
"preprocessing": [
{
"type": "JAVASCRIPT",
"parameters": [
"var match = value.match(/FL:(\\d)/);\nreturn match ? match[1] : '0';\n"
]
}
],
"valuemap": {
"name": "HID Film Status"
}
},
{
"uuid": "f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2",
"name": "Input Hopper Status",
"type": "DEPENDENT",
"key": "hid.status.inputhopper",
"delay": "0",
"history": "90d",
"trends": "0",
"value_type": "UNSIGNED",
"description": "Input hopper status (0=OK, 1=Empty/Warning)",
"master_item": {
"key": "hid.status.flags"
},
"tags": [
{
"tag": "component",
"value": "supplies"
},
{
"tag": "type",
"value": "status"
}
],
"preprocessing": [
{
"type": "JAVASCRIPT",
"parameters": [
"var match = value.match(/IH:(\\d)/);\nreturn match ? match[1] : '0';\n"
]
}
],
"valuemap": {
"name": "HID Hopper Status"
}
}
],
"triggers": [
{
"uuid": "a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3",
"expression": "last(/HID Fargo DTC4500e Card Printer/hid.status.code)=5",
"name": "HID DTC4500e: Printer in error state",
"priority": "HIGH",
"description": "Printer is reporting an error condition",
"tags": [
{
"tag": "scope",
"value": "availability"
}
]
},
{
"uuid": "b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4",
"expression": "last(/HID Fargo DTC4500e Card Printer/hid.status.door)=1",
"name": "HID DTC4500e: Door/Hopper open",
"priority": "WARNING",
"description": "Printer door or hopper is open",
"tags": [
{
"tag": "scope",
"value": "notice"
}
]
},
{
"uuid": "c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5",
"expression": "last(/HID Fargo DTC4500e Card Printer/hid.status.film)=0",
"name": "HID DTC4500e: Film/Ribbon not loaded",
"priority": "WARNING",
"description": "Printer film or ribbon is not loaded",
"tags": [
{
"tag": "scope",
"value": "availability"
}
]
},
{
"uuid": "d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6",
"expression": "last(/HID Fargo DTC4500e Card Printer/hid.status.inputhopper)=1",
"name": "HID DTC4500e: Input hopper empty or warning",
"priority": "WARNING",
"description": "Input hopper is empty or has a warning",
"tags": [
{
"tag": "scope",
"value": "availability"
}
]
},
{
"uuid": "e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7",
"expression": "last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<50",
"name": "HID DTC4500e: Ribbon low (less than 50 prints remaining)",
"priority": "WARNING",
"description": "Ribbon is running low, less than 50 prints remaining",
"tags": [
{
"tag": "scope",
"value": "capacity"
}
]
},
{
"uuid": "f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8",
"expression": "last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<10",
"name": "HID DTC4500e: Ribbon critically low (less than 10 prints remaining)",
"priority": "HIGH",
"description": "Ribbon is critically low, less than 10 prints remaining",
"tags": [
{
"tag": "scope",
"value": "capacity"
}
]
},
{
"uuid": "a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9",
"expression": "nodata(/HID Fargo DTC4500e Card Printer/hid.status.code,15m)=1",
"name": "HID DTC4500e: No SNMP data received",
"priority": "AVERAGE",
"description": "No SNMP data received for 15 minutes - printer may be offline",
"tags": [
{
"tag": "scope",
"value": "availability"
}
]
}
],
"valuemaps": [
{
"uuid": "b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0",
"name": "HID Printer Status",
"mappings": [
{
"value": "0",
"newvalue": "Unknown"
},
{
"value": "1",
"newvalue": "Offline"
},
{
"value": "2",
"newvalue": "Standby"
},
{
"value": "3",
"newvalue": "Ready"
},
{
"value": "4",
"newvalue": "Printing"
},
{
"value": "5",
"newvalue": "Error"
}
]
},
{
"uuid": "c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1",
"name": "HID Door Status",
"mappings": [
{
"value": "0",
"newvalue": "Closed"
},
{
"value": "1",
"newvalue": "Open"
}
]
},
{
"uuid": "d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2",
"name": "HID Film Status",
"mappings": [
{
"value": "0",
"newvalue": "Not Loaded"
},
{
"value": "1",
"newvalue": "Loaded"
}
]
},
{
"uuid": "e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3",
"name": "HID Hopper Status",
"mappings": [
{
"value": "0",
"newvalue": "OK"
},
{
"value": "1",
"newvalue": "Empty/Warning"
}
]
}
]
}
]
}
}

View File

@@ -0,0 +1,528 @@
zabbix_export:
version: '7.4'
template_groups:
- uuid: 3cd4e8d0b828464e8f4b3becf13a9dbd
name: Printers
templates:
- uuid: a8f3d2e1b5c74a9e8d6f0c3b2a1e9d8c
template: HID Fargo DTC4500e Card Printer
name: HID Fargo DTC4500e Card Printer
description: |
Template for HID Fargo DTC4500e ID Card Printer
Uses HID Enterprise MIB (1.3.6.1.4.1.28959)
Monitors:
- Printer status and health
- Print counts (current and lifetime)
- Ribbon/supply levels
- Firmware version
- Status flags (hopper, film, errors)
groups:
- name: Printers
items:
# === System Information ===
- uuid: b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6
name: System Description
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
key: hid.sysdescr
delay: 1h
history: 90d
trends: '0'
value_type: TEXT
description: 'System description from sysDescr MIB'
tags:
- tag: component
value: system
- tag: type
value: info
- uuid: c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7
name: System Uptime
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.2.1.1.3.0]'
key: hid.uptime
delay: 5m
history: 90d
trends: 365d
value_type: FLOAT
units: uptime
description: 'System uptime in ticks (divide by 100 for seconds)'
tags:
- tag: component
value: system
- tag: type
value: performance
preprocessing:
- type: MULTIPLIER
parameters:
- '0.01'
- uuid: d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8
name: System Name
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.2.1.1.5.0]'
key: hid.sysname
delay: 1h
history: 90d
trends: '0'
value_type: TEXT
description: 'System name (hostname)'
tags:
- tag: component
value: system
- tag: type
value: info
- uuid: e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9
name: System Location
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.2.1.1.6.0]'
key: hid.syslocation
delay: 1h
history: 90d
trends: '0'
value_type: TEXT
description: 'System location'
tags:
- tag: component
value: system
- tag: type
value: info
# === HID Enterprise MIB - Device Info ===
- uuid: f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0
name: Printer Model
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.6.0]'
key: hid.model
delay: 1h
history: 90d
trends: '0'
value_type: TEXT
description: 'Printer model name from HID MIB'
tags:
- tag: component
value: printer
- tag: type
value: info
preprocessing:
- type: JAVASCRIPT
parameters:
- |
// Convert hex-encoded SNMP string to ASCII
var hexPattern = /^[0-9A-Fa-f\s]+$/;
if (hexPattern.test(value) && value.length > 4) {
var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);
if (hexBytes && hexBytes.length > 0) {
var result = '';
for (var i = 0; i < hexBytes.length; i++) {
var code = parseInt(hexBytes[i], 16);
if (code >= 32 && code <= 126) {
result += String.fromCharCode(code);
}
}
if (result.length > 0) return result;
}
}
return value.replace(/[^\x20-\x7E]/g, '');
- uuid: a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1
name: Printer Serial Number
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.7.0]'
key: hid.serial
delay: 1h
history: 90d
trends: '0'
value_type: TEXT
description: 'Printer serial number from HID MIB'
tags:
- tag: component
value: printer
- tag: type
value: info
preprocessing:
- type: JAVASCRIPT
parameters:
- |
// Convert hex-encoded SNMP string to ASCII
var hexPattern = /^[0-9A-Fa-f\s]+$/;
if (hexPattern.test(value) && value.length > 4) {
var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);
if (hexBytes && hexBytes.length > 0) {
var result = '';
for (var i = 0; i < hexBytes.length; i++) {
var code = parseInt(hexBytes[i], 16);
if (code >= 32 && code <= 126) {
result += String.fromCharCode(code);
}
}
if (result.length > 0) return result;
}
}
return value.replace(/[^\x20-\x7E]/g, '');
- uuid: b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2
name: Firmware Version
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.8.0]'
key: hid.firmware
delay: 1d
history: 90d
trends: '0'
value_type: TEXT
description: 'Printer firmware version'
tags:
- tag: component
value: printer
- tag: type
value: info
preprocessing:
- type: JAVASCRIPT
parameters:
- |
// Convert hex-encoded SNMP string to ASCII
var hexPattern = /^[0-9A-Fa-f\s]+$/;
if (hexPattern.test(value) && value.length > 4) {
var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);
if (hexBytes && hexBytes.length > 0) {
var result = '';
for (var i = 0; i < hexBytes.length; i++) {
var code = parseInt(hexBytes[i], 16);
if (code >= 32 && code <= 126) {
result += String.fromCharCode(code);
}
}
if (result.length > 0) return result;
}
}
return value.replace(/[^\x20-\x7E]/g, '');
# === HID Enterprise MIB - Status ===
- uuid: c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3
name: Printer Status Code
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.4.0]'
key: hid.status.code
delay: 1m
history: 90d
trends: 365d
value_type: UNSIGNED
description: 'Printer status code (0=Unknown, 1=Offline, 2=Standby, 3=Ready, 4=Printing, 5=Error)'
tags:
- tag: component
value: printer
- tag: type
value: status
valuemap:
name: HID Printer Status
- uuid: d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4
name: Printer Status Flags
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.10.0]'
key: hid.status.flags
delay: 1m
history: 7d
trends: '0'
value_type: TEXT
description: |
Status flags string containing component states:
DH=Door/Hopper, IH=Input Hopper, LM=Laminator, FL=Film,
MG=Magnetic, SM=Smart Module, SC=Smart Card, PE=Paper Empty
Values: 0=OK, 1=Warning/Active
tags:
- tag: component
value: printer
- tag: type
value: status
preprocessing:
- type: JAVASCRIPT
parameters:
- |
// Convert hex-encoded SNMP string to ASCII
var hexPattern = /^[0-9A-Fa-f\s]+$/;
if (hexPattern.test(value) && value.length > 4) {
var hexBytes = value.match(/[0-9A-Fa-f]{2}/g);
if (hexBytes && hexBytes.length > 0) {
var result = '';
for (var i = 0; i < hexBytes.length; i++) {
var code = parseInt(hexBytes[i], 16);
if (code >= 32 && code <= 126) {
result += String.fromCharCode(code);
}
}
if (result.length > 0) return result;
}
}
return value.replace(/[^\x20-\x7E]/g, '');
# === HID Enterprise MIB - Counters ===
- uuid: e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5
name: Current Print Count
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.9.0]'
key: hid.prints.current
delay: 5m
history: 90d
trends: 365d
value_type: UNSIGNED
units: cards
description: 'Current session or ribbon print count'
tags:
- tag: component
value: counter
- tag: type
value: performance
- uuid: f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6
name: Total Lifetime Prints
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.12.0]'
key: hid.prints.lifetime
delay: 1h
history: 90d
trends: 365d
value_type: UNSIGNED
units: cards
description: 'Total lifetime card prints'
tags:
- tag: component
value: counter
- tag: type
value: performance
- uuid: a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7
name: Ribbon Remaining
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.16.0]'
key: hid.ribbon.remaining
delay: 5m
history: 90d
trends: 365d
value_type: UNSIGNED
units: prints
description: 'Ribbon remaining count (estimated prints left)'
tags:
- tag: component
value: supplies
- tag: type
value: consumable
# === Additional HID MIB values ===
- uuid: b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8
name: Error Count
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.11.0]'
key: hid.errors
delay: 5m
history: 90d
trends: 365d
value_type: UNSIGNED
description: 'Error count or error state'
tags:
- tag: component
value: printer
- tag: type
value: error
- uuid: c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9
name: Card Count in Hopper
type: SNMP_AGENT
snmp_oid: 'get[1.3.6.1.4.1.28959.3.255.1.13.0]'
key: hid.hopper.count
delay: 5m
history: 90d
trends: 365d
value_type: UNSIGNED
units: cards
description: 'Estimated cards remaining in input hopper'
tags:
- tag: component
value: supplies
- tag: type
value: consumable
# === Derived Items ===
- uuid: d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0
name: Door/Hopper Status
type: DEPENDENT
key: hid.status.door
delay: '0'
history: 90d
trends: '0'
value_type: UNSIGNED
description: 'Door/Hopper status extracted from flags (0=Closed/OK, 1=Open/Warning)'
master_item:
key: hid.status.flags
tags:
- tag: component
value: printer
- tag: type
value: status
preprocessing:
- type: JAVASCRIPT
parameters:
- |
var match = value.match(/DH:(\d)/);
return match ? match[1] : '0';
valuemap:
name: HID Door Status
- uuid: e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1
name: Film/Ribbon Loaded
type: DEPENDENT
key: hid.status.film
delay: '0'
history: 90d
trends: '0'
value_type: UNSIGNED
description: 'Film/Ribbon loaded status (0=Not Loaded, 1=Loaded)'
master_item:
key: hid.status.flags
tags:
- tag: component
value: supplies
- tag: type
value: status
preprocessing:
- type: JAVASCRIPT
parameters:
- |
var match = value.match(/FL:(\d)/);
return match ? match[1] : '0';
valuemap:
name: HID Film Status
- uuid: f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2
name: Input Hopper Status
type: DEPENDENT
key: hid.status.inputhopper
delay: '0'
history: 90d
trends: '0'
value_type: UNSIGNED
description: 'Input hopper status (0=OK, 1=Empty/Warning)'
master_item:
key: hid.status.flags
tags:
- tag: component
value: supplies
- tag: type
value: status
preprocessing:
- type: JAVASCRIPT
parameters:
- |
var match = value.match(/IH:(\d)/);
return match ? match[1] : '0';
valuemap:
name: HID Hopper Status
# === Triggers ===
triggers:
- uuid: a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3
expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.code)=5'
name: 'HID DTC4500e: Printer in error state'
priority: HIGH
description: 'Printer is reporting an error condition'
tags:
- tag: scope
value: availability
- uuid: b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4
expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.door)=1'
name: 'HID DTC4500e: Door/Hopper open'
priority: WARNING
description: 'Printer door or hopper is open'
tags:
- tag: scope
value: notice
- uuid: c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5
expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.film)=0'
name: 'HID DTC4500e: Film/Ribbon not loaded'
priority: WARNING
description: 'Printer film or ribbon is not loaded'
tags:
- tag: scope
value: availability
- uuid: d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6
expression: 'last(/HID Fargo DTC4500e Card Printer/hid.status.inputhopper)=1'
name: 'HID DTC4500e: Input hopper empty or warning'
priority: WARNING
description: 'Input hopper is empty or has a warning'
tags:
- tag: scope
value: availability
- uuid: e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7
expression: 'last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<50'
name: 'HID DTC4500e: Ribbon low (less than 50 prints remaining)'
priority: WARNING
description: 'Ribbon is running low, less than 50 prints remaining'
tags:
- tag: scope
value: capacity
- uuid: f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8
expression: 'last(/HID Fargo DTC4500e Card Printer/hid.ribbon.remaining)<10'
name: 'HID DTC4500e: Ribbon critically low (less than 10 prints remaining)'
priority: HIGH
description: 'Ribbon is critically low, less than 10 prints remaining'
tags:
- tag: scope
value: capacity
- uuid: a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9
expression: 'nodata(/HID Fargo DTC4500e Card Printer/hid.status.code,15m)=1'
name: 'HID DTC4500e: No SNMP data received'
priority: AVERAGE
description: 'No SNMP data received for 15 minutes - printer may be offline'
tags:
- tag: scope
value: availability
# === Value Maps ===
valuemaps:
- uuid: b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0
name: HID Printer Status
mappings:
- value: '0'
newvalue: Unknown
- value: '1'
newvalue: Offline
- value: '2'
newvalue: Standby
- value: '3'
newvalue: Ready
- value: '4'
newvalue: Printing
- value: '5'
newvalue: Error
- uuid: c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1
name: HID Door Status
mappings:
- value: '0'
newvalue: Closed
- value: '1'
newvalue: Open
- uuid: d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2
name: HID Film Status
mappings:
- value: '0'
newvalue: Not Loaded
- value: '1'
newvalue: Loaded
- uuid: e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3
name: HID Hopper Status
mappings:
- value: '0'
newvalue: OK
- value: '1'
newvalue: Empty/Warning