From 811d3ca6a19fd04b721e8d64cecb6fff928363e6 Mon Sep 17 00:00:00 2001 From: Tom Laermans Date: Sat, 31 Jul 2010 18:42:30 +0000 Subject: [PATCH] Add XUPS-MIB, basic powerware detection and temperature readings, split up voltages polling into separate files + minor fixes git-svn-id: http://www.observium.org/svn/observer/trunk@1585 61d68cd4-352d-0410-923a-c4978735b2b8 --- DEVELOPING | 4 +- includes/discovery/os/dlinkap.inc.php | 1 + includes/discovery/os/powerware.inc.php | 9 + includes/discovery/temperatures.inc.php | 2 +- includes/discovery/temperatures/xups.inc.php | 32 + includes/discovery/voltages.inc.php | 305 +-- includes/discovery/voltages/apc.inc.php | 73 + includes/discovery/voltages/areca.inc.php | 30 + .../discovery/voltages/gamatronicups.inc.php | 34 + includes/discovery/voltages/linux.inc.php | 27 + includes/discovery/voltages/mgeups.inc.php | 48 + includes/discovery/voltages/rfc1628.inc.php | 74 + .../discovery/voltages/supermicro.inc.php | 45 + includes/static-config.php | 4 + mibs/XUPS-MIB | 2379 +++++++++++++++++ 15 files changed, 2761 insertions(+), 306 deletions(-) create mode 100644 includes/discovery/os/powerware.inc.php create mode 100644 includes/discovery/temperatures/xups.inc.php create mode 100644 includes/discovery/voltages/apc.inc.php create mode 100644 includes/discovery/voltages/areca.inc.php create mode 100644 includes/discovery/voltages/gamatronicups.inc.php create mode 100644 includes/discovery/voltages/linux.inc.php create mode 100644 includes/discovery/voltages/mgeups.inc.php create mode 100644 includes/discovery/voltages/rfc1628.inc.php create mode 100644 includes/discovery/voltages/supermicro.inc.php create mode 100644 mibs/XUPS-MIB diff --git a/DEVELOPING b/DEVELOPING index 31a6e9444..956feaad4 100644 --- a/DEVELOPING +++ b/DEVELOPING @@ -3,14 +3,14 @@ Adding a new device class (os type) =================================== Create a file in includes/discovery/os, which fills the OS type variable if -you can identify the device as such (sysDescr or similar). Please use a +you can identify the device as such (sysDescr, sysObjectId or similar). Please use a meaningful name! Adjust discovery.php, running specific command based on OS type, if needed. Create includes/polling/os/$osname.inc.php, for device specific polling. -Add an OS text name in includes/static-config.php +Add an OS text name and possibly other settings in includes/static-config.php If desired, create a 32x32 logo, in html/images/os/$osname.png. diff --git a/includes/discovery/os/dlinkap.inc.php b/includes/discovery/os/dlinkap.inc.php index 4e907e634..62ed8ff36 100644 --- a/includes/discovery/os/dlinkap.inc.php +++ b/includes/discovery/os/dlinkap.inc.php @@ -3,6 +3,7 @@ if (!$os) { if (preg_match("/D-Link .* AP/", $sysDescr)) { $os = "dlinkap"; } + else if (preg_match("/D-Link DAP-/", $sysDescr)) { $os = "dlinkap"; } else if (preg_match("/D-Link Access Point/", $sysDescr)) { $os = "dlinkap"; } } diff --git a/includes/discovery/os/powerware.inc.php b/includes/discovery/os/powerware.inc.php new file mode 100644 index 000000000..d93e68b9a --- /dev/null +++ b/includes/discovery/os/powerware.inc.php @@ -0,0 +1,9 @@ + diff --git a/includes/discovery/temperatures.inc.php b/includes/discovery/temperatures.inc.php index f3373e4f4..a5b4531c2 100755 --- a/includes/discovery/temperatures.inc.php +++ b/includes/discovery/temperatures.inc.php @@ -1,6 +1,6 @@ diff --git a/includes/discovery/voltages.inc.php b/includes/discovery/voltages.inc.php index e509bb004..9e5ad7461 100755 --- a/includes/discovery/voltages.inc.php +++ b/includes/discovery/voltages.inc.php @@ -1,309 +1,8 @@ 1) { $descr .= " $index"; } - echo discover_sensor($valid_sensor, 'voltage', $device, $oid, "4.3.1.3.$index", $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } - } - - $oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.1.3.2.1.0", "-OsqnU", ""); - if ($debug) { echo($oids."\n"); } - if ($oids) - { - echo(" APC In "); - list($oid,$current) = explode(" ",$oids); - $divisor = 1; - $type = "apc"; - $index = "3.2.1.0"; - $descr = "Input"; - echo discover_sensor($valid_sensor, 'voltage', $device, $oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } - - $oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.1.4.2.1.0", "-OsqnU", ""); - if ($debug) { echo($oids."\n"); } - if ($oids) - { - echo(" APC Out "); - list($oid,$current) = explode(" ",$oids); - $divisor = 1; - $type = "apc"; - $index = "4.2.1.0"; - $descr = "Output"; - echo discover_sensor($valid_sensor, 'voltage', $device, $oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } -} - -## Supermicro Voltages -if ($device['os'] == "linux") -{ - $oids = snmp_walk($device, "1.3.6.1.4.1.10876.2.1.1.1.1.3", "-OsqnU", "SUPERMICRO-HEALTH-MIB"); - if ($debug) { echo($oids."\n"); } - $oids = trim($oids); - if ($oids) echo("Supermicro "); - $type = "supermicro"; - $divisor = "1000"; - foreach(explode("\n", $oids) as $data) - { - $data = trim($data); - if ($data) - { - list($oid,$kind) = explode(" ", $data); - $split_oid = explode('.',$oid); - $index = $split_oid[count($split_oid)-1]; - if ($kind == 1) - { - $volt_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.4.".$index; - $descr_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.2.".$index; - $monitor_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.10.".$index; - $limit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.5.".$index; - $lowlimit_oid = "1.3.6.1.4.1.10876.2.1.1.1.1.6.".$index; - - $descr = snmp_get($device, $descr_oid, "-Oqv", "SUPERMICRO-HEALTH-MIB"); - $current = snmp_get($device, $volt_oid, "-Oqv", "SUPERMICRO-HEALTH-MIB") / $divisor; - $limit = snmp_get($device, $limit_oid, "-Oqv", "SUPERMICRO-HEALTH-MIB") / $divisor; - $lowlimit = snmp_get($device, $lowlimit_oid, "-Oqv", "SUPERMICRO-HEALTH-MIB") / $divisor; - $monitor = snmp_get($device, $monitor_oid, "-Oqv", "SUPERMICRO-HEALTH-MIB"); - $descr = trim(str_ireplace("Voltage", "", $descr)); - - if ($monitor == 'true') - { - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', $lowlimit, NULL, $limit, NULL, $current); - } - } - } - } -} - -## MGE UPS Voltages -if ($device['os'] == "mgeups") -{ - echo("MGE "); - $oids = trim(snmp_walk($device, "1.3.6.1.4.1.705.1.7.1", "-OsqnU")); - if ($debug) { echo($oids."\n"); } - list($unused,$numPhase) = explode(' ',$oids); - for($i = 1; $i <= $numPhase;$i++) - { - $volt_oid = ".1.3.6.1.4.1.705.1.7.2.1.2.$i"; - $descr = "Output"; if ($numPhase > 1) $descr .= " Phase $i"; - $current = snmp_get($device, $volt_oid, "-Oqv"); - if (!$current) - { - $volt_oid .= ".0"; - $current = snmp_get($device, $volt_oid, "-Oqv"); - } - $current /= 10; - $type = "mge-ups"; - $divisor = 10; - $index = $i; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } - $oids = trim(snmp_walk($device, "1.3.6.1.4.1.705.1.6.1", "-OsqnU")); - if ($debug) { echo($oids."\n"); } - list($unused,$numPhase) = explode(' ',$oids); - for($i = 1; $i <= $numPhase;$i++) - { - $volt_oid = ".1.3.6.1.4.1.705.1.6.2.1.2.$i"; - $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i"; - $current = snmp_get($device, $volt_oid, "-Oqv"); - if (!$current) - { - $volt_oid .= ".0"; - $current = snmp_get($device, $volt_oid, "-Oqv"); - } - $current /= 10; - $type = "mge-ups"; - $divisor = 10; - $index = 100+$i; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } -} - -## RFC1628 UPS Voltages -if ($device['os'] == "netmanplus" || $device['os'] == "deltaups") -{ - echo("RFC1628 "); - - $oids = snmp_walk($device, "1.3.6.1.2.1.33.1.2.5", "-Osqn", "UPS-MIB"); - if ($debug) { echo($oids."\n"); } - $oids = trim($oids); - foreach(explode("\n", $oids) as $data) - { - $data = trim($data); - if ($data) - { - list($oid,$descr) = explode(" ", $data,2); - $split_oid = explode('.',$oid); - $volt_id = $split_oid[count($split_oid)-1]; - $volt_oid = "1.3.6.1.2.1.33.1.2.5.$volt_id"; - $divisor = 10; - $volt = snmp_get($device, $volt_oid, "-O vq") / $divisor; - #$volt = trim(shell_exec($config['snmpget'] . " -O qv -$snmpver -c $community $hostname:$port $volt_oid")) / $divisor; - $descr = "Battery" . (count(explode("\n",$oids)) == 1 ? '' : ' ' . ($volt_id+1)); - $type = "rfc1628"; - $index = "1.2.5.".$volt_id; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $volt); - } - } - - $oids = trim(snmp_walk($device, "1.3.6.1.2.1.33.1.4.3.0", "-OsqnU")); - if ($debug) { echo($oids."\n"); } - list($unused,$numPhase) = explode(' ',$oids); - for($i = 1; $i <= $numPhase;$i++) - { - $volt_oid = ".1.3.6.1.2.1.33.1.4.4.1.2.$i"; - $descr = "Output"; if ($numPhase > 1) $descr .= " Phase $i"; - $type = "rfc1628"; - $divisor = 10; if ($device['os'] == "netmanplus") { $divisor = 1; }; - $current = snmp_get($device, $volt_oid, "-Oqv") / $divisor; - $index = $i; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } - - $oids = trim(snmp_walk($device, "1.3.6.1.2.1.33.1.3.2.0", "-OsqnU")); - if ($debug) { echo($oids."\n"); } - list($unused,$numPhase) = explode(' ',$oids); - for($i = 1; $i <= $numPhase;$i++) - { - $volt_oid = "1.3.6.1.2.1.33.1.3.3.1.3.$i"; - $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i"; - $type = "rfc1628"; - $divisor = 10; if ($device['os'] == "netmanplus") { $divisor = 1; }; - $current = snmp_get($device, $volt_oid, "-Oqv") / $divisor; - $index = 100+$i; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } - - $oids = trim(snmp_walk($device, "1.3.6.1.2.1.33.1.5.2.0", "-OsqnU")); - if ($debug) { echo($oids."\n"); } - list($unused,$numPhase) = explode(' ',$oids); - for($i = 1; $i <= $numPhase;$i++) - { - $volt_oid = "1.3.6.1.2.1.33.1.5.3.1.2.$i"; - $descr = "Bypass"; if ($numPhase > 1) $descr .= " Phase $i"; - $type = "rfc1628"; - $divisor = 10; if ($device['os'] == "netmanplus") { $divisor = 1; }; - $current = snmp_get($device, $volt_oid, "-Oqv") / $divisor; - $index = 200+$i; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); - } -} - -if ($device['os'] == "gamatronicups") -{ - for($i = 1; $i <= 3 ;$i++) - { - $volt_oid = "GAMATRONIC-MIB::gamatronicLTD.5.4.1.1.2.$i"; - $descr = "Input Phase $i"; - $volt = snmp_get($device, $volt_oid, "-Oqv"); - $type = "gamatronicups"; - $divisor = 1; - $index = $i; - $lowlimit = 0; - $limit = NULL; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $volt); - } - - for($i = 1; $i <= 3 ;$i++) - { - $volt_oid = "GAMATRONIC-MIB::gamatronicLTD.5.5.1.1.2.$i"; - $descr = "Output Phase $i"; - $volt = snmp_get($device, $volt_oid, "-Oqv"); - $type = "gamatronicups"; - $divisor = 1; - $index = 100+$i; - $lowlimit = 0; - $limit = NULL; - echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $volt); - } - -} +include_dir("includes/discovery/voltages"); if($debug) { print_r($valid['voltage']); } diff --git a/includes/discovery/voltages/apc.inc.php b/includes/discovery/voltages/apc.inc.php new file mode 100644 index 000000000..0418c5a80 --- /dev/null +++ b/includes/discovery/voltages/apc.inc.php @@ -0,0 +1,73 @@ + 1) { $descr .= " $index"; } + echo discover_sensor($valid_sensor, 'voltage', $device, $oid, "4.3.1.3.$index", $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } + } + + $oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.1.3.2.1.0", "-OsqnU", ""); + if ($debug) { echo($oids."\n"); } + if ($oids) + { + echo(" APC In "); + list($oid,$current) = explode(" ",$oids); + $divisor = 1; + $type = "apc"; + $index = "3.2.1.0"; + $descr = "Input"; + echo discover_sensor($valid_sensor, 'voltage', $device, $oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } + + $oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.1.4.2.1.0", "-OsqnU", ""); + if ($debug) { echo($oids."\n"); } + if ($oids) + { + echo(" APC Out "); + list($oid,$current) = explode(" ",$oids); + $divisor = 1; + $type = "apc"; + $index = "4.2.1.0"; + $descr = "Output"; + echo discover_sensor($valid_sensor, 'voltage', $device, $oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } +} +?> diff --git a/includes/discovery/voltages/areca.inc.php b/includes/discovery/voltages/areca.inc.php new file mode 100644 index 000000000..a494bb2e8 --- /dev/null +++ b/includes/discovery/voltages/areca.inc.php @@ -0,0 +1,30 @@ + \ No newline at end of file diff --git a/includes/discovery/voltages/gamatronicups.inc.php b/includes/discovery/voltages/gamatronicups.inc.php new file mode 100644 index 000000000..f5ef8da27 --- /dev/null +++ b/includes/discovery/voltages/gamatronicups.inc.php @@ -0,0 +1,34 @@ + diff --git a/includes/discovery/voltages/linux.inc.php b/includes/discovery/voltages/linux.inc.php new file mode 100644 index 000000000..dcc23ea5e --- /dev/null +++ b/includes/discovery/voltages/linux.inc.php @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/includes/discovery/voltages/mgeups.inc.php b/includes/discovery/voltages/mgeups.inc.php new file mode 100644 index 000000000..67667ebae --- /dev/null +++ b/includes/discovery/voltages/mgeups.inc.php @@ -0,0 +1,48 @@ + 1) $descr .= " Phase $i"; + $current = snmp_get($device, $volt_oid, "-Oqv"); + if (!$current) + { + $volt_oid .= ".0"; + $current = snmp_get($device, $volt_oid, "-Oqv"); + } + $current /= 10; + $type = "mge-ups"; + $divisor = 10; + $index = $i; + echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } + $oids = trim(snmp_walk($device, "1.3.6.1.4.1.705.1.6.1", "-OsqnU")); + if ($debug) { echo($oids."\n"); } + list($unused,$numPhase) = explode(' ',$oids); + for($i = 1; $i <= $numPhase;$i++) + { + $volt_oid = ".1.3.6.1.4.1.705.1.6.2.1.2.$i"; + $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i"; + $current = snmp_get($device, $volt_oid, "-Oqv"); + if (!$current) + { + $volt_oid .= ".0"; + $current = snmp_get($device, $volt_oid, "-Oqv"); + } + $current /= 10; + $type = "mge-ups"; + $divisor = 10; + $index = 100+$i; + echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } +} +?> \ No newline at end of file diff --git a/includes/discovery/voltages/rfc1628.inc.php b/includes/discovery/voltages/rfc1628.inc.php new file mode 100644 index 000000000..e8a1efc9c --- /dev/null +++ b/includes/discovery/voltages/rfc1628.inc.php @@ -0,0 +1,74 @@ + 1) $descr .= " Phase $i"; + $type = "rfc1628"; + $divisor = 10; if ($device['os'] == "netmanplus") { $divisor = 1; }; + $current = snmp_get($device, $volt_oid, "-Oqv") / $divisor; + $index = $i; + echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } + + $oids = trim(snmp_walk($device, "1.3.6.1.2.1.33.1.3.2.0", "-OsqnU")); + if ($debug) { echo($oids."\n"); } + list($unused,$numPhase) = explode(' ',$oids); + for($i = 1; $i <= $numPhase;$i++) + { + $volt_oid = "1.3.6.1.2.1.33.1.3.3.1.3.$i"; + $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i"; + $type = "rfc1628"; + $divisor = 10; if ($device['os'] == "netmanplus") { $divisor = 1; }; + $current = snmp_get($device, $volt_oid, "-Oqv") / $divisor; + $index = 100+$i; + echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } + + $oids = trim(snmp_walk($device, "1.3.6.1.2.1.33.1.5.2.0", "-OsqnU")); + if ($debug) { echo($oids."\n"); } + list($unused,$numPhase) = explode(' ',$oids); + for($i = 1; $i <= $numPhase;$i++) + { + $volt_oid = "1.3.6.1.2.1.33.1.5.3.1.2.$i"; + $descr = "Bypass"; if ($numPhase > 1) $descr .= " Phase $i"; + $type = "rfc1628"; + $divisor = 10; if ($device['os'] == "netmanplus") { $divisor = 1; }; + $current = snmp_get($device, $volt_oid, "-Oqv") / $divisor; + $index = 200+$i; + echo discover_sensor($valid_sensor, 'voltage', $device, $volt_oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current); + } +} +?> \ No newline at end of file diff --git a/includes/discovery/voltages/supermicro.inc.php b/includes/discovery/voltages/supermicro.inc.php new file mode 100644 index 000000000..6e7243f8e --- /dev/null +++ b/includes/discovery/voltages/supermicro.inc.php @@ -0,0 +1,45 @@ + diff --git a/includes/static-config.php b/includes/static-config.php index 6431c8ec5..31db7d96c 100644 --- a/includes/static-config.php +++ b/includes/static-config.php @@ -252,6 +252,10 @@ $os = "gamatronicups"; $config['os'][$os]['text'] = "Gamatronic UPS Stack"; $config['os'][$os]['type'] = "power"; +$os = "powerware"; +$config['os'][$os]['text'] = "Powerware UPS"; +$config['os'][$os]['type'] = "power"; + $os = "deltaups"; $config['os'][$os]['text'] = "Delta UPS"; $config['os'][$os]['type'] = "power"; diff --git a/mibs/XUPS-MIB b/mibs/XUPS-MIB new file mode 100644 index 000000000..b7f3efe09 --- /dev/null +++ b/mibs/XUPS-MIB @@ -0,0 +1,2379 @@ +XUPS-MIB DEFINITIONS ::= BEGIN + +-- Revised February 25, 1993 +-- Revised June 21, 1993 +-- Revised (Variable types of ) August 5, 1993 +-- Revised August 16, 1993 - added units of measure +-- Added Event History to Alarm Group and get/set time/date. +-- Cleanup for final release. 9/3/93 + +-- Release Version 0.91 9/17/93 +-- Release Version 1.00 11/16/93 + +-- Changes for Release Version 2.00 9/7/94 +-- 1) Renamed UPS-MIB to XUPS-MIB and all names from upsVariable +-- to xupsVariable to avoid conflicts with RFC 1628 Standard UPS MIB names +-- 2) Renamed all traps from upsName to xupstName to avoid conflicts with +-- similar alarm names +-- 3) Added well known alarms and traps: +-- BreakerOpen, AlarmEntryAdded, AlarmEntryRemoved +-- 4) Deprecated xupsControlOutputOnTrapDelay +-- 5) Added xupsTrapControl group +-- 6) enumerated the value startTest for xupsTestBattery +-- 7) Defined oid values to use for sysObjectId + +-- Changes for Release Version 2.10 11/1/94 +-- 1) Corrected type of xupsAlarms, xupsAlarmNumEvents (Gauge) +-- 2) Defined three trap sources, which differ in their descriptions +-- of trap variables (none, Defined, defined plus Port N Interface vars) +-- 3) Clarified AlarmEvent order and numbering + +-- Changes for Release Version 2.11 3/30/95 +-- 1) Removed references to version 2.00 MIB files +-- 2) Added range declarations for appropriate objects +-- 3) Added Object IDs for new products + +-- Changes for Release Version 2.20 8/29/96 +-- 1) Corrected upper Integer range from 2147483648 to 2147483647 +-- 2) Added xupsEnvironment group and its objects and alarm xupsAmbientTempBad +-- 3) Added xupsBatteryAbmStatus to monitor Advanced Battery Management status +-- 4) Added well-known alarms from RFC 1628 which weren't previously supported: +-- xupsAlarmBatteryBad, xupsOutputOffAsRequested, xupsDiagnosticTestFailed, +-- xupsCommunicationsLost, xupsUpsShutdownPending, xupsAlarmTestInProgress +-- 5) Added Defined and PortN (but not Basic) type traps for above alarms +-- 6) Added xupsControlToBypassDelay to allow Go To Bypass command. + +-- Changes for Release Version 2.21 5/19/99 +-- Renaming from Exide Electronics to Powerware Corporation + +-- Changes for Release Version 3.00 3-Apr-02 Connectivity Systems Group, +-- Power Systems Division, Invensys +-- 1) Rolled in Receptacle Control extensions from separate file +-- 2) Added Topology group objects +-- 3) Added new var xupsOutputSource, which extends upsOutputSource +-- 4) Added new var xupsAlarmEventMsg to replace the other deprecated xAEEntry vars + +-- Changes for Release Version 3.01 15-Aug-02 Connectivity Systems Group, +-- Powerware, Power Systems Division, Invensys +-- 1) Added new vars xupsConfigLow- and -HighOutputVoltageLimit. + +-- Changes for Release Version 3.02 06-Oct-02 Connectivity Systems Group, +-- Powerware, Power Systems Division, Invensys +-- To support the ConnectUPS Web/SNMP card's ability to monitor an external contact, +-- the following traps were added: +-- 1) Added new trap xupstdContactAlarmActive in xupsTrapDefined +-- 2) Added new trap xupstdContactAlarmInactive in xupsTrapDefined +-- +-- These are added to support the ConnectUPS Web/SNMP card's ability to monitor +-- a single contact closure (firmware and custom cable required) + +-- Changes for Release Version 3.03 05-Feb-03 Connectivity Systems Group, +-- Powerware, Invensys Energy Systems +-- 1) To support the ability to monitor additional external contacts, +-- the var lists of the xupstdContactActiveNotice and +-- xupstdContactInactiveNotice traps were modified. +-- 2) Added new var xupsInputSource +-- 3) Added new vars xupsLoadShedSecsWithRestart and xupsRecepShedSecsWithRestart to +-- provide guaranteed correct load shedding behavior to the management software. +-- 4) Added vars to the Environmental group: xupsEnvAmbientHumidity, +-- xupsEnvRemoteTemp, and xupsEnvRemoteHumidity. +-- 5) Added xupsEnvNumContacts and the Environmental Contact Sensing Table, +-- xupsContactSenseTable. +-- 6) Updated Tech Support telephone numbers listed below. + +-- Changes for Release Version 3.04 30-Apr-03 Connectivity Systems Group, +-- Powerware, Invensys Energy Systems +-- 1) Added new Well-Known Alarm and traps for xupsLossOfRedundancy, +-- xupsAlarmTempBad, xupsAlarmChargerFailed, xupsAlarmFanFailure, +-- xupsAlarmFuseFailure, xupsPowerSwitchBad, xupsModuleFailure, +-- xupsOnAlternatePowerSource, xupsAltPowerNotAvailable, xupsNoticeCondition +-- 2) Added new vars for Min/Max limits for Remote Temp & Humidity +-- 3) Added new W-K Alarms and traps for Min/Max limits for Remote Temp & Humidity + +-- +-- Customer Support: contact Tech Support at +-- +-- Single-Phase Products: 800-356-5737 (US) or 608-565-2100 +-- +-- 3-Phase Products: 800-843-9433 (US) or 919-871-1800 +-- + +IMPORTS + enterprises, IpAddress, TimeTicks, Gauge, Counter +FROM RFC1155-SMI + DisplayString, ifIndex, ifDescr +FROM RFC1213-MIB + OBJECT-TYPE +FROM RFC-1212 + TRAP-TYPE +FROM RFC-1215; + + +-- Note that .534. was originally assigned to Exide Electronics +-- before it was renamed to Invensys Powerware. + +powerware OBJECT IDENTIFIER ::= {enterprises 534} +xups OBJECT IDENTIFIER ::= {powerware 1} + +xupsIdent OBJECT IDENTIFIER ::= { xups 1 } +xupsBattery OBJECT IDENTIFIER ::= { xups 2 } +xupsInput OBJECT IDENTIFIER ::= { xups 3 } +xupsOutput OBJECT IDENTIFIER ::= { xups 4 } +xupsBypass OBJECT IDENTIFIER ::= { xups 5 } +xupsEnvironment OBJECT IDENTIFIER ::= { xups 6 } +xupsAlarm OBJECT IDENTIFIER ::= { xups 7 } +xupsTest OBJECT IDENTIFIER ::= { xups 8 } +xupsControl OBJECT IDENTIFIER ::= { xups 9 } +xupsConfig OBJECT IDENTIFIER ::= { xups 10 } +xupsTrapControl OBJECT IDENTIFIER ::= { xups 11 } +xupsRecep OBJECT IDENTIFIER ::= { xups 12 } +xupsTopology OBJECT IDENTIFIER ::= { xups 13 } + + +-- +-- The following Object Identifiers are used to distinguish Powerware's +-- SNMP agents: +xupsObjectId OBJECT IDENTIFIER ::= {powerware 2} + +powerwareEthernetSnmpAdapter OBJECT IDENTIFIER ::= {xupsObjectId 1} +powerwareNetworkSnmpAdapterEther OBJECT IDENTIFIER ::= {xupsObjectId 2} +powerwareNetworkSnmpAdapterToken OBJECT IDENTIFIER ::= {xupsObjectId 3} +onlinetDaemon OBJECT IDENTIFIER ::= {xupsObjectId 4} +connectUPSAdapterEthernet OBJECT IDENTIFIER ::= {xupsObjectId 5} +powerwareNetworkDigitalIOEther OBJECT IDENTIFIER ::= {xupsObjectId 6} +connectUPSAdapterTokenRing OBJECT IDENTIFIER ::= {xupsObjectId 7} +simpleSnmpAdapter OBJECT IDENTIFIER ::= {xupsObjectId 8} + + +-- +-- xupsIdent group: +-- +xupsIdentManufacturer OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..31)) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The UPS Manufacturer Name (e.g. Powerware Corporation)." + ::= { xupsIdent 1} + +xupsIdentModel OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..63)) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The UPS Model (e.g. Powerware Plus Model 18)." + ::= {xupsIdent 2} + +xupsIdentSoftwareVersion OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..63)) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The firmware revision level(s) of the UPS microcontroller(s)." + ::= {xupsIdent 3} + +xupsIdentOemCode OBJECT-TYPE + SYNTAX INTEGER (0..255) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"A binary code indicating who the UPS was manufactured or labeled for. +0 or 255 indicates Powerware itself." + ::= {xupsIdent 4} + + + +-- +-- xupsBattery group: +-- +xupsBatTimeRemaining OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-only + STATUS mandatory + DESCRIPTION +"Battery run time in seconds before UPS turns off due +to low battery." + ::= { xupsBattery 1} + +xupsBatVoltage OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS Volts DC + ACCESS read-only + STATUS mandatory + DESCRIPTION +"Battery voltage as reported by the UPS meters." + ::= {xupsBattery 2} + +xupsBatCurrent OBJECT-TYPE + SYNTAX INTEGER (-2147483648..2147483647) -- UNITS Amp DC + ACCESS read-only + STATUS mandatory + DESCRIPTION +"Battery Current as reported by the UPS metering. +Current is positive when discharging, negative +when recharging the battery." + ::= {xupsBattery 3} + +xupsBatCapacity OBJECT-TYPE + SYNTAX INTEGER (0..100) -- UNITS percent + ACCESS read-only + STATUS mandatory + DESCRIPTION +"Battery percent charge." + ::= { xupsBattery 4} + +xupsBatteryAbmStatus OBJECT-TYPE + SYNTAX INTEGER { + batteryCharging(1), + batteryDischarging(2), + batteryFloating(3), + batteryResting(4), + unknown(5) +} + ACCESS read-only + STATUS mandatory + DESCRIPTION +"Gives the status of the Advanced Battery Management; +batteryFloating(3) status means that the charger is temporarily +charging the battery to its float voltage; batteryResting(4) is the +state when the battery is fully charged and none of the other actions +(charging/discharging/floating) is being done." + ::= { xupsBattery 5} + +-- +-- xupsInput group: +-- +xupsInputFrequency OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The utility line frequency in tenths of Hz." + ::= {xupsInput 1} + +xupsInputLineBads OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The number of times the Input was out of tolerance +in voltage or frequency." + ::= {xupsInput 2} + +xupsInputNumPhases OBJECT-TYPE + SYNTAX INTEGER (0..6) + ACCESS read-only + STATUS mandatory + ::= {xupsInput 3} + +xupsInputTable OBJECT-TYPE + SYNTAX SEQUENCE OF XupsInputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The Aggregate Object with number of entries equal to + NumPhases and including the xupsInput group." + ::= {xupsInput 4} + +xupsInputEntry OBJECT-TYPE + SYNTAX XupsInputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The input table entry containing the current, + voltage, etc." + INDEX { xupsInputPhase } + ::= { xupsInputTable 1 } + +XupsInputEntry ::= SEQUENCE { + xupsInputPhase +INTEGER, + xupsInputVoltage +INTEGER, + xupsInputCurrent +INTEGER, + xupsInputWatts +INTEGER + } + +xupsInputPhase OBJECT-TYPE + SYNTAX INTEGER (0..6) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The number of the phase. Serves as index for input table." + ::= {xupsInputEntry 1} + +xupsInputVoltage OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured input voltage from the UPS meters in volts." + ::= {xupsInputEntry 2} + +xupsInputCurrent OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Amp + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured input current from the UPS meters in amps." + ::= {xupsInputEntry 3} + +xupsInputWatts OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS Watts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured input real power in watts." + ::= {xupsInputEntry 4} + +xupsInputSource OBJECT-TYPE + SYNTAX INTEGER { + other(1), + none(2), -- For example, Utility failure + primaryUtility(3), -- Normal utility feed to the UPS + bypassFeed(4), -- Bypass utility, separate from primaryUtility + secondaryUtility(5), -- Secondary utility feed (on a dual AC input UPS) + generator(6), -- Power provided by a generator + flywheel(7), -- Power provided by a flywheel (not necessarily AC) + fuelcell(8) -- Power provided by fuel cell(s) (not necessarily AC) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present external source of input power. The enumeration + none(2) indicates that there is no external source of + power, for example, the UPS is On Battery (an internal source). + The bypassFeed(4) can only be used when the Bypass source is known + to be a separate utility feed than the primaryUtility(3)." + ::= { xupsInput 5 } + + + +-- +-- xupsOutput group: +-- +xupsOutputLoad OBJECT-TYPE + SYNTAX INTEGER (0..200) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The UPS output load in percent of rated capacity." + ::= {xupsOutput 1} + +xupsOutputFrequency OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured UPS output frequency in tenths of Hz." + ::= {xupsOutput 2} + +xupsOutputNumPhases OBJECT-TYPE + SYNTAX INTEGER (0..6) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The number of metered output phases, serves as the table +index." + ::= {xupsOutput 3} + +xupsOutputTable OBJECT-TYPE + SYNTAX SEQUENCE OF XupsOutputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION +"The Aggregate Object with number of entries equal to NumPhases +and including the xupsOutput group." + ::= {xupsOutput 4} + +xupsOutputEntry OBJECT-TYPE + SYNTAX XupsOutputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION +"Output Table Entry containing voltage, current, etc." + INDEX { xupsOutputPhase } + + ::= {xupsOutputTable 1} + +XupsOutputEntry ::= SEQUENCE { + xupsOutputPhase + INTEGER, + xupsOutputVoltage + INTEGER, + xupsOutputCurrent + INTEGER, + xupsOutputWatts + INTEGER + } + +xupsOutputPhase OBJECT-TYPE + SYNTAX INTEGER (0..6) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The number {1..3} of the output phase." + ::= {xupsOutputEntry 1} + +xupsOutputVoltage OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured output voltage from the UPS metering in volts." + ::= {xupsOutputEntry 2} + +xupsOutputCurrent OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Amp + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured UPS output current in amps." + ::= {xupsOutputEntry 3} + +xupsOutputWatts OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS Watts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured real output power in watts." + ::= {xupsOutputEntry 4} + +xupsOutputSource OBJECT-TYPE + SYNTAX INTEGER { + other(1), + none(2), + normal(3), -- normal, single UPS module output + bypass(4), + battery(5), + booster(6), -- Single or Double Boost, line-interactive UPSs only + reducer(7), -- Buck, line-interactive UPSs only + parallelCapacity(8), -- normal enhanced by Parallel for Capacity operation + parallelRedundant(9), -- normal enhanced by Redundant Parallel operation + highEfficiencyMode(10) -- normal enhanced by High Efficiency mode + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present source of output power. The enumeration + none(2) indicates that there is no source of output + power (and therefore no output power), for example, + the system has opened the output breaker." + ::= { xupsOutput 5 } + + +-- +-- xupsBypass group: +-- +xupsBypassFrequency OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The bypass frequency in tenths of Hz." + ::= {xupsBypass 1} + +xupsBypassNumPhases OBJECT-TYPE + SYNTAX INTEGER (0..6) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The number of lines in the UPS bypass table." + ::= {xupsBypass 2} + +xupsBypassTable OBJECT-TYPE + SYNTAX SEQUENCE OF XupsBypassEntry + ACCESS not-accessible + STATUS mandatory + ::= {xupsBypass 3} + +xupsBypassEntry OBJECT-TYPE + SYNTAX XupsBypassEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION +"Entry in the XUPS bypass table." + INDEX { xupsBypassPhase } + ::= {xupsBypassTable 1} + +XupsBypassEntry ::= SEQUENCE { + xupsBypassPhase + INTEGER, + xupsBypassVoltage + INTEGER + } + +xupsBypassPhase OBJECT-TYPE + SYNTAX INTEGER (0..6) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The Bypass Phase, index for the table." + ::= {xupsBypassEntry 1} + +xupsBypassVoltage OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The measured UPS bypass voltage in volts." + ::= {xupsBypassEntry 2} + + +-- +-- xupsEnvironment group: +-- + +xupsEnvAmbientTemp OBJECT-TYPE + SYNTAX INTEGER (-100..200) -- UNITS Degrees Centigrade + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The reading of the ambient temperature in the vicinity of the + UPS or SNMP agent." + ::= { xupsEnvironment 1 } + +xupsEnvAmbientLowerLimit OBJECT-TYPE + SYNTAX INTEGER (-100..200) -- UNITS Degrees Centigrade + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The Lower Limit of the ambient temperature; if xupsEnvAmbientTemp +falls below this value, the xupsAmbientTempBad alarm will occur." + ::= { xupsEnvironment 2 } + +xupsEnvAmbientUpperLimit OBJECT-TYPE + SYNTAX INTEGER (-100..200) -- UNITS Degrees Centigrade + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The Upper Limit of the ambient temperature; if xupsEnvAmbientTemp +rises above this value, the xupsAmbientTempBad alarm will occur. +This value should be greater than xupsEnvAmbientLowerLimit." + ::= { xupsEnvironment 3 } + +xupsEnvAmbientHumidity OBJECT-TYPE + SYNTAX INTEGER (0..100) -- UNITS % + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The reading of the ambient humidity in the vicinity of the + UPS or SNMP agent." + ::= { xupsEnvironment 4 } + +xupsEnvRemoteTemp OBJECT-TYPE + SYNTAX INTEGER (-100..200) -- UNITS Degrees Centigrade + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The reading of a remote temperature sensor connected to the + UPS or SNMP agent." + ::= { xupsEnvironment 5 } + +xupsEnvRemoteHumidity OBJECT-TYPE + SYNTAX INTEGER (0..100) -- UNITS % + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The reading of a remote humidity sensor connected to the + UPS or SNMP agent." + ::= { xupsEnvironment 6 } + +-- +-- The Environmental Contact Sensing Table +-- Contains the table for monitoring all contacts (digital +-- inputs). +-- + +xupsEnvNumContacts OBJECT-TYPE + SYNTAX INTEGER (1..1024) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The number of Contacts in the xupsContactSenseTable. +This object indicates the number of rows in the +xupsContactSenseTable." + ::= { xupsEnvironment 7 } + +xupsContactSenseTable OBJECT-TYPE + SYNTAX SEQUENCE OF XupsContactsTableEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of Contact Sensing table entries. +The number of entries is given by the value of +xupsEnvNumContacts." + ::= { xupsEnvironment 8 } + +xupsContactsTableEntry OBJECT-TYPE + SYNTAX XupsContactsTableEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "An entry containing information applicable +to a particular Contact input." + INDEX { xupsContactIndex } + ::= { xupsContactSenseTable 1 } + +XupsContactsTableEntry ::= + SEQUENCE { +xupsContactIndex + INTEGER, + +xupsContactType + INTEGER, + +xupsContactState + INTEGER, + +xupsContactDescr + DisplayString + } + +xupsContactIndex OBJECT-TYPE + SYNTAX INTEGER (1..1024) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The Contact identifier; identical to the Contact Number." + ::= { xupsContactsTableEntry 1 } + +xupsContactType OBJECT-TYPE + SYNTAX INTEGER { + normallyOpen(1), -- or Input Normally High + normallyClosed(2), -- or Input Normally Low + anyChange(3), -- No normal Open/Closed state + notUsed(4) -- Contact not in service + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The normal state for this contact. The 'other' + state is the Active state for generating the xupstdContactActiveNotice + trap. If anyChange(3) is selected, then this trap is sent + any time the contact changes to either Open or Closed. + No traps are sent if the Contact is set to notUsed(4). + In many cases, the configuration for Contacts may be done by other + means, so this object may be read-only." + ::= { xupsContactsTableEntry 2 } + +xupsContactState OBJECT-TYPE + SYNTAX INTEGER { + open(1), + closed(2), + openWithNotice(3), + closedWithNotice(4) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The current state of the Contact input; +the value is based on the open/closed input state +and the setting for xupsContactType. +When entering the openWithNotice(3) and closedWithNotice(4) + states, no entries added to the xupsAlarmTable, but + the xupstdContactActiveNotice trap is sent." + ::= { xupsContactsTableEntry 3 } + +xupsContactDescr OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..63)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A label identifying the Contact. This object should be + set by the administrator." + ::= { xupsContactsTableEntry 4 } + +xupsEnvRemoteTempLowerLimit OBJECT-TYPE + SYNTAX INTEGER (-100..200) -- UNITS Degrees Centigrade + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The Lower Limit of the remote temperature; if xupsEnvRemoteTemp +falls below this value, the xupsRemoteTempBad alarm will occur." + ::= { xupsEnvironment 9 } + +xupsEnvRemoteTempUpperLimit OBJECT-TYPE + SYNTAX INTEGER (-100..200) -- UNITS Degrees Centigrade + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The Upper Limit of the remote temperature; if xupsEnvRemoteTemp +rises above this value, the xupsRemoteTempBad alarm will occur. +This value should be greater than xupsEnvRemoteTempLowerLimit." + ::= { xupsEnvironment 10 } + +xupsEnvRemoteHumidityLowerLimit OBJECT-TYPE + SYNTAX INTEGER (0..100) -- UNITS % + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The Lower Limit of the remote humidity reading; if xupsEnvRemoteHumidity +falls below this value, the xupsRemoteHumidityBad alarm will occur." + ::= { xupsEnvironment 11 } + +xupsEnvRemoteHumidityUpperLimit OBJECT-TYPE + SYNTAX INTEGER (0..100) -- UNITS % + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The Upper Limit of the remote humidity reading; if xupsEnvRemoteHumidity +rises above this value, the xupsRemoteHumidityBad alarm will occur. +This value should be greater than xupsEnvRemoteHumidityLowerLimit." + ::= { xupsEnvironment 12 } + + + +-- +-- xupsAlarm group: +-- +xupsAlarms OBJECT-TYPE + SYNTAX Gauge + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The current number of alarm conditions." + ::= {xupsAlarm 1} + +xupsAlarmTable OBJECT-TYPE + SYNTAX SEQUENCE OF XupsAlarmEntry + ACCESS not-accessible + STATUS mandatory + ::= {xupsAlarm 2} + +xupsAlarmEntry OBJECT-TYPE + SYNTAX XupsAlarmEntry + ACCESS not-accessible + STATUS mandatory + INDEX { xupsAlarmID } + ::= {xupsAlarmTable 1} + +XupsAlarmEntry ::= SEQUENCE { + xupsAlarmID +INTEGER, + xupsAlarmDescr +OBJECT IDENTIFIER, + xupsAlarmTime +TimeTicks + } + +xupsAlarmID OBJECT-TYPE + SYNTAX INTEGER (1..2147483647) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"A unique identifier for an alarm condition." + ::= {xupsAlarmEntry 1} + +xupsAlarmDescr OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + ACCESS read-only + STATUS mandatory + DESCRIPTION +"A reference to an alarm description object. The object +referenced should not be accessible, but rather be used to +provide a unique description of the alarm condition." + ::= {xupsAlarmEntry 2} + +xupsAlarmTime OBJECT-TYPE + SYNTAX TimeTicks + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The value of the MIB-II variable sysUpTime when the alarm +condition occurred." + ::= {xupsAlarmEntry 3} + +-- +-- Well known alarm conditions. +-- +xupsOnBattery OBJECT IDENTIFIER ::= {xupsAlarm 3} +xupsLowBattery OBJECT IDENTIFIER ::= {xupsAlarm 4} +xupsUtilityPowerRestored OBJECT IDENTIFIER ::= {xupsAlarm 5} +xupsReturnFromLowBattery OBJECT IDENTIFIER ::= {xupsAlarm 6} +xupsOutputOverload OBJECT IDENTIFIER ::= {xupsAlarm 7} +xupsInternalFailure OBJECT IDENTIFIER ::= {xupsAlarm 8} +xupsBatteryDischarged OBJECT IDENTIFIER ::= {xupsAlarm 9} +xupsInverterFailure OBJECT IDENTIFIER ::= {xupsAlarm 10} +xupsOnBypass OBJECT IDENTIFIER ::= {xupsAlarm 11} +xupsBypassNotAvailable OBJECT IDENTIFIER ::= {xupsAlarm 12} +xupsOutputOff OBJECT IDENTIFIER ::= {xupsAlarm 13} +xupsInputFailure OBJECT IDENTIFIER ::= {xupsAlarm 14} +xupsBuildingAlarm OBJECT IDENTIFIER ::= {xupsAlarm 15} +xupsShutdownImminent OBJECT IDENTIFIER ::= {xupsAlarm 16} +xupsOnInverter OBJECT IDENTIFIER ::= {xupsAlarm 17} + + +xupsAlarmNumEvents OBJECT-TYPE + SYNTAX Gauge + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The number of entries in the UPS event history queue." + ::= { xupsAlarm 18 } + +xupsAlarmEventTable OBJECT-TYPE + SYNTAX SEQUENCE OF XupsAlarmEventEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION +"A table of the UPS internal event history queue." + ::= { xupsAlarm 19 } + +xupsAlarmEventEntry OBJECT-TYPE + SYNTAX XupsAlarmEventEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION +"One of the entries in the UPS event history queue." + INDEX { xupsAlarmEventID } + ::= { xupsAlarmEventTable 1 } + +-- The first 4 vars in the xAEEntry have been deprecated, since they resulted in +-- a flood of difficult to interpret data. They have been replaced by the single +-- entry, xupsAlarmEventMsg, which gives a human-readable description of the event. +XupsAlarmEventEntry ::= SEQUENCE { + xupsAlarmEventID +INTEGER, + xupsAlarmEventDateAndTime +DisplayString, + xupsAlarmEventKind +INTEGER, + xupsAlarmEventDescr +INTEGER, +xupsAlarmEventMsg +DisplayString + } + +xupsAlarmEventID OBJECT-TYPE + SYNTAX INTEGER (1..400) + ACCESS read-only + STATUS deprecated + DESCRIPTION +"A unique number that reflects the order in which the event +occurred. The oldest event in the queue will be number 1. +Subsequent events will be numbered 2, 3, 4, etc." + ::= { xupsAlarmEventEntry 1 } + +xupsAlarmEventDateAndTime OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..22)) + ACCESS read-only + STATUS deprecated + DESCRIPTION +"The time and date that an event occurred as recorded in the UPS +internal event queue. This string will reflect the time and +date as set in the UPS itself and will not be referenced to +sysUpTime. The format is MM/DD/YYYY:HH:MM:SS. Time is 24 hour standard." + ::= { xupsAlarmEventEntry 2 } + +xupsAlarmEventKind OBJECT-TYPE + SYNTAX INTEGER { + occurred (1), + cleared (2), + unknown (3) + } + ACCESS read-only + STATUS deprecated + DESCRIPTION +"Enumerated value that tells whether the event is an +occurrence of an alarm condition or a clearing of an +alarm condition." + ::= { xupsAlarmEventEntry 3 } + +xupsAlarmEventDescr OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) + ACCESS read-only + STATUS deprecated + DESCRIPTION +"A description of the event stored in the UPS event queue. +This description will be a sixteen bit integer value +representing one of the defined alarms in the Powerware Binary +Computer Mode communication specification; for example, +a value of 0 represents the 'Inverter AC Over Voltage' +alarm (byte 1, bit 0 in the BCM Alarm Map)." + ::= { xupsAlarmEventEntry 4 } + +xupsAlarmEventMsg OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..80)) + ACCESS read-only + STATUS mandatory + DESCRIPTION +"A text string describing each entry in the Event Log. The format of this +text message is free (not fixed) for the operator to read; good contents +would be a time & date stamp, the event type, and a description of the event." + ::= { xupsAlarmEventEntry 5 } + +-- +-- More Well known alarm conditions. +-- +xupsBreakerOpen OBJECT IDENTIFIER ::= {xupsAlarm 20} +xupsAlarmEntryAdded OBJECT IDENTIFIER ::= {xupsAlarm 21} +xupsAlarmEntryRemoved OBJECT IDENTIFIER ::= {xupsAlarm 22} + +-- Same as RFC 1628 Well Known Alarms: +xupsAlarmBatteryBad OBJECT IDENTIFIER ::= {xupsAlarm 23} +xupsOutputOffAsRequested OBJECT IDENTIFIER ::= {xupsAlarm 24} +xupsDiagnosticTestFailed OBJECT IDENTIFIER ::= {xupsAlarm 25} +xupsCommunicationsLost OBJECT IDENTIFIER ::= {xupsAlarm 26} +xupsUpsShutdownPending OBJECT IDENTIFIER ::= {xupsAlarm 27} +xupsAlarmTestInProgress OBJECT IDENTIFIER ::= {xupsAlarm 28} + +-- Alarm for the Ambient Temperature, when outside of lo/hi limits +xupsAmbientTempBad OBJECT IDENTIFIER ::= {xupsAlarm 29} + +-- For Loss of Redundancy in parallel systems +xupsLossOfRedundancy OBJECT IDENTIFIER ::= {xupsAlarm 30} + +-- More Same as RFC 1628 Well Known Alarms: +xupsAlarmTempBad OBJECT IDENTIFIER ::= {xupsAlarm 31} +xupsAlarmChargerFailed OBJECT IDENTIFIER ::= {xupsAlarm 32} +xupsAlarmFanFailure OBJECT IDENTIFIER ::= {xupsAlarm 33} +xupsAlarmFuseFailure OBJECT IDENTIFIER ::= {xupsAlarm 34} + +-- A Relay, Contactor, or Breaker has failed +xupsPowerSwitchBad OBJECT IDENTIFIER ::= {xupsAlarm 35} + +-- One module in a parallel or composite system has failed +xupsModuleFailure OBJECT IDENTIFIER ::= {xupsAlarm 36} + +-- Two Alarms for systems with an Alternate Power Source, such as +-- Secondary utility feed (on a dual AC input UPS), generator, +-- flywheel, or fuelcell. +xupsOnAlternatePowerSource OBJECT IDENTIFIER ::= {xupsAlarm 37} +xupsAltPowerNotAvailable OBJECT IDENTIFIER ::= {xupsAlarm 38} + +-- Some Notice condition exists which is not covered by the other WKA +-- (like an xupsInternalFailure, but at a lower level of urgency) +xupsNoticeCondition OBJECT IDENTIFIER ::= {xupsAlarm 39} + +-- Alarms for the Remote Temperature & Humidity, when outside of lo/hi limits +xupsRemoteTempBad OBJECT IDENTIFIER ::= {xupsAlarm 40} +xupsRemoteHumidityBad OBJECT IDENTIFIER ::= {xupsAlarm 41} + + + +-- +-- xupsTest group: +-- +xupsTestBattery OBJECT-TYPE + SYNTAX INTEGER { startTest (1) } + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Setting this variable to startTest initiates the +battery test. All other set values are invalid." + ::= {xupsTest 1} + +xupsTestBatteryStatus OBJECT-TYPE + SYNTAX INTEGER { + unknown (1), + passed (2), + failed (3), + inProgress (4), + notSupported (5), + inhibited (6), +scheduled (7) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION +"Reading this enumerated value gives an indication of the +UPS Battery test status." + ::= {xupsTest 2} + + +-- +-- xupsControl group: +-- +xupsControlOutputOffDelay OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Setting this value to other than zero will cause the UPS +output to turn off after the number of seconds. +Setting it to 0 will cause an attempt to abort a pending +shutdown." + ::= {xupsControl 1} + +xupsControlOutputOnDelay OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Setting this value to other than zero will cause the UPS +output to turn on after the number of seconds. +Setting it to 0 will cause an attempt to abort a pending +startup." + ::= {xupsControl 2} + +xupsControlOutputOffTrapDelay OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"When xupsControlOutputOffDelay reaches this value, a trap will +be sent." + ::= {xupsControl 3} + +xupsControlOutputOnTrapDelay OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-write + STATUS deprecated + DESCRIPTION +"When xupsControlOutputOnDelay reaches this value, a +xupsOutputOff trap will be sent." + ::= {xupsControl 4} + +xupsControlToBypassDelay OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Setting this value to other than zero will cause the UPS +output to go to Bypass after the number of seconds. +If the Bypass is unavailable, this may cause the UPS +to not supply power to the load. +Setting it to 0 will cause an attempt to abort a pending +shutdown." + ::= {xupsControl 5} + +xupsLoadShedSecsWithRestart OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Setting this value will cause the UPS output to turn off +after the set number of seconds, then restart (after a UPS-defined +'down time') when the utility is again available. +Unlike xupsControlOutputOffDelay, which might or might not, + this object always maps to the XCP 0x8A Load Dump & Restart command, + so the desired shutdown and restart behavior is guaranteed to happen. +Once set, this command cannot be aborted. + This is the preferred Control object to use when performing an On + Battery OS Shutdown." + ::= {xupsControl 6} + +-- +-- xupsConfig group: +-- +xupsConfigOutputVoltage OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The nominal UPS Output voltage per phase in volts." + ::= {xupsConfig 1} + +xupsConfigInputVoltage OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The nominal UPS Input voltage per phase in volts." + ::= {xupsConfig 2} + +xupsConfigOutputWatts OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS Watts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The nominal UPS available real power output in watts." + ::= {xupsConfig 3} + +xupsConfigOutputFreq OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS 0.1 Hertz + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The nominal output frequency in tenths of Hz." + ::= {xupsConfig 4} + +xupsConfigDateAndTime OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..22)) + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Date and time information for the UPS. Setting this variable +will initiate a set UPS date and time to this value. Reading +this variable will return the UPS time and date. This value +is not referenced to sysUpTime. It is simply the clock value +from the UPS real time clock. +Format is as follows: MM/DD/YYYY:HH:MM:SS." + ::= { xupsConfig 5 } + +xupsConfigLowOutputVoltageLimit OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The Lower limit for acceptable Output Voltage, per the UPS +specifications." + ::= {xupsConfig 6} + +xupsConfigHighOutputVoltageLimit OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS RMS Volts + ACCESS read-only + STATUS mandatory + DESCRIPTION +"The Upper limit for acceptable Output Voltage, per the UPS +specifications." + ::= {xupsConfig 7} + + + +-- +-- xupsTrapControl group: +-- +xupsMaxTrapLevel OBJECT-TYPE + SYNTAX INTEGER { + none (1), + critical (2), + major (3), + allTraps (4) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION +"The level of severity of traps which will be sent to the +requesting host; individual trap receivers will have +individual values for this variable. Values are: +(1) none: no traps will be sent to this host; +(2) critical: only traps for Critical alarm conditions will + be sent to this host; +(3) major: Critical and Major traps will be sent; +(4) allTraps: all Traps will be sent to this host + (Critical, Major, Minor, Informational)." + ::= {xupsTrapControl 1} + +xupsSendTrapType OBJECT-TYPE + SYNTAX INTEGER { + stnd (1), + xups (2), + stndPlus (3), + xupsPlus (4) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION +"The type of traps which will be sent to the +requesting host; individual trap receivers will have +individual values for this variable. The additional +variables in types (3) and (4) are useful for determining +which UPS is the source on multi-port network adapters, +and for getting additional descriptive information. +Types (1) through (4) are all SNMP version 1 trap PDUs. +Values are: +(1) stnd: Traps as defined in the Standard UPS MIB (RFC1628) + and Generic (MIB II) traps as defined in RFC 1215. +(2) xups: xupsTrapDefined Traps as defined in the PowerMIB + and Generic (MIB II) traps as defined in RFC 1215. +(3) stndPlus: same as stnd plus variables from the interface + group and, where appropriate, xupsTrapMessage. +(4) xupsPlus: xupsTrapPortN Traps (same as xups plus + variables from the interface group) and, + for authFail, xupsTrapMessage." + ::= {xupsTrapControl 2} + +xupsTrapMessage OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..79)) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION +"A descriptive message which may be sent with traps to +further explain the reason for the trap." + ::= {xupsTrapControl 3} + + + +-- +-- xupsRecep group: +-- +-- (Note that the terms Receptacle, Outlet, and Load Group are used interchangeably +-- here and all mean "one of a set of controllable, power-switched outputs") +-- +xupsNumReceptacles OBJECT-TYPE +SYNTAX INTEGER (0..64) +ACCESS read-only +STATUS mandatory + DESCRIPTION +"The number of independently controllable Receptacles, as described in the +xupsRecepTable." +::= {xupsRecep 1} + +xupsRecepTable OBJECT-TYPE +SYNTAX SEQUENCE OF XupsRecepEntry +ACCESS not-accessible +STATUS mandatory +DESCRIPTION "The Aggregate Object with number of entries equal to + NumReceptacles and including the xupsRecep group." +::={xupsRecep 2} + +xupsRecepEntry OBJECT-TYPE +SYNTAX XupsRecepEntry +ACCESS not-accessible +STATUS mandatory +DESCRIPTION "The Recep table entry, etc." +INDEX { xupsRecepIndex } +::= { xupsRecepTable 1 } + +XupsRecepEntry ::= SEQUENCE { +xupsRecepIndex +INTEGER, +xupsRecepStatus +INTEGER, +xupsRecepOffDelaySecs +INTEGER, +xupsRecepOnDelaySecs +INTEGER, +xupsRecepAutoOffDelay + INTEGER, +xupsRecepAutoOnDelay + INTEGER, + xupsRecepShedSecsWithRestart + INTEGER +} + +xupsRecepIndex OBJECT-TYPE +SYNTAX INTEGER (1..64) +ACCESS read-only +STATUS mandatory +DESCRIPTION +"The number of the Receptacle. Serves as index for Receptacle table." +::= {xupsRecepEntry 1} + + +xupsRecepStatus OBJECT-TYPE + SYNTAX INTEGER { +on(1), off(2), pendingOff(3), pendingOn(4), unknown(5) } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The Recep Status 1=On/Close, 2=Off/Open, 3=On w/Pending Off, + 4=Off w/Pending ON, 5=Unknown." +::={xupsRecepEntry 2} + + +xupsRecepOffDelaySecs OBJECT-TYPE + SYNTAX INTEGER (-1..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"The Delay until the Receptacle is turned Off. Setting +this value to other than -1 will cause the UPS output to +turn off after the number of seconds (0 is immediately). +Setting it to -1 will cause an attempt to abort a pending shutdown. +When this object is set while the UPS is On Battery, it is not necessary +to set xupsRecepOnDelaySecs, since the outlet will turn back on +automatically when power is available again." +::= {xupsRecepEntry 3} + +xupsRecepOnDelaySecs OBJECT-TYPE + SYNTAX INTEGER (-1..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +" The Delay until the Receptacle is turned On. Setting +this value to other than -1 will cause the UPS output to +turn on after the number of seconds (0 is immediately). +Setting it to -1 will cause an attempt to abort a pending restart." +::={xupsRecepEntry 4} + + +xupsRecepAutoOffDelay OBJECT-TYPE + SYNTAX INTEGER (-1..32767) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"The delay after going On Battery until the Receptacle is +automatically turned Off. A value of -1 means that this Output should +never be turned Off automatically, but must be turned Off only by command. +Values from 0 to 30 are valid, but probably innappropriate. +The AutoOffDelay can be used to prioritize loads in the event of a prolonged +power outage; less critical loads will turn off earlier to extend battery +time for the more critical loads. If the utility power is restored before the +AutoOff delay counts down to 0 on an outlet, that outlet will not turn Off." +::= {xupsRecepEntry 5} + +xupsRecepAutoOnDelay OBJECT-TYPE + SYNTAX INTEGER (-1..32767) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Seconds delay after the Outlet is signaled to turn On before the Output is +Automatically turned ON. A value of -1 means that this Output should never +be turned On automatically, but only when specifically commanded to do so. +A value of 0 means that the Receptacle should come On immediately +at power-up or for an On command." +::= {xupsRecepEntry 6} + +-- xupsRecepAutoOnDelay has three purposes: +-- 1. To coordinate the automatic startup of various outlets, when the normal +-- auto-sequencing of 1 second per outlet is not adequate. For example, they may +-- be used to power up hard disk arrays before CPU units are started. +-- 2. To force additional 'Down Time' during xupsRecepOffDelaySecs commands, for +-- equipment to be reset, when the standard 'Down Time' is not long enough. +-- 3. For the -1 value, to ensure that loads wont be powered until commanded, +-- following power-up or a xupsRecepOffDelaySecs command. + +xupsRecepShedSecsWithRestart OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) -- UNITS seconds + ACCESS read-write + STATUS mandatory + DESCRIPTION +"Setting this value will cause the UPS output to turn off +after the set number of seconds, then restart (after a UPS-defined +'down time') when the utility is again available. +Unlike xupsRecepOffDelaySecs, which might or might not, + this object always maps to the XCP 0x8A Load Dump & Restart command, + so the desired shutdown and restart behavior is guaranteed to happen. +Once set, this command cannot be aborted." + ::= {xupsRecepEntry 7} + +-- +-- xupsTopology group: +-- +xupsTopologyType OBJECT-TYPE +SYNTAX INTEGER (0..32767) +ACCESS read-only +STATUS mandatory + DESCRIPTION +"Value which denotes the type of UPS by its power topology. Values are the +same as those described in the XCP Topology block's Overall Topology field." +::= {xupsTopology 1} + +xupsTopoMachineCode OBJECT-TYPE +SYNTAX INTEGER (0..32767) +ACCESS read-only +STATUS mandatory + DESCRIPTION +"ID Value which denotes the Powerware model of the UPS for software. Values +are the same as those described in the XCP Configuration block's Machine Code +field." +::= {xupsTopology 2} + +xupsTopoUnitNumber OBJECT-TYPE +SYNTAX INTEGER (0..64) +ACCESS read-only +STATUS mandatory + DESCRIPTION +"Identifies which unit and what type of data is being reported. +A value of 0 means that this MIB information comes from the top-level system +view (eg, manifold module or system bypass cabinet reporting total system +output). Standalone units also use a value of 0, since they are the 'full +system' view. +A value of 1 or higher indicates the number of the module in the system +which is reporting only its own data in the PowerMIB objects." +::= {xupsTopology 3} + +xupsTopoPowerStrategy OBJECT-TYPE + SYNTAX INTEGER { +highAlert(1), standard(2), enableHighEfficiency(3), +immediateHighEfficiency(4) } +ACCESS read-write +STATUS mandatory + DESCRIPTION +"Value which denotes which Power Strategy is currently set for the UPS. +The values are: +highAlert(1) - The UPS shall optimize its operating state to maximize its +power-protection levels. This mode will be held for at most 24 hours. +standard(2) - Balanced, normal power protection strategy. UPS will not enter +HE operating mode from this setting. +enableHighEfficiency(3) - The UPS is enabled to enter HE operating mode to +optimize its operating state to maximize its efficiency, when +conditions change to permit it (as determined by the UPS). +forceHighEfficiency(4) - If this value is permitted to be Set for this UPS, +and if conditions permit, requires the UPS to enter High Efficiency +mode now, without delay (for as long as utility conditions permit). +After successfully set to forceHighEfficiency(4), +xupsTopoPowerStrategy changes to value enableHighEfficiency(3). +xupsOutputSource will indicate if the UPS status is actually operating in +High Efficiency mode." +::= {xupsTopology 4} + +-- ************************************************************************* +-- ************************************************************************* + +-- +-- Traps (xupst) +-- +-- 1) Powerware's traps are defined in this MIB for three different sources: +-- a) Basic Agents for which the trap variables have not been defined, +-- though trap variables are included with the trap PDU +-- b) Agents with exactly Defined trap variables, which may be +-- used as input to trap response macros on management stations +-- c) Agents with Defined traps including ifIndex and ifDescr, +-- which can be used to determine which UPS of a multi-port +-- agent (eg, Powerware Network SNMP Adapter) sent the trap +-- The trap definitions for the three sources are very similar, +-- and use the same alarms as their triggers; their names are prefaced +-- by xupstb, xupstd, and xupstp to distinguish the three types +-- +-- 2) Trap Severity Level is given as a comment to indicate which +-- xupsMaxTrapLevel will result in this trap being sent; levels +-- are (in order): Critical, Major, Minor, Informational +-- +-- 3) The following Object Identifiers are used to distinguish Powerware's +-- Trap sources: +-- a) The first is for traps without defined trap variables +xupsNull OBJECT IDENTIFIER ::= { xups 0 } +xupsTrapBasic OBJECT IDENTIFIER ::= { xupsNull 0 } +-- b) The second is for traps with defined variables, +-- without ifIndex & ifDescr +xupsTrapSource OBJECT IDENTIFIER ::= {xupsTrapControl 4} +xupsTrapDefined OBJECT IDENTIFIER ::= {xupsTrapSource 1} +-- c) The third is for traps with defined variables +-- plus ifIndex & ifDescr +xupsTrapPortN OBJECT IDENTIFIER ::= {xupsTrapSource 2} + + +-- **************************************************************************** +-- **************************************************************************** +-- +-- Traps from xupsTrapBasic source (xupstb): +-- +xupstbControlOff TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The UPS output power will turn off in a number of +seconds equal to upsControlOutputOffTrapDelay." + --#SEVERITY CRITICAL + ::= 1 + +xupstbControlOn TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The UPS output power will turn on in a number of +seconds equal to upsControlOutputOnTrapDelay." + --#SEVERITY INFORMATIONAL + ::= 2 + +xupstbOnBattery TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The UPS has no AC input power and is running on +battery." + --#SEVERITY MAJOR + ::= 3 + +xupstbLowBattery TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The UPS batteries are low. Tied to low battery +alarm condition." + --#SEVERITY CRITICAL + ::= 4 + +xupstbUtilityPowerRestored TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"Input power has been restored after running on battery." + --#SEVERITY INFORMATIONAL + ::= 5 + +xupstbReturnFromLowBattery TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The battery has recovered from a low battery condition." + --#SEVERITY INFORMATIONAL + ::= 6 + +xupstbOutputOverload TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups has sensed an overload of greater than +106 percent. Tied to the 106% overload alarm." + --#SEVERITY MINOR + ::= 7 + +xupstbInternalFailure TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"Some component of the ups - rectifier, inverter, +control panel has failed. Tied to alarms indicating failure." + --#SEVERITY CRITICAL + ::= 8 + +xupstbBatteryDischarged TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The Battery Totally Discharged Alarm has occurred." + --#SEVERITY CRITICAL + ::= 9 + +xupstbInverterFailure TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups inverter is unavailable due to an internal failure." + --#SEVERITY CRITICAL + ::= 10 + +xupstbOnBypass TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups has gone on bypass for some reason." + --#SEVERITY CRITICAL + ::= 11 + +xupstbBypassNotAvailable TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups bypass is unavailable" + --#SEVERITY MAJOR + ::= 12 + +xupstbOutputOff TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups output is switched off." + --#SEVERITY CRITICAL + ::= 13 + +xupstbInputFailure TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups input power is incorrect in voltage, +frequency, or phase rotation." + --#SEVERITY MINOR + ::= 14 + +xupstbBuildingAlarm TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"One of the defined building alarms has occurred." + --#SEVERITY MAJOR + ::= 15 + +xupstbShutdownImminent TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups shutdown imminent alarm has occurred." + --#SEVERITY CRITICAL + ::= 16 + +xupstbOnInverter TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"The ups is returned to utility power running the inverter +after either a transfer to bypass or a run on battery." + --#SEVERITY INFORMATIONAL + ::= 17 + +xupstbBreakerOpen TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"One of the UPS breakers or contactors has been opened." + --#SEVERITY MAJOR + ::= 20 + +xupstbAlarmEntryAdded TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"An alarm not defined in the xups Well Known Alarms +(eg, an alarm defined in RFC1628) +has been added to the Alarm Table." + --#SEVERITY MAJOR + ::= 21 + +xupstbAlarmEntryRemoved TRAP-TYPE + ENTERPRISE xupsTrapBasic + DESCRIPTION +"An alarm not defined in the xups Well Known Alarms +has been removed from the Alarm Table." + --#SEVERITY INFORMATIONAL + ::= 22 + + +-- The following alarms do not have equivalents as Basic Traps +-- xupstbAlarmBatteryBad ::= 23 +-- xupstbOutputOffAsRequested ::= 24 +-- xupstbDiagnosticTestFailed ::= 25 +-- xupstbCommunicationsLost ::= 26 +-- xupstbUpsShutdownPending ::= 27 +-- xupstbAlarmTestInProgress ::= 28 +-- xupstbAmbientTempBad ::= 29 +-- xupstbContactActiveNotice ::= 30 +-- xupstbContactInactiveNotice ::= 31 +-- xupstbLossOfRedundancy ::= 32 +-- xupstbAlarmTempBad ::= 33 +-- xupstbAlarmChargerFailed ::= 34 +-- xupstbAlarmFanFailure ::= 35 +-- xupstbAlarmFuseFailure ::= 36 +-- xupstbPowerSwitchBad ::= 37 +-- xupstbModuleFailure ::= 38 +-- xupstbOnAlternatePowerSource ::= 39 +-- xupstbAltPowerNotAvailable ::= 40 +-- xupstbNoticeCondition ::= 41 +-- xupstbRemoteTempBad ::= 42 +-- xupstbRemoteHumidityBad ::= 43 + + +-- **************************************************************************** +-- **************************************************************************** +-- +-- Traps from xupsTrapDefined source (xupstd): +-- + +xupstdControlOff TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The UPS output power will turn off in a number of +seconds equal to upsControlOutputOffTrapDelay." + --#SEVERITY CRITICAL + ::= 1 + +xupstdControlOn TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The UPS output power will turn on in a number of +seconds equal to upsControlOutputOnTrapDelay." + --#SEVERITY INFORMATIONAL + ::= 2 + +xupstdOnBattery TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The UPS has no AC input power and is running on +battery." + --#SEVERITY MAJOR + ::= 3 + +xupstdLowBattery TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The UPS batteries are low. Tied to low battery +alarm condition." + --#SEVERITY CRITICAL + ::= 4 + +xupstdUtilityPowerRestored TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"Input power has been restored after running on battery." + --#SEVERITY INFORMATIONAL + ::= 5 + +xupstdReturnFromLowBattery TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The battery has recovered from a low battery condition." + --#SEVERITY INFORMATIONAL + ::= 6 + +xupstdOutputOverload TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups has sensed an overload of greater than +106 percent. Tied to the 106% overload alarm." + --#SEVERITY MINOR + ::= 7 + +xupstdInternalFailure TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"Some component of the ups - rectifier, inverter, +control panel has failed. Tied to alarms indi- +cating failure." + --#SEVERITY CRITICAL + ::= 8 + +xupstdBatteryDischarged TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The Battery Totally Discharged Alarm has occurred." + --#SEVERITY CRITICAL + ::= 9 + +xupstdInverterFailure TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups inverter is unavailable due to an internal failure." + --#SEVERITY CRITICAL + ::= 10 + +xupstdOnBypass TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups has gone on bypass for some reason." + --#SEVERITY CRITICAL + ::= 11 + +xupstdBypassNotAvailable TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups bypass is unavailable" + --#SEVERITY MAJOR + ::= 12 + +xupstdOutputOff TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups output is switched off." + --#SEVERITY CRITICAL + ::= 13 + +xupstdInputFailure TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups input power is incorrect in voltage, +frequency, or phase rotation." + --#SEVERITY MINOR + ::= 14 + +xupstdBuildingAlarm TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"One of the defined building alarms has occurred." + --#SEVERITY MAJOR + ::= 15 + +xupstdShutdownImminent TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups shutdown imminent alarm has occurred." + --#SEVERITY CRITICAL + ::= 16 + +xupstdOnInverter TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The ups is returned to utility power running the inverter +after either a transfer to bypass or a run on battery." + --#SEVERITY INFORMATIONAL + ::= 17 + +xupstdBreakerOpen TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"One of the UPS breakers or contactors has been opened." + --#SEVERITY MAJOR + ::= 20 + +xupstdAlarmEntryAdded TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"An alarm not defined in the xups Well Known Alarms +(eg, an alarm defined in RFC1628) +has been added to the Alarm Table." + --#SEVERITY MAJOR + ::= 21 + +xupstdAlarmEntryRemoved TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"An alarm not defined in the xups Well Known Alarms +has been removed from the Alarm Table." + --#SEVERITY INFORMATIONAL + ::= 22 + +xupstdAlarmBatteryBad TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"One or more batteries have been determined to require replacement." + --#SEVERITY MAJOR + ::= 23 + +xupstdOutputOffAsRequested TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The UPS has shutdown as requested, i.e., the output is off." + --#SEVERITY INFORMATIONAL + ::= 24 + +xupstdDiagnosticTestFailed TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The result of the last diagnostic test indicates a failure." + --#SEVERITY MINOR + ::= 25 + +xupstdCommunicationsLost TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"A problem has been encountered in the communications +between the agent and the UPS." + --#SEVERITY MAJOR + ::= 26 + +xupstdUpsShutdownPending TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"An xupsControlOutputOffDelay countdown is underway." + --#SEVERITY MAJOR + ::= 27 + +xupstdAlarmTestInProgress TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"A test is in progress, as initiated and indicated by the +Battery Test Group." + --#SEVERITY INFORMATIONAL + ::= 28 + +-- Provide additional information with the AmbientTemp trap +xupstdAmbientTempBad TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + xupsEnvAmbientTemp, xupsEnvAmbientLowerLimit, + xupsEnvAmbientUpperLimit } + DESCRIPTION + "The ambient temperature, xupsEnvAmbientTemp, has fallen below +the set lower limit, xupsEnvAmbientLowerLimit, or has risen above +the set upper limit, xupsEnvAmbientUpperLimit." + --#SEVERITY MAJOR + ::= 29 + +-- Added to support the ConnectUPS Web/SNMP card's ability to monitor contact(s) +xupstdContactActiveNotice TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsContactIndex, xupsContactType, xupsContactState, xupsContactDescr } + DESCRIPTION +"The Contact indicated by xupsContactIndex is in its Active state. + The following are the situations that generate this trap: + For xupsContactType: and xupsContactState: + normallyOpen(1) and closedWithNotice(4) + normallyClosed(2) and openWithNotice(3) + anyChange(3) and openWithNotice(3) or closedWithNotice(4)" + --#SEVERITY MAJOR + ::= 30 + +xupstdContactInactiveNotice TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsContactIndex, xupsContactType, xupsContactState, xupsContactDescr } + DESCRIPTION +"The Contact indicated by xupsContactIndex has changed to its Inactive state." + --#SEVERITY INFORMATIONAL + ::= 31 + +xupstdLossOfRedundancy TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"A parallel UPS system is no longer operating in N+1 redundant mode; + this may be due to module failure or removal, or due to overloading." + --#SEVERITY MINOR + ::= 32 + +xupstdAlarmTempBad TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"An internal temperature is out of tolerance." + --#SEVERITY MAJOR + ::= 33 + +xupstdAlarmChargerFailed TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"An uncorrected problem has been detected within the UPS charger subsystem." + --#SEVERITY MAJOR + ::= 34 + +xupstdAlarmFanFailure TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The failure of one or more fans in the UPS has been detected." + --#SEVERITY MAJOR + ::= 35 + +xupstdAlarmFuseFailure TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"The failure of one or more fuses has been detected." + --#SEVERITY CRITICAL + ::= 36 + +xupstdPowerSwitchBad TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"A Relay, Contactor, or Breaker has failed." + --#SEVERITY CRITICAL + ::= 37 + +xupstdModuleFailure TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"One module in a parallel or composite system has failed." + --#SEVERITY MAJOR + ::= 38 + +-- Adds xupsInputSource to its var list +xupstdOnAlternatePowerSource TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, xupsInputSource } + DESCRIPTION +"The system is being powered by its Alternate Power Source, such as a +Secondary utility feed (on a dual AC input UPS), generator, flywheel, +or fuelcell." + --#SEVERITY MINOR + ::= 39 + +xupstdAltPowerNotAvailable TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"On systems with a separate alternate power source (eg, dual AC inputs), +that alternate power source is currently not available. This could be +a problem if the primary power source (eg, utility) fails for a period +of time longer than that for which the internal batteries can supply power." + --#SEVERITY MINOR + ::= 40 + +xupstdNoticeCondition TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage } + DESCRIPTION +"Some Notice condition exists which is not covered by the other traps. +This is like an xupstdInternalFailure, but at a lower severity level." + --#SEVERITY MINOR + ::= 41 + + +-- Provide additional information with the RemoteTemp and RemoteHumidity traps +xupstdRemoteTempBad TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + xupsEnvRemoteTemp, xupsEnvRemoteTempLowerLimit, + xupsEnvRemoteTempUpperLimit } + DESCRIPTION + "The remote temperature, xupsEnvRemoteTemp, has fallen below +the set lower limit, xupsEnvRemoteTempLowerLimit, or has risen above +the set upper limit, xupsEnvRemoteTempUpperLimit." + --#SEVERITY MAJOR + ::= 42 + +xupstdRemoteHumidityBad TRAP-TYPE + ENTERPRISE xupsTrapDefined + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + xupsEnvRemoteHumidity, xupsEnvRemoteHumidityLowerLimit, + xupsEnvRemoteHumidityUpperLimit } + DESCRIPTION + "The remote temperature, xupsEnvRemoteHumidity, has fallen below +the set lower limit, xupsEnvRemoteHumidityLowerLimit, or has risen above +the set upper limit, xupsEnvRemoteHumidityUpperLimit." + --#SEVERITY MINOR + ::= 43 + + + +-- **************************************************************************** +-- **************************************************************************** +-- +-- Traps from xupsTrapPortN source (xupstp): +-- + +xupstpControlOff TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The UPS output power will turn off in a number of +seconds equal to upsControlOutputOffTrapDelay." + --#SEVERITY CRITICAL + ::= 1 + +xupstpControlOn TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The UPS output power will turn on in a number of +seconds equal to upsControlOutputOnTrapDelay." + --#SEVERITY INFORMATIONAL + ::= 2 + +xupstpOnBattery TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The UPS has no AC input power and is running on +battery." + --#SEVERITY MAJOR + ::= 3 + +xupstpLowBattery TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The UPS batteries are low. Tied to low battery +alarm condition." + --#SEVERITY CRITICAL + ::= 4 + +xupstpUtilityPowerRestored TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"Input power has been restored after running on battery." + --#SEVERITY INFORMATIONAL + ::= 5 + +xupstpReturnFromLowBattery TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The battery has recovered from a low battery condition." + --#SEVERITY INFORMATIONAL + ::= 6 + +xupstpOutputOverload TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups has sensed an overload of greater than +106 percent. Tied to the 106% overload alarm." + --#SEVERITY MINOR + ::= 7 + +xupstpInternalFailure TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"Some component of the ups - rectifier, inverter, +control panel has failed. Tied to alarms indi- +cating failure." + --#SEVERITY CRITICAL + ::= 8 + +xupstpBatteryDischarged TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The Battery Totally Discharged Alarm has occurred." + --#SEVERITY CRITICAL + ::= 9 + +xupstpInverterFailure TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups inverter is unavailable due to an internal failure." + --#SEVERITY CRITICAL + ::= 10 + +xupstpOnBypass TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups has gone on bypass for some reason." + --#SEVERITY CRITICAL + ::= 11 + +xupstpBypassNotAvailable TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups bypass is unavailable" + --#SEVERITY MAJOR + ::= 12 + +xupstpOutputOff TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups output is switched off." + --#SEVERITY CRITICAL + ::= 13 + +xupstpInputFailure TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups input power is incorrect in voltage, +frequency, or phase rotation." + --#SEVERITY MINOR + ::= 14 + +xupstpBuildingAlarm TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"One of the defined building alarms has occurred." + --#SEVERITY MAJOR + ::= 15 + +xupstpShutdownImminent TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups shutdown imminent alarm has occurred." + --#SEVERITY CRITICAL + ::= 16 + +xupstpOnInverter TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The ups is returned to utility power running the inverter +after either a transfer to bypass or a run on battery." + --#SEVERITY INFORMATIONAL + ::= 17 + +xupstpBreakerOpen TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"One of the UPS breakers or contactors has been opened." + --#SEVERITY MAJOR + ::= 20 + +xupstpAlarmEntryAdded TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"An alarm not defined in the xups Well Known Alarms +(eg, an alarm defined in RFC1628) +has been added to the Alarm Table." + --#SEVERITY MAJOR + ::= 21 + +xupstpAlarmEntryRemoved TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"An alarm not defined in the xups Well Known Alarms +has been removed from the Alarm Table." + --#SEVERITY INFORMATIONAL + ::= 22 + +xupstpAlarmBatteryBad TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"One or more batteries have been determined to require replacement." + --#SEVERITY MAJOR + ::= 23 + +xupstpOutputOffAsRequested TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The UPS has shutdown as requested, i.e., the output is off." + --#SEVERITY INFORMATIONAL + ::= 24 + +xupstpDiagnosticTestFailed TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"The result of the last diagnostic test indicates a failure." + --#SEVERITY MINOR + ::= 25 + +xupstpCommunicationsLost TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"A problem has been encountered in the communications +between the agent and the UPS." + --#SEVERITY MAJOR + ::= 26 + +xupstpUpsShutdownPending TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"An xupsControlOutputOffDelay countdown is underway." + --#SEVERITY MAJOR + ::= 27 + +xupstpAlarmTestInProgress TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr } + DESCRIPTION +"A test is in progress, as initiated and indicated by the +Battery Test Group." + --#SEVERITY INFORMATIONAL + ::= 28 + +-- Provide additional information with the AmbientTemp trap +xupstpAmbientTempBad TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr, + xupsEnvAmbientTemp, xupsEnvAmbientLowerLimit, + xupsEnvAmbientUpperLimit } + DESCRIPTION + "The ambient temperature, xupsEnvAmbientTemp, has fallen below +the set lower limit, xupsEnvAmbientLowerLimit, or has risen above +the set upper limit, xupsEnvAmbientUpperLimit." + --#SEVERITY MAJOR + ::= 29 + +-- The following alarms do not have equivalents as PortN Traps +-- xupstdContactActiveNotice ::= 30 +-- xupstdContactInactiveNotice ::= 31 + +xupstpLossOfRedundancy TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"A parallel UPS system is no longer operating in N+1 redundant mode; + this may be due to module failure or removal, or due to overloading." + --#SEVERITY MINOR + ::= 32 + + +xupstpAlarmTempBad TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"An internal temperature is out of tolerance." + --#SEVERITY MAJOR + ::= 33 + +xupstpAlarmChargerFailed TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"An uncorrected problem has been detected within the UPS charger subsystem." + --#SEVERITY MAJOR + ::= 34 + +xupstpAlarmFanFailure TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"The failure of one or more fans in the UPS has been detected." + --#SEVERITY MAJOR + ::= 35 + +xupstpAlarmFuseFailure TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"The failure of one or more fuses has been detected." + --#SEVERITY CRITICAL + ::= 36 + +xupstpPowerSwitchBad TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"A Relay, Contactor, or Breaker has failed." + --#SEVERITY CRITICAL + ::= 37 + +xupstpModuleFailure TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"One module in a parallel or composite system has failed." + --#SEVERITY MAJOR + ::= 38 + +xupstpOnAlternatePowerSource TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, xupsInputSource, + ifIndex, ifDescr } + DESCRIPTION +"The system is being powered by its Alternate Power Source, such as a +Secondary utility feed (on a dual AC input UPS), generator, flywheel, +or fuelcell." + --#SEVERITY MINOR + ::= 39 + +xupstpAltPowerNotAvailable TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"On systems with a separate alternate power source (eg, dual AC inputs), +that alternate power source is currently not available. This could be +a problem if the primary power source (eg, utility) fails for a period +of time longer than that for which the internal batteries can supply power." + --#SEVERITY MINOR + ::= 40 + +xupstpNoticeCondition TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, ifIndex, ifDescr } + DESCRIPTION +"Some Notice condition exists which is not covered by the other traps. +This is like an xupstpInternalFailure, but at a lower severity level." + --#SEVERITY MINOR + ::= 41 + + +-- Provide additional information with the RemoteTemp and RemoteHumidity traps +xupstpRemoteTempBad TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr, + xupsEnvRemoteTemp, xupsEnvRemoteTempLowerLimit, + xupsEnvRemoteTempUpperLimit } + DESCRIPTION + "The remote temperature, xupsEnvRemoteTemp, has fallen below +the set lower limit, xupsEnvRemoteTempLowerLimit, or has risen above +the set upper limit, xupsEnvRemoteTempUpperLimit." + --#SEVERITY MAJOR + ::= 42 + +xupstpRemoteHumidityBad TRAP-TYPE + ENTERPRISE xupsTrapPortN + VARIABLES { xupsAlarmID, xupsAlarmDescr, xupsTrapMessage, + ifIndex, ifDescr, + xupsEnvRemoteHumidity, xupsEnvRemoteHumidityLowerLimit, + xupsEnvRemoteHumidityUpperLimit } + DESCRIPTION + "The remote temperature, xupsEnvRemoteHumidity, has fallen below +the set lower limit, xupsEnvRemoteHumidityLowerLimit, or has risen above +the set upper limit, xupsEnvRemoteHumidityUpperLimit." + --#SEVERITY MINOR + ::= 43 + + + END