The HP Aruba wired switch SNMP health driver (ic-hp-aruba-wiredswitch-health.asl) discovers individual TemperatureSensor instances on each device.
For a single chassis, this typically produces 10–17 discrete sensor objects — one per internal probe index. These objects currently exist in isolation:
This article introduces a TemperatureSensorGroup class to aggregate all per-device sensors, and lays the groundwork to raise a single, actionable event when the group's average temperature crosses an operator-configured threshold.
Raise a single HighAverageTemperature event on the TemperatureSensorGroup object when the aggregate average exceeds a configurable threshold.
event HighAverageTemperature
"Average temperature across all sensors exceeds the configured threshold."
{
severity = MAJOR;
eventType = "EnvironmentalAlarm";
probableCause = "ThresholdCrossed";
}
All Supported Smarts releases
Place the attached TemperatureSensorGroup.mdl at the location: <Install_Directory>/IP/smarts/local/model/ directory
Reference from the MDL file as follows:
interface TemperatureSensorGroup : RedundancyGroup
{
internal propagate attribute float avg TSG_PropAvgCurrentTemp
"Internal: propagated average of CurrentValue from all TemperatureSensors in ComposedOf."
= TemperatureSensor, ComposedOf, CurrentValue;
computed attribute float TSG_AvgCurrentTemp
"Average temperature in degrees C across all sensors in the group."
= TSG_PropAvgCurrentTemp
else 0.0;
stored attribute float TSG_AvgTempThreshold
"Threshold in degrees C above which TSG_AvgTempOutOfRange is raised. Operator-editable." = 45.0;
computed attribute boolean TSG_IsAvgOverThreshold
"TRUE when TSG_AvgCurrentTemp exceeds TSG_AvgTempThreshold."
= (TSG_AvgCurrentTemp > TSG_AvgTempThreshold);
}
TSG_AvgTempThreshold | 45.0 | Operator-configured threshold in °C |
TSG_AvgTempHysteresis | 3.0 | Margin to clear event (threshold − hysteresis) |
Place the attached DISCOVERY_HP.import at the location: <Install_Directory>/IP/smarts/local/conf/discovery/ directory.
Changes: The local override replaces the original GA_Driver with a GA_CompoundDriver to sequence the two drivers.
GA_CompoundDriver::Performance-HP-Aruba-Wired-Switch-Driver {
drivers = {
{"Performance-HP-Aruba-WiredSwitch-Health-Driver", 10},
{"HP-Aruba-TempGroup-Driver", 20}
}
waitForCompletion = TRUE
}Place the attached ic-hp-aruba-temp-group.asl at the location: <Install_Directory>/IP/smarts/local/rules/discovery/ directory.
Review the steps explained at the documentation reference: Location and Loading of Dynamic Model Files
Stop the AMPM domain using:
<Install_Directory>/IP/smarts/bin/sm_service stop <AMPM Domain>
Once stopped, Start the AMPM domain using:
Stop the AMPM domain using:
<Install_Directory>/IP/smarts/bin/sm_service stop <AMPM Domain>
Attribute | Type | Source | Description |
NumberOfComponents | computed int |
| ComposedOf |
SystemName | computed string | PartOf | Read-only; auto-set via node link |
TSG_DeviceName | stored string | Set by ASL | Name of the parent switch node |
TSG_MaxCurrentTemp | propagate float max | CurrentValue | Highest live temperature across sensors |