Details
-
Add New Device / OS
-
Resolution: Fixed
-
Minor
-
None
-
Professional Edition
-
None
Description
Hello,
I am opening this as a new issue following OBS-5071 because I have now investigated the Vertiv SmartCabinet SNMP data in more detail and have a working, tested Observium implementation.
In OBS-5071, the main issue was that DCS-MIB exposes many unrelated tables containing large numbers of -9999 values, for example upsGxt5Table.
I found that these tables do not need to be parsed in order to monitor the SmartCabinet air-conditioning controller.
The relevant data is available in a separate table:
DCS-MIB::ac0uTable
.1.3.6.1.4.1.13400.3.3.3031.1.1
Device identification:
Observium OS: vertiv-smartcabinet
sysObjectID: .1.3.6.1.4.1.13400.250.10
I added local definitions to Observium's existing:
includes/definitions/mibs/vertiv/dcs-mib.inc.php
and tested them successfully on two Vertiv SmartCabinet devices with Observium Professional 26.10.15433.
WORKING SENSORS
The implementation currently discovers and polls 14 sensors per device:
ac0u_95_DetectedSupplyTemp
ac0u_96_DetectedReturnTemp
ac0u_97_DetectedOutsideCabinetTemp
ac0u_98_DetectedDischargeTemp
ac0u_99_DetectedSuctionTemp
ac0u_100_DetectedDischargePressure
ac0u_101_DetectedSuctionPressure
ac0u_102_PowerVoltage
ac0u_103_PowerFrequency
ac0u_104_SuctionSuperheat1
ac0u_121_MeasuredOutsideCabinetHmd
ac0u_122_MeasuredReturnHmd
ac0u_128_ActualSupplyAirHmd
ac0u_133_DischargeSuperheat
The vendor MIB explicitly defines the scaling and units for these objects. These measurements require a scale factor of 0.01.
Examples from the tested devices:
Supply temperature: 2250 -> 22.50 °C
Power voltage: 22900 -> 229.00 V
Power frequency: 4990 -> 49.90 Hz
Discharge pressure: 2180 -> 21.80 bar
These values are successfully discovered and polled by Observium using the local definitions.
DEVICE-PROVIDED THRESHOLDS
ac0uTable also exposes configured alarm thresholds, including:
ac0u_215_HighPressureAlarmSP
ac0u_216_LowPressureAlarmSP
ac0u_219_HighSupplyTempAlarmSP
ac0u_220_LowSupplyTempAlarmSP
ac0u_221_HighReturnTempAlarmSP
ac0u_222_LowReturnTempAlarmSP
ac0u_226_OvervoltageAlarmSP
ac0u_227_UndervoltageAlarmSP
For example, on one tested device:
High supply temperature: 30 °C
Low supply temperature: 8 °C
High return temperature: 40 °C
Low return temperature: 18 °C
High pressure: 39 bar
Low pressure: 4 bar
Overvoltage: 253 V
Undervoltage: 207 V
My local definition successfully uses the high supply/return temperature thresholds, pressure thresholds, and voltage thresholds.
The low temperature threshold objects also return the correct SNMP values (8 °C and 18 °C). However, I have not yet resolved why Observium does not apply these two lower temperature limits to the sensors.
WORKING ALARM / STATUS OBJECTS
I also implemented and tested 17 status objects per device.
These objects use states explicitly defined in the vendor MIB:
normal(0)
alarm(1)
They are mapped in Observium as:
normal -> ok
alarm -> alert
The tested status objects are:
ac0u_10_HighReturnTempAlarm
ac0u_11_LowSupplyTempAlarm
ac0u_12_HighSupplyTempAlarm
ac0u_17_PowerLossAlarm
ac0u_18_OvervoltageAlarm
ac0u_19_UndervoltageAlarm
ac0u_20_HighWaterLevelAlarm
ac0u_23_ReturnTempSensorFailure
ac0u_24_SupplyTempSensorFailure
ac0u_31_EEVCommunicationFailure
ac0u_40_PowerFrequencyDeviationAlarm
ac0u_69_WaterUnderfloorAlarm
ac0u_119_AirConditionerEmergencyStatu
ac0u_124_CabinetHighTempAlarm
ac0u_125_4DICommunicationFailure1
ac0u_138_AirConditioningEmergencyFlag
ac0u_149_CommunicationStatus
All 17 status objects are discovered and polled correctly on both tested SmartCabinet devices.
REMAINING PRESSURE UNIT ISSUE
There is one additional issue I have not resolved cleanly.
The vendor MIB explicitly defines:
ac0u_100_DetectedDischargePressure
ac0u_101_DetectedSuctionPressure
as values stored in units of 0.01 bar.
The numeric scaling works correctly. For example:
raw value: 2180
scaled value: 21.8
However, when these objects are defined using Observium's pressure sensor class, Observium displays the resulting value as:
21.8 Pa
instead of:
21.8 bar
Therefore the numerical scaling is correct, but the displayed pressure unit is not.
ATTACHMENTS
I am attaching:
1. Vendor DCS-MIB
2. Full SNMP walk from the SmartCabinet
3. Tested patch against includes/definitions/mibs/vertiv/dcs-mib.inc.php
The important difference compared with OBS-5071 is that this implementation does not attempt to parse every object or every DCS-MIB table containing unsupported or -9999 values.
Instead, it explicitly defines only the verified SmartCabinet objects from ac0uTable.
The attached patch is based on Observium's existing DCS-MIB definition and has been tested on two Vertiv SmartCabinet devices.
The implementation also remained functional after upgrading Observium Professional from revision 15429 to revision 15433.
Could you please review this implementation for possible inclusion in Observium?
Thank you ![]()
Attachments
Issue Links
- mentions
-
OBS-5071 Vertiv™ SmartCabinet™ ID
-
- Resolved
-