# 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