Files
snmp-scanner/NAMING_FIX_SUMMARY.md
cproudlock 389e620261 Initial commit: SNMP scanner and Zabbix template generator
Tools for printer discovery and monitoring:
- snmp_scanner.py: SNMP-based printer discovery
- generate_printer_templates.py: Generate Zabbix templates
- analyze_supplies.py: Analyze printer supply levels
- extract_summary.py: Extract printer data summaries

Includes Zabbix templates for:
- HP Color/Mono printers
- HP DesignJet T1700
- Xerox Color/Mono/Enterprise printers

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 13:52:21 -05:00

52 lines
1.7 KiB
Markdown

# Zabbix Template Naming Convention Fixes
## Problem
Inconsistent naming between Level items and Part Number items made ASP matching logic complex and error-prone.
## Solution
Standardize all templates so Part Number item name = Level item name with " Level" replaced by " Part Number"
## Changes Made
### HP Templates (✅ FIXED)
- **HP Mono**: "Black Toner Level" → "Black Toner Part Number" ✓
- **HP Color**: All colors fixed to match (Black/Cyan/Magenta/Yellow Toner)
### Xerox Templates (⚠️ NEEDS FIX)
**Xerox VersaLink Color** - Need to remove extra "Cartridge":
- Change: "Black Toner **Cartridge** Part Number" → "Black Toner Part Number"
- Change: "Black Drum **Cartridge** Part Number" → "Black Drum Part Number"
- (Same for all colors)
**Xerox VersaLink Mono** - Need to remove extra "Cartridge":
- Change: "Toner **Cartridge** Part Number" → "Toner Part Number"
- Change: "Drum **Cartridge** Part Number" → "Drum Part Number"
**Xerox Enterprise** - Already correct ✓
### HP DesignJet (⚠️ NEEDS FIX IF USED)
- These are ink cartridges, not toner
- Level items use "Ink", Part Numbers use "Cartridge"
- Should change to "Ink" for consistency
- However, these may not be actively used in your environment
## Simplified ASP Matching Logic
After fixes, the ASP code becomes:
```vbscript
' Simple direct match - no fuzzy logic needed
lookupName = Replace(itemName, " Level", "")
partKeyName = lookupName & " Part Number"
If partNumbers.Exists(partKeyName) Then
partNumber = partNumbers(partKeyName)
End If
```
## Next Steps
1. Fix Xerox templates in generate_printer_templates.py
2. Regenerate templates
3. Re-import to Zabbix
4. Simplify ASP matching code
5. Clear cache and test