Compaq years ago in all their wisdom decided to put their global system status into an array of octets. HP still uses that on Proliant systems. Restults of snmpgetnext on cpqHoMibStatusArray provides this:
SNMPv2-SMI::enterprises.232.11.2.10.1.0 = Hex-STRING:
01 02 00 00
01 02 01 11
01 02 01 18
01 02 01 1F
00 00 00 00
01 02 01 21
01 02 01 15
00 00 00 00
01 01 01 19
00 00 00 00
01 02 01 04
01 01 01 16
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
01 01 01 01
01 02 01 0B
01 02 01 01
00 00 00 00
00 00 00 00
00 00 00 00
Highlighted in bold is the 2nd octet of the first element of the array that I need to get and map the value against:
Condition 0 - Not available
1 - Other
2 - OK
3 - Degraded
4 - Failed
I don't see anything in UnDP that would allow me to parse that out. If transforms had a substr function that would probably do the trick.
documentation of the cpqHoMibStatusArray
http://ipmsupport.solarwinds.com/mibs/CPQHOST-MIB/item.aspx?id=cpqHoMibStatusArray