diff --git a/html/includes/graphs/device_frequencies.inc.php b/html/includes/graphs/device_frequencies.inc.php
new file mode 100644
index 000000000..7fe7f46bc
--- /dev/null
+++ b/html/includes/graphs/device_frequencies.inc.php
@@ -0,0 +1,56 @@
+
diff --git a/html/includes/graphs/frequency.inc.php b/html/includes/graphs/frequency.inc.php
new file mode 100644
index 000000000..87e081219
--- /dev/null
+++ b/html/includes/graphs/frequency.inc.php
@@ -0,0 +1,23 @@
+
diff --git a/html/pages/health/frequencies.inc.php b/html/pages/health/frequencies.inc.php
new file mode 100644
index 000000000..84e5741e1
--- /dev/null
+++ b/html/pages/health/frequencies.inc.php
@@ -0,0 +1,61 @@
+= '5') {
+ $sql = "SELECT * FROM `frequency` AS V, `devices` AS D WHERE V.device_id = D.device_id ORDER BY D.hostname, V.freq_descr";
+} else {
+ $sql = "SELECT * FROM `frequency` AS V, `devices` AS D, devices_perms as P WHERE V.device_id = D.device_id AND D.device_id = P.device_id AND P.user_id = '" . $_SESSION['user_id'] . "' ORDER BY D.hostname, V.freq_descr";
+}
+
+$query = mysql_query($sql);
+
+echo('
');
+
+echo('
+ | Device |
+ Sensor |
+ |
+ |
+ Current |
+ Range limit |
+ Notes |
+
');
+
+$row = 1;
+
+while($freq = mysql_fetch_array($query))
+{
+ if(is_integer($row/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; }
+
+ $weekly_freq = "graph.php?id=" . $freq['freq_id'] . "&type=frequency&from=$week&to=$now&width=500&height=150";
+ $freq_popup = "', LEFT);\" onmouseout=\"return nd();\">
+ " . $freq['freq_descr'] . "";
+
+ if($freq['freq_current'] >= $freq['freq_limit']) { $alert = '
'; } else { $alert = ""; }
+
+ $freq_day = "graph.php?id=" . $freq['freq_id'] . "&type=frequency&from=$day&to=$now&width=300&height=100";
+ $freq_week = "graph.php?id=" . $freq['freq_id'] . "&type=frequency&from=$week&to=$now&width=300&height=100";
+ $freq_month = "graph.php?id=" . $freq['freq_id'] . "&type=frequency&from=$month&to=$now&width=300&height=100";
+ $freq_year = "graph.php?id=" . $freq['freq_id'] . "&type=frequency&from=$year&to=$now&width=300&height=100";
+
+ $freq_minigraph = "
".$freq['hostname']." - ".$freq['freq_descr'];
+ $freq_minigraph .= "', RIGHT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\" >";
+
+ echo("
+ | " . generatedevicelink($freq) . " |
+ $freq_popup |
+ $freq_minigraph |
+ $alert |
+ " . $freq['freq_current'] . "Hz |
+ " . $freq['freq_limit_low'] . "Hz - " . $freq['freq_limit'] . "Hz |
+ " . (isset($freq['freq_notes']) ? $freq['freq_notes'] : '') . " |
+
\n");
+
+ $row++;
+
+}
+
+echo("
");
+
+
+?>
diff --git a/includes/discovery/frequencies.inc.php b/includes/discovery/frequencies.inc.php
new file mode 100644
index 000000000..a2788020b
--- /dev/null
+++ b/includes/discovery/frequencies.inc.php
@@ -0,0 +1,202 @@
+ 1) $descr .= " Phase $i";
+ $current = snmp_get($device, $freq_oid, "-Oqv") / 10;
+ $type = "mge-ups";
+ $precision = 10;
+ $index = $i;
+ if ($current > 55 && $current < 65)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 58;
+ $limit = 62;
+ }
+ else if ($current > 45 && $current < 55)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 48;
+ $limit = 52;
+ }
+ else
+ {
+ $lowlimit = 0;
+ $limit = 0;
+ }
+ echo discover_freq($device, $freq_oid, $index, $type, $descr, $precision, $lowlimit, $limit, $current);
+ $freq_exists[$type][$index] = 1;
+ }
+ $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++)
+ {
+ $freq_oid = ".1.3.6.1.4.1.705.1.6.2.1.3.$i.0";
+ $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i";
+ $current = snmp_get($device, $freq_oid, "-Oqv") / 10;
+ $type = "mge-ups";
+ $precision = 10;
+ $index = 100+$i;
+ if ($current > 55 && $current < 65)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 58;
+ $limit = 62;
+ }
+ else if ($current > 45 && $current < 55)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 48;
+ $limit = 52;
+ }
+ else
+ {
+ $lowlimit = 0;
+ $limit = 0;
+ }
+ echo discover_freq($device, $freq_oid, $index, $type, $descr, $precision, $lowlimit, $limit, $current);
+ $freq_exists[$type][$index] = 1;
+ }
+}
+
+
+## Delete removed sensors
+
+if($debug) { print_r($freq_exists); }
+
+$sql = "SELECT * FROM frequency WHERE device_id = '".$device['device_id']."'";
+if ($query = mysql_query($sql))
+{
+ while ($test_freq = mysql_fetch_array($query))
+ {
+ $index = $test_freq['freq_index'];
+ $type = $test_freq['freq_type'];
+ if($debug) { echo("$type -> $index\n"); }
+ if(!$freq_exists[$type][$index]) {
+ echo("-");
+ mysql_query("DELETE FROM `frequency` WHERE freq_id = '" . $test_freq['freq_id'] . "'");
+ }
+ }
+}
+
+unset($fan_exists); echo("\n");
+
+?>
+ 1) $descr .= " Phase $i";
+ $current = snmp_get($device, $freq_oid, "-Oqv") / 10;
+ $type = "mge-ups";
+ $precision = 10;
+ $index = $i;
+ if ($current > 55 && $current < 65)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 58;
+ $limit = 62;
+ }
+ else if ($current > 45 && $current < 55)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 48;
+ $limit = 52;
+ }
+ else
+ {
+ $lowlimit = 0;
+ $limit = 0;
+ }
+ echo discover_freq($device, $freq_oid, $index, $type, $descr, $precision, $lowlimit, $limit, $current);
+ $freq_exists[$type][$index] = 1;
+ }
+ $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++)
+ {
+ $freq_oid = ".1.3.6.1.4.1.705.1.6.2.1.3.$i.0";
+ $descr = "Input"; if ($numPhase > 1) $descr .= " Phase $i";
+ $current = snmp_get($device, $freq_oid, "-Oqv") / 10;
+ $type = "mge-ups";
+ $precision = 10;
+ $index = 100+$i;
+ if ($current > 55 && $current < 65)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 58;
+ $limit = 62;
+ }
+ else if ($current > 45 && $current < 55)
+ {
+ #FIXME Are these sensible values?
+ $lowlimit = 48;
+ $limit = 52;
+ }
+ else
+ {
+ $lowlimit = 0;
+ $limit = 0;
+ }
+ echo discover_freq($device, $freq_oid, $index, $type, $descr, $precision, $lowlimit, $limit, $current);
+ $freq_exists[$type][$index] = 1;
+ }
+}
+
+
+## Delete removed sensors
+
+if($debug) { print_r($freq_exists); }
+
+$sql = "SELECT * FROM frequency WHERE device_id = '".$device['device_id']."'";
+if ($query = mysql_query($sql))
+{
+ while ($test_freq = mysql_fetch_array($query))
+ {
+ $index = $test_freq['freq_index'];
+ $type = $test_freq['freq_type'];
+ if($debug) { echo("$type -> $index\n"); }
+ if(!$freq_exists[$type][$index]) {
+ echo("-");
+ mysql_query("DELETE FROM `frequency` WHERE freq_id = '" . $test_freq['freq_id'] . "'");
+ }
+ }
+}
+
+unset($fan_exists); echo("\n");
+
+?>
diff --git a/includes/discovery/ups.inc.php b/includes/discovery/ups.inc.php
new file mode 100644
index 000000000..2e08a7cc7
--- /dev/null
+++ b/includes/discovery/ups.inc.php
@@ -0,0 +1,30 @@
+
+
+
diff --git a/includes/osdiscovery/discover-mgeups.php b/includes/osdiscovery/discover-mgeups.php
new file mode 100644
index 000000000..6c12daf08
--- /dev/null
+++ b/includes/osdiscovery/discover-mgeups.php
@@ -0,0 +1,27 @@
+
+
+
diff --git a/includes/polling/frequencies.inc.php b/includes/polling/frequencies.inc.php
new file mode 100644
index 000000000..b6a649efd
--- /dev/null
+++ b/includes/polling/frequencies.inc.php
@@ -0,0 +1,110 @@
+ $frequency['freq_limit_low'] && $freq <= $frequency['freq_limit_low'])
+ {
+ if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
+ $msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'] . " is " . $freq . "Hz (Limit " . $frequency['freq_limit'];
+ $msg .= "Hz) at " . date($config['timestamp_format']);
+ mail($email, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'], $msg, $config['email_headers']);
+ echo("Alerting for " . $device['hostname'] . " " . $frequency['freq_descr'] . "\n");
+ eventlog('Frequency ' . $frequency['freq_descr'] . " under threshold: " . $frequency['freq_current'] . " Hz (> " . $frequency['freq_limit'] . " Hz)", $device['device_id']);
+ }
+ else if($frequency['freq_current'] < $frequency['freq_limit'] && $freq >= $frequency['freq_limit'])
+ {
+ if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
+ $msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'] . " is " . $freq . "Hz (Limit " . $frequency['freq_limit'];
+ $msg .= "Hz) at " . date($config['timestamp_format']);
+ mail($email, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'], $msg, $config['email_headers']);
+ echo("Alerting for " . $device['hostname'] . " " . $frequency['freq_descr'] . "\n");
+ eventlog('Frequency ' . $frequency['freq_descr'] . " above threshold: " . $frequency['freq_current'] . " Hz (< " . $frequency['freq_limit'] . " Hz)", $device['device_id']);
+ }
+
+ mysql_query("UPDATE frequency SET freq_current = '$freq' WHERE freq_id = '" . $frequency['freq_id'] . "'");
+}
+
+?>
+ $frequency['freq_limit_low'] && $freq <= $frequency['freq_limit_low'])
+ {
+ if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
+ $msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'] . " is " . $freq . "Hz (Limit " . $frequency['freq_limit'];
+ $msg .= "Hz) at " . date($config['timestamp_format']);
+ mail($email, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'], $msg, $config['email_headers']);
+ echo("Alerting for " . $device['hostname'] . " " . $frequency['freq_descr'] . "\n");
+ eventlog('Frequency ' . $frequency['freq_descr'] . " under threshold: " . $frequency['freq_current'] . " Hz (> " . $frequency['freq_limit'] . " Hz)", $device['device_id']);
+ }
+ else if($frequency['freq_current'] < $frequency['freq_limit'] && $freq >= $frequency['freq_limit'])
+ {
+ if($device['sysContact']) { $email = $device['sysContact']; } else { $email = $config['email_default']; }
+ $msg = "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'] . " is " . $freq . "Hz (Limit " . $frequency['freq_limit'];
+ $msg .= "Hz) at " . date($config['timestamp_format']);
+ mail($email, "Frequency Alarm: " . $device['hostname'] . " " . $frequency['freq_descr'], $msg, $config['email_headers']);
+ echo("Alerting for " . $device['hostname'] . " " . $frequency['freq_descr'] . "\n");
+ eventlog('Frequency ' . $frequency['freq_descr'] . " above threshold: " . $frequency['freq_current'] . " Hz (< " . $frequency['freq_limit'] . " Hz)", $device['device_id']);
+ }
+
+ mysql_query("UPDATE frequency SET freq_current = '$freq' WHERE freq_id = '" . $frequency['freq_id'] . "'");
+}
+
+?>
diff --git a/mibs/mgeups.mib b/mibs/mgeups.mib
new file mode 100644
index 000000000..0eee81458
--- /dev/null
+++ b/mibs/mgeups.mib
@@ -0,0 +1,7584 @@
+MG-SNMP-UPS-MIB DEFINITIONS ::= BEGIN
+
+-- Title: UPS MIB
+-- Date: October 11, 1995
+-- Author: Merlin Gerin - DAM Division
+-- Release: V1.6
+
+IMPORTS
+ enterprises,IpAddress,TimeTicks
+ FROM RFC1155-SMI
+ DisplayString
+ FROM RFC1213-MIB
+ OBJECT-TYPE
+ FROM RFC1212
+ TRAP-TYPE
+ FROM RFC1215;
+
+----
+-- Path to the root
+----
+merlinGerin OBJECT IDENTIFIER ::= { enterprises 705 }
+upsmg OBJECT IDENTIFIER ::= { merlinGerin 1 }
+
+-- Management and Configuration groups of the MIB
+upsmgIdent OBJECT IDENTIFIER ::= { upsmg 1 }
+upsmgManagement OBJECT IDENTIFIER ::= { upsmg 2 }
+upsmgReceptacle OBJECT IDENTIFIER ::= { upsmg 3 }
+upsmgConfig OBJECT IDENTIFIER ::= { upsmg 4 }
+
+-- UPS Monitoring groups of the MIB
+upsmgBattery OBJECT IDENTIFIER ::= { upsmg 5 }
+upsmgInput OBJECT IDENTIFIER ::= { upsmg 6 }
+upsmgOutput OBJECT IDENTIFIER ::= { upsmg 7 }
+upsmgEnviron OBJECT IDENTIFIER ::= { upsmg 8 }
+
+-- UPS Controlling groups of the MIB
+upsmgControl OBJECT IDENTIFIER ::= { upsmg 9 }
+upsmgTest OBJECT IDENTIFIER ::= { upsmg 10 }
+upsmgTraps OBJECT IDENTIFIER ::= { upsmg 11 }
+
+upsmgAgent OBJECT IDENTIFIER ::= { upsmg 12 }
+upsmgRemote OBJECT IDENTIFIER ::= { upsmg 13 }
+
+----
+-- Definition of object types
+----
+
+-- Management and Configuration groups of the MIB:
+-- upsmgIdent(1), upsmgManagement(2), upsmgReceptacle(3), upsmgConfig(4)
+
+--------------------------
+-- the upsmgIdent group --
+--------------------------
+
+upsmgIdentFamilyName OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS family name (e.g. `PULSAR', `COMET', `GALAXY', ...)."
+ ::= { upsmgIdent 1 }
+
+upsmgIdentModelName OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS model name (e.g. `PSX20', `SV9', ... )."
+ ::= { upsmgIdent 2 }
+
+upsmgIdentRevisionLevel OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS revision level."
+ ::= { upsmgIdent 3 }
+
+upsmgIdentFirmwareVersion OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS microprocessor firmware version number."
+ ::= { upsmgIdent 4 }
+
+upsmgIdentUserID OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS user identification (set by administrator)."
+ ::= { upsmgIdent 5 }
+
+upsmgIdentInstallationDate OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS installation date in dd/mm/yy format."
+ ::= { upsmgIdent 6 }
+
+upsmgIdentSerialNumber OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS manufacturing serial number."
+ ::= { upsmgIdent 7 }
+
+--------------------------
+-- the upsmgManagement group --
+--------------------------
+
+-- This group gives objects for description of a list of Managers.
+-- A management platform is identified, can be powered by the UPS,
+-- and is allowed to a certain level of management.
+
+upsmgManagersNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of managers that could manage the UPS."
+ ::= { upsmgManagement 1 }
+
+upsmgManagersTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgManagerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of managers."
+ ::= { upsmgManagement 2 }
+
+upsmgManagerEntry OBJECT-TYPE
+ SYNTAX UpsmgManagerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a manager entry in the managers table."
+ INDEX { mgmanagerIndex }
+ ::= { upsmgManagersTable 1 }
+
+UpsmgManagerEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgmanagerIndex INTEGER,
+ mgmanagerDeviceNumber INTEGER,
+ mgmanagerNMSType INTEGER,
+ mgmanagerCommType INTEGER,
+ mgmanagerDescr DisplayString,
+ mgmanagerAddress IpAddress,
+ mgmanagerCommunity DisplayString,
+ mgmanagerSeverityLevel INTEGER,
+ mgmanagerTrapAck INTEGER
+}
+
+mgmanagerIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each manager. Its value ranges between 1
+ and the value of upsmgManagersNum."
+ ::= { upsmgManagerEntry 1 }
+
+mgmanagerDeviceNumber OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object is the number of the manager device in the
+ DevicesTable of the Config group. This means that the
+ manager is powered by the UPS. If not the default value is 0."
+ ::= { upsmgManagerEntry 2 }
+
+mgmanagerNMSType OBJECT-TYPE
+ SYNTAX INTEGER {
+ umclient(1),
+ decnetview(2),
+ umview(3),
+ dview(4),
+ hpopenview(5),
+ sunnetmanager(6),
+ novellnms(7),
+ ibmnetview(8),
+ other(9),
+ autolearning(10)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of manager according to the NMS platform. We
+ include in the manager class all systems which will be
+ notified by the agent via receiving traps (e.g. basic
+ to complex NMS software)."
+ ::= { upsmgManagerEntry 3 }
+
+mgmanagerCommType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated manager
+ cmip(3), -- OSI CMIP
+ snmpv1(4), -- SNMPv1
+ snmpv2(5) -- SNMPv2
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The level of communication protocol for that manager.
+ Setting this object to value invalid(2) has the effect of
+ invalidating the corresponding entry in the upsmgManagersTable.
+ It is an implementation-specific matter as to wether the agent
+ removes an invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive tabular
+ information from agents that corresponds to entry not currently
+ in use. Proper interpretation of such entries requires
+ examination of the relevant mgmanagerCommType object."
+ ::= { upsmgManagerEntry 4 }
+
+mgmanagerDescr OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string containing information about the manager.
+ (manufacturer and version description)."
+ ::= { upsmgManagerEntry 5 }
+
+mgmanagerAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of the manager station receiving traps. The
+ value of this object is meaningful if and only if the value
+ of the relevant mgmanagerCommType object is snmp type."
+ ::= { upsmgManagerEntry 6 }
+
+mgmanagerCommunity OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The manager community string."
+ ::= { upsmgManagerEntry 7 }
+
+mgmanagerSeverityLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The severity level of traps to be received by this manager."
+ ::= { upsmgManagerEntry 8 }
+
+mgmanagerTrapAck OBJECT-TYPE
+ SYNTAX INTEGER {
+ mgack(1),
+ mgnoack(2),
+ stdnomg(3),
+ mgacks(4),
+ cpqnoack(5)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The manager Trap Acknowledgement status. Setting
+ this object to mgnoack(2) or stdnomg(3) or cpqnoack(5)
+ disables the trap acknowledgement from the related
+ manager. The MG enterprise specific trap should then
+ be sent only once by the agent to this manager in case
+ of mgnoack(2), and should not be sent by the agent to
+ this manager in case of stdnomg(3) or cpqnoack(5).
+ mgack(1) allows a basic mecanism for acknowledged
+ traps using upsmgAgentTrapAck object set by the
+ manager to the enterprise specific number of the trap.
+ mgacks(5) allows the enhanced mecanism using the
+ upsmgAgentTrapSignature object set by the manager
+ to the signature received within the trap var binding."
+ ::= { upsmgManagerEntry 9 }
+
+--------------------------
+-- the upsmgReceptacle group --
+--------------------------
+
+-- This group gives objects for description of the receptacles of the
+-- UPS. The receptacle notion has been extended to many configurations:
+-- For a small simple UPS, there is only one receptacle which corresponds
+-- to the output of the UPS.
+-- For a more complex UPS with powershare capabilities, there is a one-level
+-- receptacle table allowing to distribute ON/OFF control on the receptacles.
+-- For others (EHQ, big UPS with Distributed Power Units), there is a
+-- two-level receptacle table allowing to distribute control and management
+-- of the receptacles plugs into one of the first level receptacles.
+
+upsmgReceptaclesNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of receptacles controlled by the UPS."
+ ::= { upsmgReceptacle 1 }
+
+upsmgReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgReceptacleEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles that are controlled by the UPS."
+ ::= { upsmgReceptacle 2 }
+
+upsmgReceptacleEntry OBJECT-TYPE
+ SYNTAX UpsmgReceptacleEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle in the table."
+ INDEX { mgreceptacleIndex }
+ ::= { upsmgReceptaclesTable 1 }
+
+UpsmgReceptacleEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndex INTEGER,
+ mgreceptacleLevel INTEGER,
+ mgreceptacleType DisplayString,
+ mgreceptacleIdent DisplayString,
+ mgreceptacleState INTEGER,
+ mgreceptacleReceptacle INTEGER,
+ mgreceptacleAutonomy INTEGER,
+ mgreceptaclePowerCons INTEGER,
+ mgreceptacleOverload INTEGER
+}
+
+mgreceptacleIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between
+ 1 and the value of upsmgReceptaclesNum."
+ ::= { upsmgReceptacleEntry 1 }
+
+mgreceptacleLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The level of receptacle.
+
+ Setting this object to value invalid(2) has the effect of
+ invalidating the corresponding entry in the upsmgReceptaclesTable.
+ It is an implementation-specific matter as to wether the agent
+ removes an invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive tabular
+ information from agents that corresponds to entry not currently
+ in use. Proper interpretation of such entries requires
+ examination of the relevant receptacleLevel object.
+ Values 1 and 4 are reserved, value 3 is used to identify a simple
+ one-level receptacle, and values greater than 4 represent a
+ group of equivalent receptacles."
+ ::= { upsmgReceptacleEntry 2 }
+
+mgreceptacleType OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for the receptacle type."
+ ::= { upsmgReceptacleEntry 3 }
+
+mgreceptacleIdent OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string identification for the user."
+ ::= { upsmgReceptacleEntry 4 }
+
+mgreceptacleState OBJECT-TYPE
+ SYNTAX INTEGER {
+ manualON(1), -- after manual turn on
+ manualOFF(2), -- after manual turn off
+ normalON(3), -- after normal restart sequence
+ normalOFF(4), -- after normal shutoff sequence
+ controlON(5), -- after upsControl on command
+ controlOFF(6), -- after upsControl off command
+ scheduleON(7), -- after schedule turn on
+ scheduleOFF(8) -- after schedule turn off
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ON/OFF status of the receptacle."
+ ::= { upsmgReceptacleEntry 5 }
+
+mgreceptacleReceptacle OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle number of the second level receptacle father.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 6 }
+
+mgreceptaclePowerCons OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The volt-ampere rating of the receptacle.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 7 }
+
+mgreceptacleOverload OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The overload status of the receptacle.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 8 }
+
+mgreceptacleAutonomy OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle autonomy.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 9 }
+
+--------------------------
+-- the upsmgConfig group --
+--------------------------
+
+-- This group gives objects for describing:
+-- Battery characteristics and administrative status,
+-- Configuration set points for normal shutoff and restart,
+-- Nominal voltage and Input low/high transfer point,
+-- Output and By Pass characteristics,
+-- Devices table (powered systems),
+-- Receptacles default table.
+-- Environ external alarms UserID table.
+
+-- Battery characteristics and administrative status.
+
+upsmgConfigBatteryInstalled OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The battery installed status."
+ ::= { upsmgConfig 1 }
+
+upsmgConfigNominalBatteryVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal battery voltage."
+ ::= { upsmgConfig 2 }
+
+upsmgConfigNominalBatteryTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The full load battery autonomy time."
+ ::= { upsmgConfig 3 }
+
+upsmgConfigNominalRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The recharge time to go from low battery cut off
+ to full charge at full load."
+ ::= { upsmgConfig 4 }
+
+-- Configuration set points for normal shutoff and restart.
+
+upsmgConfigMinRechargeLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The minimum battery level required to supply power on the
+ loads after low battery condition turn off and restart on
+ main return."
+ ::= { upsmgConfig 5 }
+
+upsmgConfigMaxRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum time delay of battery recharge before supply
+ power to the loads."
+ ::= { upsmgConfig 6 }
+
+upsmgConfigLowBatteryTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set remaining time value for low battery condition."
+ ::= { upsmgConfig 7 }
+
+upsmgConfigLowBatteryLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set battery level value for low battery condition."
+ ::= { upsmgConfig 8 }
+
+upsmgConfigAutoRestart OBJECT-TYPE
+ SYNTAX INTEGER {
+ always(1),
+ never(2),
+ onmain(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic restart enabling status."
+ ::= { upsmgConfig 9 }
+
+upsmgConfigShutdownTimer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set ups shutdown timer from on battery condition."
+ ::= { upsmgConfig 10 }
+
+upsmgConfigSysShutDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set ups shutdown delay (Sn delay)."
+ ::= { upsmgConfig 11 }
+
+-- Nominal voltage and Input low/high transfer point.
+
+upsmgConfigVARating OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal VA rating."
+ ::= { upsmgConfig 12 }
+
+upsmgConfigLowTransfer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The low voltage transfer point."
+ ::= { upsmgConfig 13 }
+
+upsmgConfigHighTransfer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The high voltage transfer point."
+ ::= { upsmgConfig 14 }
+
+-- Output and By Pass characteristics.
+
+upsmgConfigOutputNominalVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output voltage."
+ ::= { upsmgConfig 15 }
+
+upsmgConfigOutputNominalCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output current."
+ ::= { upsmgConfig 16 }
+
+upsmgConfigOutputNominalFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output frequency."
+ ::= { upsmgConfig 17 }
+
+upsmgConfigByPassType OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ relay(2),
+ static(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS by pass switch type."
+ ::= { upsmgConfig 18 }
+
+upsmgConfigAlarmAudible OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set audible alarm status."
+ ::= { upsmgConfig 19 }
+
+upsmgConfigAlarmTimeDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set audible alarm time delay."
+ ::= { upsmgConfig 20 }
+
+-- Devices table (powered systems).
+
+upsmgConfigDevicesNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The number of devices that are powered by the UPS."
+ ::= { upsmgConfig 21 }
+
+upsmgConfigDevicesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgDeviceEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of devices that are powered by the UPS."
+ ::= { upsmgConfig 22 }
+
+upsmgDeviceEntry OBJECT-TYPE
+ SYNTAX UpsmgDeviceEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a device entry in the devices table."
+ INDEX { mgdeviceIndex }
+ ::= { upsmgConfigDevicesTable 1 }
+
+UpsmgDeviceEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgdeviceIndex INTEGER,
+ mgdeviceReceptacleNum INTEGER,
+ mgdeviceIdent DisplayString,
+ mgdeviceVaRating INTEGER,
+ mgdeviceSequenceOff INTEGER,
+ mgdeviceSequenceOn INTEGER,
+ mgdeviceShutdownDuration INTEGER,
+ mgdeviceBootUpDuration INTEGER
+}
+
+mgdeviceIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each device. Its value ranges between 1
+ and the value of upsmgDevicesNum."
+ ::= { upsmgDeviceEntry 1 }
+
+mgdeviceReceptacleNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle number of the device plugged into the UPS.
+ This value gives index entry in the ReceptaclesTable object
+ of the Receptacle group. A value of 0 invalidates the entry
+ in the DevicesTable."
+ ::= { upsmgDeviceEntry 2 }
+
+mgdeviceIdent OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for device user identification."
+ ::= { upsmgDeviceEntry 3 }
+
+mgdeviceVaRating OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The volt-ampere rating of the device plugged into the UPS."
+ ::= { upsmgDeviceEntry 4 }
+
+mgdeviceSequenceOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the device position in the remote shutdown sequence."
+ ::= { upsmgDeviceEntry 5 }
+
+mgdeviceSequenceOn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the device position in the remote reboot sequence."
+ ::= { upsmgDeviceEntry 6 }
+
+mgdeviceShutdownDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the duration from start of computer shut-down
+ to complete."
+ ::= { upsmgDeviceEntry 7 }
+
+mgdeviceBootUpDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the duration from start of computer boot-up
+ to complete."
+ ::= { upsmgDeviceEntry 8 }
+
+-- Receptacles default table.
+
+-- This table gives for every receptacle the power return condition for
+-- each failure cause.
+
+upsmgConfigReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCfgReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles."
+ ::= { upsmgConfig 23 }
+
+upsmgCfgReceptEntry OBJECT-TYPE
+ SYNTAX UpsmgCfgReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle entry in the table."
+ INDEX { mgreceptacleIndexb }
+ ::= { upsmgConfigReceptaclesTable 1 }
+
+UpsmgCfgReceptEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndexb INTEGER,
+ mgreceptacleStateTurnOn INTEGER,
+ mgreceptacleStateMainReturn INTEGER,
+ mgreceptacleStateDischarge INTEGER,
+ mgreceptacleShutoffLevel INTEGER,
+ mgreceptacleShutoffTimer INTEGER,
+ mgreceptacleRestartLevel INTEGER,
+ mgreceptacleRestartDelay INTEGER,
+ mgreceptacleShutdownDuration INTEGER,
+ mgreceptacleBootUpDuration INTEGER
+}
+
+mgreceptacleIndexb OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between 1
+ and the value of upsmgReceptaclesNum."
+ ::= { upsmgCfgReceptEntry 1 }
+
+mgreceptacleStateTurnOn OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state at turn on."
+ ::= { upsmgCfgReceptEntry 2 }
+
+mgreceptacleStateMainReturn OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state on main return."
+ ::= { upsmgCfgReceptEntry 3 }
+
+mgreceptacleStateDischarge OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state on main return from battery discharge."
+ ::= { upsmgCfgReceptEntry 4 }
+
+mgreceptacleShutoffLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Battery level for starting shutoff sequence."
+ ::= { upsmgCfgReceptEntry 5 }
+
+mgreceptacleShutoffTimer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Time delay from on battery for starting shutoff sequence."
+ ::= { upsmgCfgReceptEntry 6 }
+
+mgreceptacleRestartLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Battery level for starting restart sequence."
+ ::= { upsmgCfgReceptEntry 7 }
+
+mgreceptacleRestartDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Time delay for starting restart sequence."
+ ::= { upsmgCfgReceptEntry 8 }
+
+mgreceptacleShutdownDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Maximum Shutdown Duration for systems powered by this plug."
+ ::= { upsmgCfgReceptEntry 9 }
+
+mgreceptacleBootUpDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Maximum Reboot Duration for systems powered by this plug."
+ ::= { upsmgCfgReceptEntry 10 }
+
+-- Environ external alarms UserID table.
+
+upsmgConfigExtAlarmNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of environ external alarm, value is
+ between 8 and 32.."
+ ::= { upsmgConfig 24 }
+
+upsmgConfigExtAlarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of environmental external alarms."
+ ::= { upsmgConfig 25 }
+
+upsmgExtAlarmEntry OBJECT-TYPE
+ SYNTAX UpsmgExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an external alarm in the table."
+ INDEX { mgextAlarmIndex }
+ ::= { upsmgConfigExtAlarmTable 1 }
+
+UpsmgExtAlarmEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgextAlarmIndex INTEGER,
+ mgextAlarmUID DisplayString
+}
+
+mgextAlarmIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each external alarm. Its value ranges
+ between 1 and the value of upsmgConfigExtAlarmNum."
+ ::= { upsmgExtAlarmEntry 1 }
+
+mgextAlarmUID OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for alarm state user identification."
+ ::= { upsmgExtAlarmEntry 2 }
+
+upsmgConfigEmergencyTestFail OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on Battery test fail."
+ ::= { upsmgConfig 26 }
+
+upsmgConfigEmergencyOnByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on By Pass."
+ ::= { upsmgConfig 27 }
+
+upsmgConfigEmergencyOverload OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on overload."
+ ::= { upsmgConfig 28 }
+
+-- Schedule on/off daily time table.
+
+upsmgConfigControlDayTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCtrlDayEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of daily on/off time."
+ ::= { upsmgConfig 29 }
+
+upsmgCtrlDayEntry OBJECT-TYPE
+ SYNTAX UpsmgCtrlDayEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a daily on/off time schedule in the table."
+ INDEX { mgcontrolDayIndex }
+ ::= { upsmgConfigControlDayTable 1 }
+
+UpsmgCtrlDayEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgcontrolDayIndex INTEGER,
+ mgcontrolDayOn INTEGER,
+ mgcontrolDayOff INTEGER
+}
+
+mgcontrolDayIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The day index. It is a number between 1 and 7, 1 for
+ Sunday, 2 for Monday, ..."
+ ::= { upsmgCtrlDayEntry 1 }
+
+mgcontrolDayOn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set daily power on time. Any value greater than 86400
+ is to disable the Day On."
+ ::= { upsmgCtrlDayEntry 2 }
+
+mgcontrolDayOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set daily power off time. Any value greater than 86400
+ is to disable the Day Off."
+ ::= { upsmgCtrlDayEntry 3 }
+
+upsmgConfigLowBooster OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS booster low threshold."
+ ::= { upsmgConfig 30 }
+
+upsmgConfigHighBooster OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS booster high threshold."
+ ::= { upsmgConfig 31 }
+
+upsmgConfigLowFader OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS fader low threshold."
+ ::= { upsmgConfig 32 }
+
+upsmgConfigHighFader OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS fader high threshold."
+ ::= { upsmgConfig 33 }
+
+-- UPS Monitoring groups of the MIB:
+-- upsmgBattery(5), upsmgInput(6), upsmgOutput(7), upsmgEnviron(8)
+
+----------------------------
+-- the upsmgBattery group --
+----------------------------
+
+upsmgBatteryRemainingTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The time remaining actual charge vs actual load (dynamic)."
+ ::= { upsmgBattery 1 }
+
+upsmgBatteryLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery level as a percentage of charge."
+ ::= { upsmgBattery 2 }
+
+upsmgBatteryRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual operational battery recharge time to set point
+ equal to upsmgConfigRechargeLevel. This value is computed from
+ upsmgConfigRechargeLevel (level to reach), upsmgBatteryLevel (the
+ actual reached level) and the UPS charge rate."
+ ::= { upsmgBattery 3 }
+
+upsmgBatteryRechargeLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual value of the battery recharge level that will be
+ reached during the time delay necessary to restart after power
+ returns. This value is computed from upsmgConfigRechargeTime
+ (the delay), upsmgBatteryLevel (the actual level) and the UPS
+ charge rate."
+ ::= { upsmgBattery 4 }
+
+upsmgBatteryVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual battery voltage."
+ ::= { upsmgBattery 5 }
+
+upsmgBatteryCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual battery current."
+ ::= { upsmgBattery 6 }
+
+upsmgBatteryTemperature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery temperature."
+ ::= { upsmgBattery 7 }
+
+upsmgBatteryFullRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery full recharge time (from 0 to 100 percent)
+ at current load."
+ ::= { upsmgBattery 8 }
+
+upsmgBatteryFaultBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery fault status."
+ ::= { upsmgBattery 9 }
+
+upsmgBatteryNoBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS has no Battery status."
+ ::= { upsmgBattery 10 }
+
+upsmgBatteryReplacement OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery to be replaced status."
+ ::= { upsmgBattery 11 }
+
+upsmgBatteryUnavailableBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is unavailable status."
+ ::= { upsmgBattery 12 }
+
+upsmgBatteryNotHighCharge OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery quit high condition status."
+ ::= { upsmgBattery 13 }
+
+upsmgBatteryLowBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery low status."
+ ::= { upsmgBattery 14 }
+
+upsmgBatteryChargerFault OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is not charging status."
+ ::= { upsmgBattery 15 }
+
+upsmgBatteryLowCondition OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS is at low condition status."
+ ::= { upsmgBattery 16 }
+
+upsmgBatteryLowRecharge OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is not recharged status."
+ ::= { upsmgBattery 17 }
+
+--------------------------
+-- the upsmgInput group --
+--------------------------
+
+upsmgInputPhaseNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input phases."
+ ::= { upsmgInput 1 }
+
+upsmgInputPhaseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgInputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of input phases."
+ ::= { upsmgInput 2 }
+
+upsmgInputPhaseEntry OBJECT-TYPE
+ SYNTAX UpsmgInputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an input phase."
+ INDEX { mginputIndex }
+ ::= { upsmgInputPhaseTable 1 }
+
+UpsmgInputPhaseEntry ::= SEQUENCE { -- ASN.1 type definition
+ mginputIndex INTEGER,
+ mginputVoltage INTEGER,
+ mginputFrequency INTEGER,
+ mginputMinimumVoltage INTEGER,
+ mginputMaximumVoltage INTEGER,
+ mginputCurrent INTEGER
+}
+
+mginputIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase voltage index. It is a number between 1
+ and upsmgInputPhaseNum."
+ ::= { upsmgInputPhaseEntry 1 }
+
+mginputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase voltage."
+ ::= { upsmgInputPhaseEntry 2 }
+
+mginputFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase frequency."
+ ::= { upsmgInputPhaseEntry 3 }
+
+mginputMinimumVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase minimum voltage over the last minute."
+ ::= { upsmgInputPhaseEntry 4 }
+
+mginputMaximumVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase maximum voltage over the last minute."
+ ::= { upsmgInputPhaseEntry 5 }
+
+mginputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase current."
+ ::= { upsmgInputPhaseEntry 6 }
+
+upsmgInputBadStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The utility power bad voltage or bad frequency status."
+ ::= { upsmgInput 3 }
+
+upsmgInputLineFailCause OBJECT-TYPE
+ SYNTAX INTEGER {
+ no(1),
+ outoftolvolt(2),
+ outoftolfreq(3),
+ utilityoff(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The utility power failure cause:
+ no(1) is for no utility failure,
+ outoftolvolt(2) is for voltage out of tolerance,
+ outoftolfreq(3) is for frequency out of tolerance,
+ utilityoff(4) is for no voltage at all."
+ ::= { upsmgInput 4 }
+
+--------------------------
+-- the upsmgOutput group --
+--------------------------
+
+upsmgOutputPhaseNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of output phases."
+ ::= { upsmgOutput 1 }
+
+upsmgOutputPhaseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgOutputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of output phases."
+ ::= { upsmgOutput 2 }
+
+upsmgOutputPhaseEntry OBJECT-TYPE
+ SYNTAX UpsmgOutputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an output phase."
+ INDEX { mgoutputPhaseIndex }
+ ::= { upsmgOutputPhaseTable 1 }
+
+UpsmgOutputPhaseEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgoutputPhaseIndex INTEGER,
+ mgoutputVoltage INTEGER,
+ mgoutputFrequency INTEGER,
+ mgoutputLoadPerPhase INTEGER,
+ mgoutputCurrent INTEGER
+}
+
+mgoutputPhaseIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase voltage index. It is a number between 1
+ and upsmgOutputPhaseNum."
+ ::= { upsmgOutputPhaseEntry 1 }
+
+mgoutputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase voltage."
+ ::= { upsmgOutputPhaseEntry 2 }
+
+mgoutputFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase frequency."
+ ::= { upsmgOutputPhaseEntry 3 }
+
+mgoutputLoadPerPhase OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load per phase."
+ ::= { upsmgOutputPhaseEntry 4 }
+
+mgoutputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase current."
+ ::= { upsmgOutputPhaseEntry 5 }
+
+upsmgOutputOnBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on battery / on main status."
+ ::= { upsmgOutput 3 }
+
+upsmgOutputOnByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on bypass status."
+ ::= { upsmgOutput 4 }
+
+upsmgOutputUnavailableByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The by pass unavailable status."
+ ::= { upsmgOutput 5 }
+
+upsmgOutputNoByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS bypass installed status."
+ ::= { upsmgOutput 6 }
+
+upsmgOutputUtilityOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS utility off status."
+ ::= { upsmgOutput 7 }
+
+upsmgOutputOnBoost OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on booster status."
+ ::= { upsmgOutput 8 }
+
+upsmgOutputInverterOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Inverter on / off status."
+ ::= { upsmgOutput 9 }
+
+upsmgOutputOverLoad OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output over load status."
+ ::= { upsmgOutput 10 }
+
+upsmgOutputOverTemp OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ups over temperature status."
+ ::= { upsmgOutput 11 }
+
+upsmgOutputOnBuck OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on fader status."
+ ::= { upsmgOutput 12 }
+
+----------------------------
+-- the upsmgEnviron group --
+----------------------------
+
+upsmgEnvironAmbientTemp OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ambient temperature."
+ ::= { upsmgEnviron 1 }
+
+upsmgEnvironAmbientHumidity OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ambient humidity."
+ ::= { upsmgEnviron 2 }
+
+upsmgEnvironExtAlarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgEnvironExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of external alarms."
+ ::= { upsmgEnviron 3 }
+
+upsmgEnvironExtAlarmEntry OBJECT-TYPE
+ SYNTAX UpsmgEnvironExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an external alarm."
+ INDEX { mgalarmNum }
+ ::= { upsmgEnvironExtAlarmTable 1 }
+
+UpsmgEnvironExtAlarmEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgalarmNum INTEGER,
+ mgalarmState INTEGER
+}
+
+mgalarmNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The external alarm number. A number between 1 and
+ upsmgConfigExtAlarmNum."
+ ::= { upsmgEnvironExtAlarmEntry 1 }
+
+mgalarmState OBJECT-TYPE
+ SYNTAX INTEGER {
+ active(1),
+ inactive(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The external alarm state (active or inactive)."
+ ::= { upsmgEnvironExtAlarmEntry 2 }
+
+upsmgEnvironSensorNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor unit number (0 to 4)."
+ ::= { upsmgEnviron 4 }
+
+upsmgEnvironSensorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgEnvironSensorEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of sensor units."
+ ::= { upsmgEnviron 5 }
+
+upsmgEnvironSensorEntry OBJECT-TYPE
+ SYNTAX UpsmgEnvironSensorEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a sensor unit."
+ INDEX { mgsensorNum }
+ ::= { upsmgEnvironSensorTable 1 }
+
+UpsmgEnvironSensorEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgsensorNum INTEGER,
+ mgsensorTemp INTEGER,
+ mgsensorHumidity INTEGER
+}
+
+mgsensorNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The unit number. A number between 1 and 4."
+ ::= { upsmgEnvironSensorEntry 1 }
+
+mgsensorTemp OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The measured temperature of the unit."
+ ::= { upsmgEnvironSensorEntry 2 }
+
+mgsensorHumidity OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The measured humidity of the unit."
+ ::= { upsmgEnvironSensorEntry 3 }
+
+-- UPS Controlling groups of the MIB:
+-- upsmgControl(9), upsmgTest(10), upsmgTraps(11)
+
+----------------------------
+-- the upsmgControl group --
+----------------------------
+
+-- Receptacles control table.
+
+-- This table gives for every receptacle the ON/OFF control objects.
+
+upsmgControlReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCtrlReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles."
+ ::= { upsmgControl 1 }
+
+upsmgCtrlReceptEntry OBJECT-TYPE
+ SYNTAX UpsmgCtrlReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle entry in the table."
+ INDEX { mgreceptacleIndexc }
+ ::= { upsmgControlReceptaclesTable 1 }
+
+UpsmgCtrlReceptEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndexc INTEGER,
+ mgreceptacleOnDelay INTEGER,
+ mgreceptacleOnCtrl INTEGER,
+ mgreceptacleOnStatus INTEGER,
+ mgreceptacleOffDelay INTEGER,
+ mgreceptacleOffCtrl INTEGER,
+ mgreceptacleOffStatus INTEGER,
+ mgreceptacleToggleDelay INTEGER,
+ mgreceptacleToggleCtrl INTEGER,
+ mgreceptacleToggleStatus INTEGER,
+ mgreceptacleToggleDuration INTEGER
+}
+
+mgreceptacleIndexc OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between 1
+ and the value of upsmgReceptaclesNum."
+ ::= { upsmgCtrlReceptEntry 1 }
+
+mgreceptacleOnDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn on UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 2 }
+
+mgreceptacleOnCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control on action."
+ ::= { upsmgCtrlReceptEntry 3 }
+
+mgreceptacleOnStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control on status."
+ ::= { upsmgCtrlReceptEntry 4 }
+
+mgreceptacleOffDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 5 }
+
+mgreceptacleOffCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control off action."
+ ::= { upsmgCtrlReceptEntry 6 }
+
+mgreceptacleOffStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control off status."
+ ::= { upsmgCtrlReceptEntry 7 }
+
+mgreceptacleToggleDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off then on UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 8 }
+
+mgreceptacleToggleCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control toggle action."
+ ::= { upsmgCtrlReceptEntry 9 }
+
+mgreceptacleToggleStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control toggle status."
+ ::= { upsmgCtrlReceptEntry 10 }
+
+mgreceptacleToggleDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off then on UPS receptacle w/duration=?."
+ ::= { upsmgCtrlReceptEntry 11 }
+
+upsmgControlDayOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ sunday(1), monday(2), tuesday(3), wednesday(4),
+ thursday(5), friday(6), saterday(7), none(8)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The schedule off control object. Default value is none(8).
+ Value 1 means to start scheduled off on Sunday,
+ value 2 to start scheduled off on Monday, and so on."
+ ::= { upsmgControl 2 }
+
+upsmgControlDayOn OBJECT-TYPE
+ SYNTAX INTEGER {
+ sunday(1), monday(2), tuesday(3), wednesday(4),
+ thursday(5), friday(6), saterday(7), none(8)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The schedule on control object. Default value is none(8).
+ Value 1 means to start scheduled on on Sunday,
+ value 2 to start scheduled on on Monday, and so on.
+ This object is meaningfull only for those agent that do not
+ include internal clock. In such a case the object is set by
+ a manager to start the schedule on sequence."
+ ::= { upsmgControl 3 }
+
+--------------------------
+-- the upsmgTest group --
+--------------------------
+
+upsmgTestBatterySchedule OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ weekly(2),
+ monthly(3),
+ atturnon(4),
+ none(5),
+ dayly(6)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic battery test schedule."
+ ::= { upsmgTest 1 }
+
+upsmgTestDiagnostics OBJECT-TYPE
+ SYNTAX INTEGER {
+ default(1),
+ start(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run self test diagnostics."
+ ::= { upsmgTest 2 }
+
+upsmgTestDiagResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ success(1),
+ failed(2),
+ none(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic test diagnostic result."
+ ::= { upsmgTest 3 }
+
+upsmgTestBatteryCalibration OBJECT-TYPE
+ SYNTAX INTEGER {
+ default(1),
+ start(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run battery test calibration."
+ ::= { upsmgTest 4 }
+
+upsmgTestLastCalibration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The last battery calibration test date."
+ ::= { upsmgTest 5 }
+
+upsmgTestIndicators OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run UPS indicators test."
+ ::= { upsmgTest 6 }
+
+upsmgTestCommandLine OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To send ASCII command line to UPS."
+ ::= { upsmgTest 7 }
+
+upsmgTestCommandReady OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To advise UPS that command line has been prepared."
+ ::= { upsmgTest 8 }
+
+upsmgTestResponseLine OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "To get ASCII protocol response from UPS."
+ ::= { upsmgTest 9 }
+
+upsmgTestResponseReady OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "To advise agent that response line has been received."
+ ::= { upsmgTest 10 }
+
+upsmgTestBatteryResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ msuccess(1),
+ mfailed(2),
+ ssuccess(3),
+ sfailed(4),
+ none(5)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The test battery result:
+ msuccess(1) is for manual battery test success,
+ ssuccess(3) is for scheduled battery test success,
+ mfailed(2) is for manual battery test failed,
+ sfailed(4) is for scheduled battery test failed."
+ ::= { upsmgTest 11 }
+
+--------------------------
+-- the upsmgTraps group --
+--------------------------
+
+-- This group defines objects and traps, so that for each trap, simple
+-- get request on related objects (one or many) allow to confirm actual
+-- status of the trap.
+
+-- TRAPS NOTIFICATIONS
+
+upsmgBatteryFault TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS Battery entering Fault status."
+::= 1
+
+upsmgBatteryOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS Battery returned to OK status."
+::= 2
+
+upsmgBatteryReplacementIndicated TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery need to be replaced."
+::= 3
+
+upsmgBatteryReplacementNotIndicated TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery does not need to be replaced."
+::= 4
+
+upsmgAtLowBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS battery reached low condition."
+::= 5
+
+upsmgFromLowBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS battery returned from low condition."
+::= 6
+
+upsmgChargerFault TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery charger is not active."
+::= 7
+
+upsmgChargerOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery charger is active."
+::= 8
+
+upsmgAtLowCondition TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS entering low condition."
+::= 9
+
+upsmgFromLowCondition TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS exiting low condition."
+::= 10
+
+upsmgOnBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS is on Battery."
+::= 11
+
+upsmgReturnFromBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS returned from battery."
+::= 12
+
+upsmgOnByPass TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on by pass."
+::= 13
+
+upsmgReturnFromByPass TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS return from by pass."
+::= 14
+
+upsmgByPassUnavailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS by pass unavailable."
+::= 15
+
+upsmgByPassAvailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS by pass available."
+::= 16
+
+upsmgUtilityFailure TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS utility power failed."
+::= 17
+
+upsmgUtilityRestored TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS utility power restored."
+::= 18
+
+upsmgOnBoost TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on boost."
+::= 19
+
+upsmgReturnFromBoost TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has returned from boost."
+::= 20
+
+upsmgOverLoad TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has overload condition."
+::= 21
+
+upsmgLoadOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS quit overload condition."
+::= 22
+
+upsmgOverTemperature TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has overtemperature condition."
+::= 23
+
+upsmgTemperatureOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS quit overtemperature condition."
+::= 24
+
+upsmgOnToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState, mgreceptacleOnDelay,
+ mgreceptacleRestartDelay }
+ DESCRIPTION
+ "Trap UPS on sequence started."
+::= 25
+
+upsmgOnAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOnDelay }
+ DESCRIPTION
+ "Trap UPS on sequence cancelled."
+::= 26
+
+upsmgOnInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState,
+ mgreceptacleBootUpDuration }
+ DESCRIPTION
+ "Trap UPS on sequence in progress in ups."
+::= 27
+
+upsmgOnComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOnDelay }
+ DESCRIPTION
+ "Trap UPS on sequence completed."
+::= 28
+
+upsmgOffToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState, mgreceptacleOffDelay,
+ mgreceptacleShutoffTimer, upsmgConfigSysShutDuration }
+ DESCRIPTION
+ "Trap UPS off sequence started."
+::= 29
+
+upsmgOffAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOffDelay }
+ DESCRIPTION
+ "Trap UPS off sequence cancelled."
+::= 30
+
+upsmgOffInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState,
+ mgreceptacleShutdownDuration }
+ DESCRIPTION
+ "Trap UPS off sequence in progress in ups."
+::= 31
+
+upsmgOffComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOffDelay }
+ DESCRIPTION
+ "Trap UPS off sequence completed."
+::= 32
+
+upsmgToggleToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDelay }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence started."
+::= 33
+
+upsmgToggleAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDelay }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence cancelled."
+::= 34
+
+upsmgToggleInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDuration }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence in progress in ups."
+::= 35
+
+upsmgToggleComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDuration }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence completed."
+::= 36
+
+upsmgCommunicationFailure TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS serial communication failed."
+::= 37
+
+upsmgCommunicationRestored TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS serial communication restored."
+::= 38
+
+upsmgInputBad TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS input has bad condition."
+::= 39
+
+upsmgInputOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS input quit bad condition."
+::= 40
+
+upsmgBatteryUnavailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery is unavailable."
+::= 41
+
+upsmgBatteryAvailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery return from unavailable condition."
+::= 42
+
+upsmgAtLowRecharge TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS waiting for battery charging condition."
+::= 43
+
+upsmgFromLowRecharge TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS reached battery charging condition."
+::= 44
+
+upsmgDiagnosticTestFail TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS self test failed."
+::= 45
+
+upsmgDiagnosticTestOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS self test succeeded."
+::= 46
+
+upsmgBatteryTestOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS passed battery test."
+::= 47
+
+upsmgBatteryTestFail TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS failed battery test."
+::= 48
+
+upsmgExternalAlarmActive TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgextAlarmIndex, mgextAlarmUID }
+ DESCRIPTION
+ "Trap UPS enter environment external alarm."
+::= 49
+
+upsmgExternalAlarmInactive TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgextAlarmIndex, mgextAlarmUID }
+ DESCRIPTION
+ "Trap UPS exit environment external alarm."
+::= 50
+
+upsmgOnBuck TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on buck."
+::= 51
+
+upsmgReturnFromBuck TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has returned from buck."
+::= 52
+
+
+----------------------
+-- upsmgAgent group --
+----------------------
+
+-- following objects are configuration variables defined for
+-- UPS proxy agent that perform UPS management protocol
+-- and support SNMP management function
+
+upsmgAgentIpaddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The ip address that NMS can identify the managed
+ device"
+ ::= { upsmgAgent 1}
+
+upsmgAgentSubnetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " Internet address subnet mask"
+ ::= { upsmgAgent 2}
+
+upsmgAgentDefGateway OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The default gateway that allow device managed
+ through routers "
+ ::= { upsmgAgent 3}
+
+upsmgAgentBaudRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " the serial port communication speed. only 2400,
+ 4800, and 9600 allowed"
+ ::= { upsmgAgent 4}
+
+upsmgAgentPollRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The frequency that proxy agent polls the connected
+ UPS in ASCII protocol. (unit : second)"
+ ::= { upsmgAgent 5}
+
+upsmgAgentType OBJECT-TYPE
+ SYNTAX INTEGER {
+ deviceEth(1),
+ deviceTR(2),
+ proxyEth(3),
+ proxyTR(4),
+ other(5)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The type of agent."
+ ::= { upsmgAgent 6}
+
+upsmgAgentTrapAlarmDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The interval for the Trap packet retransmission,
+ while the TRAP Acknowledge is implemented and
+ the ack is received within the interval."
+ ::= { upsmgAgent 7}
+
+upsmgAgentTrapAlarmRetry OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The retry count for retransmitting Trap
+ packet while the TRAP acknowledge is
+ implemented."
+ ::= { upsmgAgent 8}
+
+upsmgAgentReset OBJECT-TYPE
+ SYNTAX INTEGER {
+ reset (1),
+ nothing(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The variable initiates reset operation in
+ agent software, ie. warm start. write reset(1)
+ to any one of UPS MIB array, will result in
+ the same reset operation."
+ ::= { upsmgAgent 9}
+
+upsmgAgentFactReset OBJECT-TYPE
+ SYNTAX INTEGER {
+ reset (1),
+ nothing(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The variable initiates reset operation in
+ agent software, ie. warm start, and load
+ default data (Factory setting) to EEPROM
+ and to runtime parameters associated with
+ the UPS."
+ ::= { upsmgAgent 10}
+
+upsmgAgentMibVersion OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The version of the MIB implemented in agent."
+ ::= { upsmgAgent 11}
+
+upsmgAgentFirmwareVersion OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The agent firmware version."
+ ::= { upsmgAgent 12}
+
+upsmgAgentCommUPS OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The status of communication between agent and ups.
+ Even value means no communication, and odd value
+ means a certain level of communication with devices
+ daisy-chained on the serial port. The value is the
+ following: 1000*NSE + 100*NSW + 10*UPSW + UPST with
+ UPST is UPS type: 5 if no UPS;
+ 3 if PI (Protocol Interface)
+ 1 if U-Talk UPS;
+ UPSW is the number of switchable plugs of the UPS;
+ NSW is the number of UM-Switch devices;
+ NSE is the number of UM-Sensor devices."
+ ::= { upsmgAgent 13}
+
+upsmgAgentTrapAck OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The last Trap number that has been received by UM-View."
+ ::= { upsmgAgent 14}
+
+upsmgAgentAutoLearning OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the Auto Learning
+ process of the agent, default value is yes(1) e.g. enabled."
+ ::= { upsmgAgent 15}
+
+upsmgAgentBootP OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the BootP process,
+ default value is yes(1) e.g. enabled."
+ ::= { upsmgAgent 16}
+
+upsmgAgentTFTP OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the TFTP process,
+ default value is no(2) e.g. disabled."
+ ::= { upsmgAgent 17}
+
+upsmgAgentTrapSignature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The signature of the trap acknowledged by a manager."
+ ::= { upsmgAgent 18}
+
+------------------------
+-- upsmgRemote group --
+------------------------
+
+upsmgRemoteOnBattery OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An object to inform an ups-less agent that the remote
+ UPS is on autonomy. This object could be set by
+ a management application."
+ ::= { upsmgRemote 1}
+
+upsmgRemoteIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An object to give the IP address of the agent managing
+ the remote UPS. This object could be read by managers
+ to perform management of receptacle dependencies
+ between two different agents."
+ ::= { upsmgRemote 2}
+
+END
+MG-SNMP-UPS-MIB DEFINITIONS ::= BEGIN
+
+-- Title: UPS MIB
+-- Date: October 11, 1995
+-- Author: Merlin Gerin - DAM Division
+-- Release: V1.6
+
+IMPORTS
+ enterprises,IpAddress,TimeTicks
+ FROM RFC1155-SMI
+ DisplayString
+ FROM RFC1213-MIB
+ OBJECT-TYPE
+ FROM RFC1212
+ TRAP-TYPE
+ FROM RFC1215;
+
+----
+-- Path to the root
+----
+merlinGerin OBJECT IDENTIFIER ::= { enterprises 705 }
+upsmg OBJECT IDENTIFIER ::= { merlinGerin 1 }
+
+-- Management and Configuration groups of the MIB
+upsmgIdent OBJECT IDENTIFIER ::= { upsmg 1 }
+upsmgManagement OBJECT IDENTIFIER ::= { upsmg 2 }
+upsmgReceptacle OBJECT IDENTIFIER ::= { upsmg 3 }
+upsmgConfig OBJECT IDENTIFIER ::= { upsmg 4 }
+
+-- UPS Monitoring groups of the MIB
+upsmgBattery OBJECT IDENTIFIER ::= { upsmg 5 }
+upsmgInput OBJECT IDENTIFIER ::= { upsmg 6 }
+upsmgOutput OBJECT IDENTIFIER ::= { upsmg 7 }
+upsmgEnviron OBJECT IDENTIFIER ::= { upsmg 8 }
+
+-- UPS Controlling groups of the MIB
+upsmgControl OBJECT IDENTIFIER ::= { upsmg 9 }
+upsmgTest OBJECT IDENTIFIER ::= { upsmg 10 }
+upsmgTraps OBJECT IDENTIFIER ::= { upsmg 11 }
+
+upsmgAgent OBJECT IDENTIFIER ::= { upsmg 12 }
+upsmgRemote OBJECT IDENTIFIER ::= { upsmg 13 }
+
+----
+-- Definition of object types
+----
+
+-- Management and Configuration groups of the MIB:
+-- upsmgIdent(1), upsmgManagement(2), upsmgReceptacle(3), upsmgConfig(4)
+
+--------------------------
+-- the upsmgIdent group --
+--------------------------
+
+upsmgIdentFamilyName OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS family name (e.g. `PULSAR', `COMET', `GALAXY', ...)."
+ ::= { upsmgIdent 1 }
+
+upsmgIdentModelName OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS model name (e.g. `PSX20', `SV9', ... )."
+ ::= { upsmgIdent 2 }
+
+upsmgIdentRevisionLevel OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS revision level."
+ ::= { upsmgIdent 3 }
+
+upsmgIdentFirmwareVersion OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS microprocessor firmware version number."
+ ::= { upsmgIdent 4 }
+
+upsmgIdentUserID OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS user identification (set by administrator)."
+ ::= { upsmgIdent 5 }
+
+upsmgIdentInstallationDate OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS installation date in dd/mm/yy format."
+ ::= { upsmgIdent 6 }
+
+upsmgIdentSerialNumber OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS manufacturing serial number."
+ ::= { upsmgIdent 7 }
+
+--------------------------
+-- the upsmgManagement group --
+--------------------------
+
+-- This group gives objects for description of a list of Managers.
+-- A management platform is identified, can be powered by the UPS,
+-- and is allowed to a certain level of management.
+
+upsmgManagersNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of managers that could manage the UPS."
+ ::= { upsmgManagement 1 }
+
+upsmgManagersTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgManagerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of managers."
+ ::= { upsmgManagement 2 }
+
+upsmgManagerEntry OBJECT-TYPE
+ SYNTAX UpsmgManagerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a manager entry in the managers table."
+ INDEX { mgmanagerIndex }
+ ::= { upsmgManagersTable 1 }
+
+UpsmgManagerEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgmanagerIndex INTEGER,
+ mgmanagerDeviceNumber INTEGER,
+ mgmanagerNMSType INTEGER,
+ mgmanagerCommType INTEGER,
+ mgmanagerDescr DisplayString,
+ mgmanagerAddress IpAddress,
+ mgmanagerCommunity DisplayString,
+ mgmanagerSeverityLevel INTEGER,
+ mgmanagerTrapAck INTEGER
+}
+
+mgmanagerIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each manager. Its value ranges between 1
+ and the value of upsmgManagersNum."
+ ::= { upsmgManagerEntry 1 }
+
+mgmanagerDeviceNumber OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object is the number of the manager device in the
+ DevicesTable of the Config group. This means that the
+ manager is powered by the UPS. If not the default value is 0."
+ ::= { upsmgManagerEntry 2 }
+
+mgmanagerNMSType OBJECT-TYPE
+ SYNTAX INTEGER {
+ umclient(1),
+ decnetview(2),
+ umview(3),
+ dview(4),
+ hpopenview(5),
+ sunnetmanager(6),
+ novellnms(7),
+ ibmnetview(8),
+ other(9),
+ autolearning(10)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of manager according to the NMS platform. We
+ include in the manager class all systems which will be
+ notified by the agent via receiving traps (e.g. basic
+ to complex NMS software)."
+ ::= { upsmgManagerEntry 3 }
+
+mgmanagerCommType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated manager
+ cmip(3), -- OSI CMIP
+ snmpv1(4), -- SNMPv1
+ snmpv2(5) -- SNMPv2
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The level of communication protocol for that manager.
+ Setting this object to value invalid(2) has the effect of
+ invalidating the corresponding entry in the upsmgManagersTable.
+ It is an implementation-specific matter as to wether the agent
+ removes an invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive tabular
+ information from agents that corresponds to entry not currently
+ in use. Proper interpretation of such entries requires
+ examination of the relevant mgmanagerCommType object."
+ ::= { upsmgManagerEntry 4 }
+
+mgmanagerDescr OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string containing information about the manager.
+ (manufacturer and version description)."
+ ::= { upsmgManagerEntry 5 }
+
+mgmanagerAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of the manager station receiving traps. The
+ value of this object is meaningful if and only if the value
+ of the relevant mgmanagerCommType object is snmp type."
+ ::= { upsmgManagerEntry 6 }
+
+mgmanagerCommunity OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The manager community string."
+ ::= { upsmgManagerEntry 7 }
+
+mgmanagerSeverityLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The severity level of traps to be received by this manager."
+ ::= { upsmgManagerEntry 8 }
+
+mgmanagerTrapAck OBJECT-TYPE
+ SYNTAX INTEGER {
+ mgack(1),
+ mgnoack(2),
+ stdnomg(3),
+ mgacks(4),
+ cpqnoack(5)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The manager Trap Acknowledgement status. Setting
+ this object to mgnoack(2) or stdnomg(3) or cpqnoack(5)
+ disables the trap acknowledgement from the related
+ manager. The MG enterprise specific trap should then
+ be sent only once by the agent to this manager in case
+ of mgnoack(2), and should not be sent by the agent to
+ this manager in case of stdnomg(3) or cpqnoack(5).
+ mgack(1) allows a basic mecanism for acknowledged
+ traps using upsmgAgentTrapAck object set by the
+ manager to the enterprise specific number of the trap.
+ mgacks(5) allows the enhanced mecanism using the
+ upsmgAgentTrapSignature object set by the manager
+ to the signature received within the trap var binding."
+ ::= { upsmgManagerEntry 9 }
+
+--------------------------
+-- the upsmgReceptacle group --
+--------------------------
+
+-- This group gives objects for description of the receptacles of the
+-- UPS. The receptacle notion has been extended to many configurations:
+-- For a small simple UPS, there is only one receptacle which corresponds
+-- to the output of the UPS.
+-- For a more complex UPS with powershare capabilities, there is a one-level
+-- receptacle table allowing to distribute ON/OFF control on the receptacles.
+-- For others (EHQ, big UPS with Distributed Power Units), there is a
+-- two-level receptacle table allowing to distribute control and management
+-- of the receptacles plugs into one of the first level receptacles.
+
+upsmgReceptaclesNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of receptacles controlled by the UPS."
+ ::= { upsmgReceptacle 1 }
+
+upsmgReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgReceptacleEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles that are controlled by the UPS."
+ ::= { upsmgReceptacle 2 }
+
+upsmgReceptacleEntry OBJECT-TYPE
+ SYNTAX UpsmgReceptacleEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle in the table."
+ INDEX { mgreceptacleIndex }
+ ::= { upsmgReceptaclesTable 1 }
+
+UpsmgReceptacleEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndex INTEGER,
+ mgreceptacleLevel INTEGER,
+ mgreceptacleType DisplayString,
+ mgreceptacleIdent DisplayString,
+ mgreceptacleState INTEGER,
+ mgreceptacleReceptacle INTEGER,
+ mgreceptacleAutonomy INTEGER,
+ mgreceptaclePowerCons INTEGER,
+ mgreceptacleOverload INTEGER
+}
+
+mgreceptacleIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between
+ 1 and the value of upsmgReceptaclesNum."
+ ::= { upsmgReceptacleEntry 1 }
+
+mgreceptacleLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The level of receptacle.
+
+ Setting this object to value invalid(2) has the effect of
+ invalidating the corresponding entry in the upsmgReceptaclesTable.
+ It is an implementation-specific matter as to wether the agent
+ removes an invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive tabular
+ information from agents that corresponds to entry not currently
+ in use. Proper interpretation of such entries requires
+ examination of the relevant receptacleLevel object.
+ Values 1 and 4 are reserved, value 3 is used to identify a simple
+ one-level receptacle, and values greater than 4 represent a
+ group of equivalent receptacles."
+ ::= { upsmgReceptacleEntry 2 }
+
+mgreceptacleType OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for the receptacle type."
+ ::= { upsmgReceptacleEntry 3 }
+
+mgreceptacleIdent OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string identification for the user."
+ ::= { upsmgReceptacleEntry 4 }
+
+mgreceptacleState OBJECT-TYPE
+ SYNTAX INTEGER {
+ manualON(1), -- after manual turn on
+ manualOFF(2), -- after manual turn off
+ normalON(3), -- after normal restart sequence
+ normalOFF(4), -- after normal shutoff sequence
+ controlON(5), -- after upsControl on command
+ controlOFF(6), -- after upsControl off command
+ scheduleON(7), -- after schedule turn on
+ scheduleOFF(8) -- after schedule turn off
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ON/OFF status of the receptacle."
+ ::= { upsmgReceptacleEntry 5 }
+
+mgreceptacleReceptacle OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle number of the second level receptacle father.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 6 }
+
+mgreceptaclePowerCons OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The volt-ampere rating of the receptacle.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 7 }
+
+mgreceptacleOverload OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The overload status of the receptacle.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 8 }
+
+mgreceptacleAutonomy OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle autonomy.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 9 }
+
+--------------------------
+-- the upsmgConfig group --
+--------------------------
+
+-- This group gives objects for describing:
+-- Battery characteristics and administrative status,
+-- Configuration set points for normal shutoff and restart,
+-- Nominal voltage and Input low/high transfer point,
+-- Output and By Pass characteristics,
+-- Devices table (powered systems),
+-- Receptacles default table.
+-- Environ external alarms UserID table.
+
+-- Battery characteristics and administrative status.
+
+upsmgConfigBatteryInstalled OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The battery installed status."
+ ::= { upsmgConfig 1 }
+
+upsmgConfigNominalBatteryVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal battery voltage."
+ ::= { upsmgConfig 2 }
+
+upsmgConfigNominalBatteryTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The full load battery autonomy time."
+ ::= { upsmgConfig 3 }
+
+upsmgConfigNominalRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The recharge time to go from low battery cut off
+ to full charge at full load."
+ ::= { upsmgConfig 4 }
+
+-- Configuration set points for normal shutoff and restart.
+
+upsmgConfigMinRechargeLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The minimum battery level required to supply power on the
+ loads after low battery condition turn off and restart on
+ main return."
+ ::= { upsmgConfig 5 }
+
+upsmgConfigMaxRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum time delay of battery recharge before supply
+ power to the loads."
+ ::= { upsmgConfig 6 }
+
+upsmgConfigLowBatteryTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set remaining time value for low battery condition."
+ ::= { upsmgConfig 7 }
+
+upsmgConfigLowBatteryLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set battery level value for low battery condition."
+ ::= { upsmgConfig 8 }
+
+upsmgConfigAutoRestart OBJECT-TYPE
+ SYNTAX INTEGER {
+ always(1),
+ never(2),
+ onmain(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic restart enabling status."
+ ::= { upsmgConfig 9 }
+
+upsmgConfigShutdownTimer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set ups shutdown timer from on battery condition."
+ ::= { upsmgConfig 10 }
+
+upsmgConfigSysShutDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set ups shutdown delay (Sn delay)."
+ ::= { upsmgConfig 11 }
+
+-- Nominal voltage and Input low/high transfer point.
+
+upsmgConfigVARating OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal VA rating."
+ ::= { upsmgConfig 12 }
+
+upsmgConfigLowTransfer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The low voltage transfer point."
+ ::= { upsmgConfig 13 }
+
+upsmgConfigHighTransfer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The high voltage transfer point."
+ ::= { upsmgConfig 14 }
+
+-- Output and By Pass characteristics.
+
+upsmgConfigOutputNominalVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output voltage."
+ ::= { upsmgConfig 15 }
+
+upsmgConfigOutputNominalCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output current."
+ ::= { upsmgConfig 16 }
+
+upsmgConfigOutputNominalFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output frequency."
+ ::= { upsmgConfig 17 }
+
+upsmgConfigByPassType OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ relay(2),
+ static(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS by pass switch type."
+ ::= { upsmgConfig 18 }
+
+upsmgConfigAlarmAudible OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set audible alarm status."
+ ::= { upsmgConfig 19 }
+
+upsmgConfigAlarmTimeDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set audible alarm time delay."
+ ::= { upsmgConfig 20 }
+
+-- Devices table (powered systems).
+
+upsmgConfigDevicesNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The number of devices that are powered by the UPS."
+ ::= { upsmgConfig 21 }
+
+upsmgConfigDevicesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgDeviceEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of devices that are powered by the UPS."
+ ::= { upsmgConfig 22 }
+
+upsmgDeviceEntry OBJECT-TYPE
+ SYNTAX UpsmgDeviceEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a device entry in the devices table."
+ INDEX { mgdeviceIndex }
+ ::= { upsmgConfigDevicesTable 1 }
+
+UpsmgDeviceEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgdeviceIndex INTEGER,
+ mgdeviceReceptacleNum INTEGER,
+ mgdeviceIdent DisplayString,
+ mgdeviceVaRating INTEGER,
+ mgdeviceSequenceOff INTEGER,
+ mgdeviceSequenceOn INTEGER,
+ mgdeviceShutdownDuration INTEGER,
+ mgdeviceBootUpDuration INTEGER
+}
+
+mgdeviceIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each device. Its value ranges between 1
+ and the value of upsmgDevicesNum."
+ ::= { upsmgDeviceEntry 1 }
+
+mgdeviceReceptacleNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle number of the device plugged into the UPS.
+ This value gives index entry in the ReceptaclesTable object
+ of the Receptacle group. A value of 0 invalidates the entry
+ in the DevicesTable."
+ ::= { upsmgDeviceEntry 2 }
+
+mgdeviceIdent OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for device user identification."
+ ::= { upsmgDeviceEntry 3 }
+
+mgdeviceVaRating OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The volt-ampere rating of the device plugged into the UPS."
+ ::= { upsmgDeviceEntry 4 }
+
+mgdeviceSequenceOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the device position in the remote shutdown sequence."
+ ::= { upsmgDeviceEntry 5 }
+
+mgdeviceSequenceOn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the device position in the remote reboot sequence."
+ ::= { upsmgDeviceEntry 6 }
+
+mgdeviceShutdownDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the duration from start of computer shut-down
+ to complete."
+ ::= { upsmgDeviceEntry 7 }
+
+mgdeviceBootUpDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the duration from start of computer boot-up
+ to complete."
+ ::= { upsmgDeviceEntry 8 }
+
+-- Receptacles default table.
+
+-- This table gives for every receptacle the power return condition for
+-- each failure cause.
+
+upsmgConfigReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCfgReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles."
+ ::= { upsmgConfig 23 }
+
+upsmgCfgReceptEntry OBJECT-TYPE
+ SYNTAX UpsmgCfgReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle entry in the table."
+ INDEX { mgreceptacleIndexb }
+ ::= { upsmgConfigReceptaclesTable 1 }
+
+UpsmgCfgReceptEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndexb INTEGER,
+ mgreceptacleStateTurnOn INTEGER,
+ mgreceptacleStateMainReturn INTEGER,
+ mgreceptacleStateDischarge INTEGER,
+ mgreceptacleShutoffLevel INTEGER,
+ mgreceptacleShutoffTimer INTEGER,
+ mgreceptacleRestartLevel INTEGER,
+ mgreceptacleRestartDelay INTEGER,
+ mgreceptacleShutdownDuration INTEGER,
+ mgreceptacleBootUpDuration INTEGER
+}
+
+mgreceptacleIndexb OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between 1
+ and the value of upsmgReceptaclesNum."
+ ::= { upsmgCfgReceptEntry 1 }
+
+mgreceptacleStateTurnOn OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state at turn on."
+ ::= { upsmgCfgReceptEntry 2 }
+
+mgreceptacleStateMainReturn OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state on main return."
+ ::= { upsmgCfgReceptEntry 3 }
+
+mgreceptacleStateDischarge OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state on main return from battery discharge."
+ ::= { upsmgCfgReceptEntry 4 }
+
+mgreceptacleShutoffLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Battery level for starting shutoff sequence."
+ ::= { upsmgCfgReceptEntry 5 }
+
+mgreceptacleShutoffTimer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Time delay from on battery for starting shutoff sequence."
+ ::= { upsmgCfgReceptEntry 6 }
+
+mgreceptacleRestartLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Battery level for starting restart sequence."
+ ::= { upsmgCfgReceptEntry 7 }
+
+mgreceptacleRestartDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Time delay for starting restart sequence."
+ ::= { upsmgCfgReceptEntry 8 }
+
+mgreceptacleShutdownDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Maximum Shutdown Duration for systems powered by this plug."
+ ::= { upsmgCfgReceptEntry 9 }
+
+mgreceptacleBootUpDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Maximum Reboot Duration for systems powered by this plug."
+ ::= { upsmgCfgReceptEntry 10 }
+
+-- Environ external alarms UserID table.
+
+upsmgConfigExtAlarmNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of environ external alarm, value is
+ between 8 and 32.."
+ ::= { upsmgConfig 24 }
+
+upsmgConfigExtAlarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of environmental external alarms."
+ ::= { upsmgConfig 25 }
+
+upsmgExtAlarmEntry OBJECT-TYPE
+ SYNTAX UpsmgExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an external alarm in the table."
+ INDEX { mgextAlarmIndex }
+ ::= { upsmgConfigExtAlarmTable 1 }
+
+UpsmgExtAlarmEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgextAlarmIndex INTEGER,
+ mgextAlarmUID DisplayString
+}
+
+mgextAlarmIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each external alarm. Its value ranges
+ between 1 and the value of upsmgConfigExtAlarmNum."
+ ::= { upsmgExtAlarmEntry 1 }
+
+mgextAlarmUID OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for alarm state user identification."
+ ::= { upsmgExtAlarmEntry 2 }
+
+upsmgConfigEmergencyTestFail OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on Battery test fail."
+ ::= { upsmgConfig 26 }
+
+upsmgConfigEmergencyOnByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on By Pass."
+ ::= { upsmgConfig 27 }
+
+upsmgConfigEmergencyOverload OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on overload."
+ ::= { upsmgConfig 28 }
+
+-- Schedule on/off daily time table.
+
+upsmgConfigControlDayTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCtrlDayEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of daily on/off time."
+ ::= { upsmgConfig 29 }
+
+upsmgCtrlDayEntry OBJECT-TYPE
+ SYNTAX UpsmgCtrlDayEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a daily on/off time schedule in the table."
+ INDEX { mgcontrolDayIndex }
+ ::= { upsmgConfigControlDayTable 1 }
+
+UpsmgCtrlDayEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgcontrolDayIndex INTEGER,
+ mgcontrolDayOn INTEGER,
+ mgcontrolDayOff INTEGER
+}
+
+mgcontrolDayIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The day index. It is a number between 1 and 7, 1 for
+ Sunday, 2 for Monday, ..."
+ ::= { upsmgCtrlDayEntry 1 }
+
+mgcontrolDayOn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set daily power on time. Any value greater than 86400
+ is to disable the Day On."
+ ::= { upsmgCtrlDayEntry 2 }
+
+mgcontrolDayOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set daily power off time. Any value greater than 86400
+ is to disable the Day Off."
+ ::= { upsmgCtrlDayEntry 3 }
+
+upsmgConfigLowBooster OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS booster low threshold."
+ ::= { upsmgConfig 30 }
+
+upsmgConfigHighBooster OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS booster high threshold."
+ ::= { upsmgConfig 31 }
+
+upsmgConfigLowFader OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS fader low threshold."
+ ::= { upsmgConfig 32 }
+
+upsmgConfigHighFader OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS fader high threshold."
+ ::= { upsmgConfig 33 }
+
+-- UPS Monitoring groups of the MIB:
+-- upsmgBattery(5), upsmgInput(6), upsmgOutput(7), upsmgEnviron(8)
+
+----------------------------
+-- the upsmgBattery group --
+----------------------------
+
+upsmgBatteryRemainingTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The time remaining actual charge vs actual load (dynamic)."
+ ::= { upsmgBattery 1 }
+
+upsmgBatteryLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery level as a percentage of charge."
+ ::= { upsmgBattery 2 }
+
+upsmgBatteryRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual operational battery recharge time to set point
+ equal to upsmgConfigRechargeLevel. This value is computed from
+ upsmgConfigRechargeLevel (level to reach), upsmgBatteryLevel (the
+ actual reached level) and the UPS charge rate."
+ ::= { upsmgBattery 3 }
+
+upsmgBatteryRechargeLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual value of the battery recharge level that will be
+ reached during the time delay necessary to restart after power
+ returns. This value is computed from upsmgConfigRechargeTime
+ (the delay), upsmgBatteryLevel (the actual level) and the UPS
+ charge rate."
+ ::= { upsmgBattery 4 }
+
+upsmgBatteryVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual battery voltage."
+ ::= { upsmgBattery 5 }
+
+upsmgBatteryCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual battery current."
+ ::= { upsmgBattery 6 }
+
+upsmgBatteryTemperature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery temperature."
+ ::= { upsmgBattery 7 }
+
+upsmgBatteryFullRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery full recharge time (from 0 to 100 percent)
+ at current load."
+ ::= { upsmgBattery 8 }
+
+upsmgBatteryFaultBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery fault status."
+ ::= { upsmgBattery 9 }
+
+upsmgBatteryNoBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS has no Battery status."
+ ::= { upsmgBattery 10 }
+
+upsmgBatteryReplacement OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery to be replaced status."
+ ::= { upsmgBattery 11 }
+
+upsmgBatteryUnavailableBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is unavailable status."
+ ::= { upsmgBattery 12 }
+
+upsmgBatteryNotHighCharge OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery quit high condition status."
+ ::= { upsmgBattery 13 }
+
+upsmgBatteryLowBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery low status."
+ ::= { upsmgBattery 14 }
+
+upsmgBatteryChargerFault OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is not charging status."
+ ::= { upsmgBattery 15 }
+
+upsmgBatteryLowCondition OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS is at low condition status."
+ ::= { upsmgBattery 16 }
+
+upsmgBatteryLowRecharge OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is not recharged status."
+ ::= { upsmgBattery 17 }
+
+--------------------------
+-- the upsmgInput group --
+--------------------------
+
+upsmgInputPhaseNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input phases."
+ ::= { upsmgInput 1 }
+
+upsmgInputPhaseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgInputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of input phases."
+ ::= { upsmgInput 2 }
+
+upsmgInputPhaseEntry OBJECT-TYPE
+ SYNTAX UpsmgInputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an input phase."
+ INDEX { mginputIndex }
+ ::= { upsmgInputPhaseTable 1 }
+
+UpsmgInputPhaseEntry ::= SEQUENCE { -- ASN.1 type definition
+ mginputIndex INTEGER,
+ mginputVoltage INTEGER,
+ mginputFrequency INTEGER,
+ mginputMinimumVoltage INTEGER,
+ mginputMaximumVoltage INTEGER,
+ mginputCurrent INTEGER
+}
+
+mginputIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase voltage index. It is a number between 1
+ and upsmgInputPhaseNum."
+ ::= { upsmgInputPhaseEntry 1 }
+
+mginputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase voltage."
+ ::= { upsmgInputPhaseEntry 2 }
+
+mginputFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase frequency."
+ ::= { upsmgInputPhaseEntry 3 }
+
+mginputMinimumVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase minimum voltage over the last minute."
+ ::= { upsmgInputPhaseEntry 4 }
+
+mginputMaximumVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase maximum voltage over the last minute."
+ ::= { upsmgInputPhaseEntry 5 }
+
+mginputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase current."
+ ::= { upsmgInputPhaseEntry 6 }
+
+upsmgInputBadStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The utility power bad voltage or bad frequency status."
+ ::= { upsmgInput 3 }
+
+upsmgInputLineFailCause OBJECT-TYPE
+ SYNTAX INTEGER {
+ no(1),
+ outoftolvolt(2),
+ outoftolfreq(3),
+ utilityoff(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The utility power failure cause:
+ no(1) is for no utility failure,
+ outoftolvolt(2) is for voltage out of tolerance,
+ outoftolfreq(3) is for frequency out of tolerance,
+ utilityoff(4) is for no voltage at all."
+ ::= { upsmgInput 4 }
+
+--------------------------
+-- the upsmgOutput group --
+--------------------------
+
+upsmgOutputPhaseNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of output phases."
+ ::= { upsmgOutput 1 }
+
+upsmgOutputPhaseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgOutputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of output phases."
+ ::= { upsmgOutput 2 }
+
+upsmgOutputPhaseEntry OBJECT-TYPE
+ SYNTAX UpsmgOutputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an output phase."
+ INDEX { mgoutputPhaseIndex }
+ ::= { upsmgOutputPhaseTable 1 }
+
+UpsmgOutputPhaseEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgoutputPhaseIndex INTEGER,
+ mgoutputVoltage INTEGER,
+ mgoutputFrequency INTEGER,
+ mgoutputLoadPerPhase INTEGER,
+ mgoutputCurrent INTEGER
+}
+
+mgoutputPhaseIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase voltage index. It is a number between 1
+ and upsmgOutputPhaseNum."
+ ::= { upsmgOutputPhaseEntry 1 }
+
+mgoutputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase voltage."
+ ::= { upsmgOutputPhaseEntry 2 }
+
+mgoutputFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase frequency."
+ ::= { upsmgOutputPhaseEntry 3 }
+
+mgoutputLoadPerPhase OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load per phase."
+ ::= { upsmgOutputPhaseEntry 4 }
+
+mgoutputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase current."
+ ::= { upsmgOutputPhaseEntry 5 }
+
+upsmgOutputOnBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on battery / on main status."
+ ::= { upsmgOutput 3 }
+
+upsmgOutputOnByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on bypass status."
+ ::= { upsmgOutput 4 }
+
+upsmgOutputUnavailableByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The by pass unavailable status."
+ ::= { upsmgOutput 5 }
+
+upsmgOutputNoByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS bypass installed status."
+ ::= { upsmgOutput 6 }
+
+upsmgOutputUtilityOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS utility off status."
+ ::= { upsmgOutput 7 }
+
+upsmgOutputOnBoost OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on booster status."
+ ::= { upsmgOutput 8 }
+
+upsmgOutputInverterOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Inverter on / off status."
+ ::= { upsmgOutput 9 }
+
+upsmgOutputOverLoad OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output over load status."
+ ::= { upsmgOutput 10 }
+
+upsmgOutputOverTemp OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ups over temperature status."
+ ::= { upsmgOutput 11 }
+
+upsmgOutputOnBuck OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on fader status."
+ ::= { upsmgOutput 12 }
+
+----------------------------
+-- the upsmgEnviron group --
+----------------------------
+
+upsmgEnvironAmbientTemp OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ambient temperature."
+ ::= { upsmgEnviron 1 }
+
+upsmgEnvironAmbientHumidity OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ambient humidity."
+ ::= { upsmgEnviron 2 }
+
+upsmgEnvironExtAlarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgEnvironExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of external alarms."
+ ::= { upsmgEnviron 3 }
+
+upsmgEnvironExtAlarmEntry OBJECT-TYPE
+ SYNTAX UpsmgEnvironExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an external alarm."
+ INDEX { mgalarmNum }
+ ::= { upsmgEnvironExtAlarmTable 1 }
+
+UpsmgEnvironExtAlarmEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgalarmNum INTEGER,
+ mgalarmState INTEGER
+}
+
+mgalarmNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The external alarm number. A number between 1 and
+ upsmgConfigExtAlarmNum."
+ ::= { upsmgEnvironExtAlarmEntry 1 }
+
+mgalarmState OBJECT-TYPE
+ SYNTAX INTEGER {
+ active(1),
+ inactive(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The external alarm state (active or inactive)."
+ ::= { upsmgEnvironExtAlarmEntry 2 }
+
+upsmgEnvironSensorNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor unit number (0 to 4)."
+ ::= { upsmgEnviron 4 }
+
+upsmgEnvironSensorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgEnvironSensorEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of sensor units."
+ ::= { upsmgEnviron 5 }
+
+upsmgEnvironSensorEntry OBJECT-TYPE
+ SYNTAX UpsmgEnvironSensorEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a sensor unit."
+ INDEX { mgsensorNum }
+ ::= { upsmgEnvironSensorTable 1 }
+
+UpsmgEnvironSensorEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgsensorNum INTEGER,
+ mgsensorTemp INTEGER,
+ mgsensorHumidity INTEGER
+}
+
+mgsensorNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The unit number. A number between 1 and 4."
+ ::= { upsmgEnvironSensorEntry 1 }
+
+mgsensorTemp OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The measured temperature of the unit."
+ ::= { upsmgEnvironSensorEntry 2 }
+
+mgsensorHumidity OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The measured humidity of the unit."
+ ::= { upsmgEnvironSensorEntry 3 }
+
+-- UPS Controlling groups of the MIB:
+-- upsmgControl(9), upsmgTest(10), upsmgTraps(11)
+
+----------------------------
+-- the upsmgControl group --
+----------------------------
+
+-- Receptacles control table.
+
+-- This table gives for every receptacle the ON/OFF control objects.
+
+upsmgControlReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCtrlReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles."
+ ::= { upsmgControl 1 }
+
+upsmgCtrlReceptEntry OBJECT-TYPE
+ SYNTAX UpsmgCtrlReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle entry in the table."
+ INDEX { mgreceptacleIndexc }
+ ::= { upsmgControlReceptaclesTable 1 }
+
+UpsmgCtrlReceptEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndexc INTEGER,
+ mgreceptacleOnDelay INTEGER,
+ mgreceptacleOnCtrl INTEGER,
+ mgreceptacleOnStatus INTEGER,
+ mgreceptacleOffDelay INTEGER,
+ mgreceptacleOffCtrl INTEGER,
+ mgreceptacleOffStatus INTEGER,
+ mgreceptacleToggleDelay INTEGER,
+ mgreceptacleToggleCtrl INTEGER,
+ mgreceptacleToggleStatus INTEGER,
+ mgreceptacleToggleDuration INTEGER
+}
+
+mgreceptacleIndexc OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between 1
+ and the value of upsmgReceptaclesNum."
+ ::= { upsmgCtrlReceptEntry 1 }
+
+mgreceptacleOnDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn on UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 2 }
+
+mgreceptacleOnCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control on action."
+ ::= { upsmgCtrlReceptEntry 3 }
+
+mgreceptacleOnStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control on status."
+ ::= { upsmgCtrlReceptEntry 4 }
+
+mgreceptacleOffDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 5 }
+
+mgreceptacleOffCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control off action."
+ ::= { upsmgCtrlReceptEntry 6 }
+
+mgreceptacleOffStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control off status."
+ ::= { upsmgCtrlReceptEntry 7 }
+
+mgreceptacleToggleDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off then on UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 8 }
+
+mgreceptacleToggleCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control toggle action."
+ ::= { upsmgCtrlReceptEntry 9 }
+
+mgreceptacleToggleStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control toggle status."
+ ::= { upsmgCtrlReceptEntry 10 }
+
+mgreceptacleToggleDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off then on UPS receptacle w/duration=?."
+ ::= { upsmgCtrlReceptEntry 11 }
+
+upsmgControlDayOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ sunday(1), monday(2), tuesday(3), wednesday(4),
+ thursday(5), friday(6), saterday(7), none(8)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The schedule off control object. Default value is none(8).
+ Value 1 means to start scheduled off on Sunday,
+ value 2 to start scheduled off on Monday, and so on."
+ ::= { upsmgControl 2 }
+
+upsmgControlDayOn OBJECT-TYPE
+ SYNTAX INTEGER {
+ sunday(1), monday(2), tuesday(3), wednesday(4),
+ thursday(5), friday(6), saterday(7), none(8)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The schedule on control object. Default value is none(8).
+ Value 1 means to start scheduled on on Sunday,
+ value 2 to start scheduled on on Monday, and so on.
+ This object is meaningfull only for those agent that do not
+ include internal clock. In such a case the object is set by
+ a manager to start the schedule on sequence."
+ ::= { upsmgControl 3 }
+
+--------------------------
+-- the upsmgTest group --
+--------------------------
+
+upsmgTestBatterySchedule OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ weekly(2),
+ monthly(3),
+ atturnon(4),
+ none(5),
+ dayly(6)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic battery test schedule."
+ ::= { upsmgTest 1 }
+
+upsmgTestDiagnostics OBJECT-TYPE
+ SYNTAX INTEGER {
+ default(1),
+ start(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run self test diagnostics."
+ ::= { upsmgTest 2 }
+
+upsmgTestDiagResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ success(1),
+ failed(2),
+ none(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic test diagnostic result."
+ ::= { upsmgTest 3 }
+
+upsmgTestBatteryCalibration OBJECT-TYPE
+ SYNTAX INTEGER {
+ default(1),
+ start(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run battery test calibration."
+ ::= { upsmgTest 4 }
+
+upsmgTestLastCalibration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The last battery calibration test date."
+ ::= { upsmgTest 5 }
+
+upsmgTestIndicators OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run UPS indicators test."
+ ::= { upsmgTest 6 }
+
+upsmgTestCommandLine OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To send ASCII command line to UPS."
+ ::= { upsmgTest 7 }
+
+upsmgTestCommandReady OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To advise UPS that command line has been prepared."
+ ::= { upsmgTest 8 }
+
+upsmgTestResponseLine OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "To get ASCII protocol response from UPS."
+ ::= { upsmgTest 9 }
+
+upsmgTestResponseReady OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "To advise agent that response line has been received."
+ ::= { upsmgTest 10 }
+
+upsmgTestBatteryResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ msuccess(1),
+ mfailed(2),
+ ssuccess(3),
+ sfailed(4),
+ none(5)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The test battery result:
+ msuccess(1) is for manual battery test success,
+ ssuccess(3) is for scheduled battery test success,
+ mfailed(2) is for manual battery test failed,
+ sfailed(4) is for scheduled battery test failed."
+ ::= { upsmgTest 11 }
+
+--------------------------
+-- the upsmgTraps group --
+--------------------------
+
+-- This group defines objects and traps, so that for each trap, simple
+-- get request on related objects (one or many) allow to confirm actual
+-- status of the trap.
+
+-- TRAPS NOTIFICATIONS
+
+upsmgBatteryFault TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS Battery entering Fault status."
+::= 1
+
+upsmgBatteryOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS Battery returned to OK status."
+::= 2
+
+upsmgBatteryReplacementIndicated TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery need to be replaced."
+::= 3
+
+upsmgBatteryReplacementNotIndicated TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery does not need to be replaced."
+::= 4
+
+upsmgAtLowBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS battery reached low condition."
+::= 5
+
+upsmgFromLowBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS battery returned from low condition."
+::= 6
+
+upsmgChargerFault TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery charger is not active."
+::= 7
+
+upsmgChargerOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery charger is active."
+::= 8
+
+upsmgAtLowCondition TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS entering low condition."
+::= 9
+
+upsmgFromLowCondition TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS exiting low condition."
+::= 10
+
+upsmgOnBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS is on Battery."
+::= 11
+
+upsmgReturnFromBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS returned from battery."
+::= 12
+
+upsmgOnByPass TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on by pass."
+::= 13
+
+upsmgReturnFromByPass TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS return from by pass."
+::= 14
+
+upsmgByPassUnavailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS by pass unavailable."
+::= 15
+
+upsmgByPassAvailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS by pass available."
+::= 16
+
+upsmgUtilityFailure TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS utility power failed."
+::= 17
+
+upsmgUtilityRestored TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS utility power restored."
+::= 18
+
+upsmgOnBoost TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on boost."
+::= 19
+
+upsmgReturnFromBoost TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has returned from boost."
+::= 20
+
+upsmgOverLoad TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has overload condition."
+::= 21
+
+upsmgLoadOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS quit overload condition."
+::= 22
+
+upsmgOverTemperature TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has overtemperature condition."
+::= 23
+
+upsmgTemperatureOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS quit overtemperature condition."
+::= 24
+
+upsmgOnToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState, mgreceptacleOnDelay,
+ mgreceptacleRestartDelay }
+ DESCRIPTION
+ "Trap UPS on sequence started."
+::= 25
+
+upsmgOnAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOnDelay }
+ DESCRIPTION
+ "Trap UPS on sequence cancelled."
+::= 26
+
+upsmgOnInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState,
+ mgreceptacleBootUpDuration }
+ DESCRIPTION
+ "Trap UPS on sequence in progress in ups."
+::= 27
+
+upsmgOnComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOnDelay }
+ DESCRIPTION
+ "Trap UPS on sequence completed."
+::= 28
+
+upsmgOffToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState, mgreceptacleOffDelay,
+ mgreceptacleShutoffTimer, upsmgConfigSysShutDuration }
+ DESCRIPTION
+ "Trap UPS off sequence started."
+::= 29
+
+upsmgOffAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOffDelay }
+ DESCRIPTION
+ "Trap UPS off sequence cancelled."
+::= 30
+
+upsmgOffInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState,
+ mgreceptacleShutdownDuration }
+ DESCRIPTION
+ "Trap UPS off sequence in progress in ups."
+::= 31
+
+upsmgOffComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOffDelay }
+ DESCRIPTION
+ "Trap UPS off sequence completed."
+::= 32
+
+upsmgToggleToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDelay }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence started."
+::= 33
+
+upsmgToggleAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDelay }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence cancelled."
+::= 34
+
+upsmgToggleInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDuration }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence in progress in ups."
+::= 35
+
+upsmgToggleComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDuration }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence completed."
+::= 36
+
+upsmgCommunicationFailure TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS serial communication failed."
+::= 37
+
+upsmgCommunicationRestored TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS serial communication restored."
+::= 38
+
+upsmgInputBad TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS input has bad condition."
+::= 39
+
+upsmgInputOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS input quit bad condition."
+::= 40
+
+upsmgBatteryUnavailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery is unavailable."
+::= 41
+
+upsmgBatteryAvailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery return from unavailable condition."
+::= 42
+
+upsmgAtLowRecharge TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS waiting for battery charging condition."
+::= 43
+
+upsmgFromLowRecharge TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS reached battery charging condition."
+::= 44
+
+upsmgDiagnosticTestFail TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS self test failed."
+::= 45
+
+upsmgDiagnosticTestOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS self test succeeded."
+::= 46
+
+upsmgBatteryTestOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS passed battery test."
+::= 47
+
+upsmgBatteryTestFail TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS failed battery test."
+::= 48
+
+upsmgExternalAlarmActive TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgextAlarmIndex, mgextAlarmUID }
+ DESCRIPTION
+ "Trap UPS enter environment external alarm."
+::= 49
+
+upsmgExternalAlarmInactive TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgextAlarmIndex, mgextAlarmUID }
+ DESCRIPTION
+ "Trap UPS exit environment external alarm."
+::= 50
+
+upsmgOnBuck TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on buck."
+::= 51
+
+upsmgReturnFromBuck TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has returned from buck."
+::= 52
+
+
+----------------------
+-- upsmgAgent group --
+----------------------
+
+-- following objects are configuration variables defined for
+-- UPS proxy agent that perform UPS management protocol
+-- and support SNMP management function
+
+upsmgAgentIpaddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The ip address that NMS can identify the managed
+ device"
+ ::= { upsmgAgent 1}
+
+upsmgAgentSubnetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " Internet address subnet mask"
+ ::= { upsmgAgent 2}
+
+upsmgAgentDefGateway OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The default gateway that allow device managed
+ through routers "
+ ::= { upsmgAgent 3}
+
+upsmgAgentBaudRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " the serial port communication speed. only 2400,
+ 4800, and 9600 allowed"
+ ::= { upsmgAgent 4}
+
+upsmgAgentPollRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The frequency that proxy agent polls the connected
+ UPS in ASCII protocol. (unit : second)"
+ ::= { upsmgAgent 5}
+
+upsmgAgentType OBJECT-TYPE
+ SYNTAX INTEGER {
+ deviceEth(1),
+ deviceTR(2),
+ proxyEth(3),
+ proxyTR(4),
+ other(5)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The type of agent."
+ ::= { upsmgAgent 6}
+
+upsmgAgentTrapAlarmDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The interval for the Trap packet retransmission,
+ while the TRAP Acknowledge is implemented and
+ the ack is received within the interval."
+ ::= { upsmgAgent 7}
+
+upsmgAgentTrapAlarmRetry OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The retry count for retransmitting Trap
+ packet while the TRAP acknowledge is
+ implemented."
+ ::= { upsmgAgent 8}
+
+upsmgAgentReset OBJECT-TYPE
+ SYNTAX INTEGER {
+ reset (1),
+ nothing(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The variable initiates reset operation in
+ agent software, ie. warm start. write reset(1)
+ to any one of UPS MIB array, will result in
+ the same reset operation."
+ ::= { upsmgAgent 9}
+
+upsmgAgentFactReset OBJECT-TYPE
+ SYNTAX INTEGER {
+ reset (1),
+ nothing(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The variable initiates reset operation in
+ agent software, ie. warm start, and load
+ default data (Factory setting) to EEPROM
+ and to runtime parameters associated with
+ the UPS."
+ ::= { upsmgAgent 10}
+
+upsmgAgentMibVersion OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The version of the MIB implemented in agent."
+ ::= { upsmgAgent 11}
+
+upsmgAgentFirmwareVersion OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The agent firmware version."
+ ::= { upsmgAgent 12}
+
+upsmgAgentCommUPS OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The status of communication between agent and ups.
+ Even value means no communication, and odd value
+ means a certain level of communication with devices
+ daisy-chained on the serial port. The value is the
+ following: 1000*NSE + 100*NSW + 10*UPSW + UPST with
+ UPST is UPS type: 5 if no UPS;
+ 3 if PI (Protocol Interface)
+ 1 if U-Talk UPS;
+ UPSW is the number of switchable plugs of the UPS;
+ NSW is the number of UM-Switch devices;
+ NSE is the number of UM-Sensor devices."
+ ::= { upsmgAgent 13}
+
+upsmgAgentTrapAck OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The last Trap number that has been received by UM-View."
+ ::= { upsmgAgent 14}
+
+upsmgAgentAutoLearning OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the Auto Learning
+ process of the agent, default value is yes(1) e.g. enabled."
+ ::= { upsmgAgent 15}
+
+upsmgAgentBootP OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the BootP process,
+ default value is yes(1) e.g. enabled."
+ ::= { upsmgAgent 16}
+
+upsmgAgentTFTP OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the TFTP process,
+ default value is no(2) e.g. disabled."
+ ::= { upsmgAgent 17}
+
+upsmgAgentTrapSignature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The signature of the trap acknowledged by a manager."
+ ::= { upsmgAgent 18}
+
+------------------------
+-- upsmgRemote group --
+------------------------
+
+upsmgRemoteOnBattery OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An object to inform an ups-less agent that the remote
+ UPS is on autonomy. This object could be set by
+ a management application."
+ ::= { upsmgRemote 1}
+
+upsmgRemoteIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An object to give the IP address of the agent managing
+ the remote UPS. This object could be read by managers
+ to perform management of receptacle dependencies
+ between two different agents."
+ ::= { upsmgRemote 2}
+
+END
+MG-SNMP-UPS-MIB DEFINITIONS ::= BEGIN
+
+-- Title: UPS MIB
+-- Date: October 11, 1995
+-- Author: Merlin Gerin - DAM Division
+-- Release: V1.6
+
+IMPORTS
+ enterprises,IpAddress,TimeTicks
+ FROM RFC1155-SMI
+ DisplayString
+ FROM RFC1213-MIB
+ OBJECT-TYPE
+ FROM RFC1212
+ TRAP-TYPE
+ FROM RFC1215;
+
+----
+-- Path to the root
+----
+merlinGerin OBJECT IDENTIFIER ::= { enterprises 705 }
+upsmg OBJECT IDENTIFIER ::= { merlinGerin 1 }
+
+-- Management and Configuration groups of the MIB
+upsmgIdent OBJECT IDENTIFIER ::= { upsmg 1 }
+upsmgManagement OBJECT IDENTIFIER ::= { upsmg 2 }
+upsmgReceptacle OBJECT IDENTIFIER ::= { upsmg 3 }
+upsmgConfig OBJECT IDENTIFIER ::= { upsmg 4 }
+
+-- UPS Monitoring groups of the MIB
+upsmgBattery OBJECT IDENTIFIER ::= { upsmg 5 }
+upsmgInput OBJECT IDENTIFIER ::= { upsmg 6 }
+upsmgOutput OBJECT IDENTIFIER ::= { upsmg 7 }
+upsmgEnviron OBJECT IDENTIFIER ::= { upsmg 8 }
+
+-- UPS Controlling groups of the MIB
+upsmgControl OBJECT IDENTIFIER ::= { upsmg 9 }
+upsmgTest OBJECT IDENTIFIER ::= { upsmg 10 }
+upsmgTraps OBJECT IDENTIFIER ::= { upsmg 11 }
+
+upsmgAgent OBJECT IDENTIFIER ::= { upsmg 12 }
+upsmgRemote OBJECT IDENTIFIER ::= { upsmg 13 }
+
+----
+-- Definition of object types
+----
+
+-- Management and Configuration groups of the MIB:
+-- upsmgIdent(1), upsmgManagement(2), upsmgReceptacle(3), upsmgConfig(4)
+
+--------------------------
+-- the upsmgIdent group --
+--------------------------
+
+upsmgIdentFamilyName OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS family name (e.g. `PULSAR', `COMET', `GALAXY', ...)."
+ ::= { upsmgIdent 1 }
+
+upsmgIdentModelName OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS model name (e.g. `PSX20', `SV9', ... )."
+ ::= { upsmgIdent 2 }
+
+upsmgIdentRevisionLevel OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS revision level."
+ ::= { upsmgIdent 3 }
+
+upsmgIdentFirmwareVersion OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS microprocessor firmware version number."
+ ::= { upsmgIdent 4 }
+
+upsmgIdentUserID OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS user identification (set by administrator)."
+ ::= { upsmgIdent 5 }
+
+upsmgIdentInstallationDate OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS installation date in dd/mm/yy format."
+ ::= { upsmgIdent 6 }
+
+upsmgIdentSerialNumber OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS manufacturing serial number."
+ ::= { upsmgIdent 7 }
+
+--------------------------
+-- the upsmgManagement group --
+--------------------------
+
+-- This group gives objects for description of a list of Managers.
+-- A management platform is identified, can be powered by the UPS,
+-- and is allowed to a certain level of management.
+
+upsmgManagersNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of managers that could manage the UPS."
+ ::= { upsmgManagement 1 }
+
+upsmgManagersTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgManagerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of managers."
+ ::= { upsmgManagement 2 }
+
+upsmgManagerEntry OBJECT-TYPE
+ SYNTAX UpsmgManagerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a manager entry in the managers table."
+ INDEX { mgmanagerIndex }
+ ::= { upsmgManagersTable 1 }
+
+UpsmgManagerEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgmanagerIndex INTEGER,
+ mgmanagerDeviceNumber INTEGER,
+ mgmanagerNMSType INTEGER,
+ mgmanagerCommType INTEGER,
+ mgmanagerDescr DisplayString,
+ mgmanagerAddress IpAddress,
+ mgmanagerCommunity DisplayString,
+ mgmanagerSeverityLevel INTEGER,
+ mgmanagerTrapAck INTEGER
+}
+
+mgmanagerIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each manager. Its value ranges between 1
+ and the value of upsmgManagersNum."
+ ::= { upsmgManagerEntry 1 }
+
+mgmanagerDeviceNumber OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object is the number of the manager device in the
+ DevicesTable of the Config group. This means that the
+ manager is powered by the UPS. If not the default value is 0."
+ ::= { upsmgManagerEntry 2 }
+
+mgmanagerNMSType OBJECT-TYPE
+ SYNTAX INTEGER {
+ umclient(1),
+ decnetview(2),
+ umview(3),
+ dview(4),
+ hpopenview(5),
+ sunnetmanager(6),
+ novellnms(7),
+ ibmnetview(8),
+ other(9),
+ autolearning(10)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of manager according to the NMS platform. We
+ include in the manager class all systems which will be
+ notified by the agent via receiving traps (e.g. basic
+ to complex NMS software)."
+ ::= { upsmgManagerEntry 3 }
+
+mgmanagerCommType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated manager
+ cmip(3), -- OSI CMIP
+ snmpv1(4), -- SNMPv1
+ snmpv2(5) -- SNMPv2
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The level of communication protocol for that manager.
+ Setting this object to value invalid(2) has the effect of
+ invalidating the corresponding entry in the upsmgManagersTable.
+ It is an implementation-specific matter as to wether the agent
+ removes an invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive tabular
+ information from agents that corresponds to entry not currently
+ in use. Proper interpretation of such entries requires
+ examination of the relevant mgmanagerCommType object."
+ ::= { upsmgManagerEntry 4 }
+
+mgmanagerDescr OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string containing information about the manager.
+ (manufacturer and version description)."
+ ::= { upsmgManagerEntry 5 }
+
+mgmanagerAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of the manager station receiving traps. The
+ value of this object is meaningful if and only if the value
+ of the relevant mgmanagerCommType object is snmp type."
+ ::= { upsmgManagerEntry 6 }
+
+mgmanagerCommunity OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The manager community string."
+ ::= { upsmgManagerEntry 7 }
+
+mgmanagerSeverityLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The severity level of traps to be received by this manager."
+ ::= { upsmgManagerEntry 8 }
+
+mgmanagerTrapAck OBJECT-TYPE
+ SYNTAX INTEGER {
+ mgack(1),
+ mgnoack(2),
+ stdnomg(3),
+ mgacks(4),
+ cpqnoack(5)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The manager Trap Acknowledgement status. Setting
+ this object to mgnoack(2) or stdnomg(3) or cpqnoack(5)
+ disables the trap acknowledgement from the related
+ manager. The MG enterprise specific trap should then
+ be sent only once by the agent to this manager in case
+ of mgnoack(2), and should not be sent by the agent to
+ this manager in case of stdnomg(3) or cpqnoack(5).
+ mgack(1) allows a basic mecanism for acknowledged
+ traps using upsmgAgentTrapAck object set by the
+ manager to the enterprise specific number of the trap.
+ mgacks(5) allows the enhanced mecanism using the
+ upsmgAgentTrapSignature object set by the manager
+ to the signature received within the trap var binding."
+ ::= { upsmgManagerEntry 9 }
+
+--------------------------
+-- the upsmgReceptacle group --
+--------------------------
+
+-- This group gives objects for description of the receptacles of the
+-- UPS. The receptacle notion has been extended to many configurations:
+-- For a small simple UPS, there is only one receptacle which corresponds
+-- to the output of the UPS.
+-- For a more complex UPS with powershare capabilities, there is a one-level
+-- receptacle table allowing to distribute ON/OFF control on the receptacles.
+-- For others (EHQ, big UPS with Distributed Power Units), there is a
+-- two-level receptacle table allowing to distribute control and management
+-- of the receptacles plugs into one of the first level receptacles.
+
+upsmgReceptaclesNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of receptacles controlled by the UPS."
+ ::= { upsmgReceptacle 1 }
+
+upsmgReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgReceptacleEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles that are controlled by the UPS."
+ ::= { upsmgReceptacle 2 }
+
+upsmgReceptacleEntry OBJECT-TYPE
+ SYNTAX UpsmgReceptacleEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle in the table."
+ INDEX { mgreceptacleIndex }
+ ::= { upsmgReceptaclesTable 1 }
+
+UpsmgReceptacleEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndex INTEGER,
+ mgreceptacleLevel INTEGER,
+ mgreceptacleType DisplayString,
+ mgreceptacleIdent DisplayString,
+ mgreceptacleState INTEGER,
+ mgreceptacleReceptacle INTEGER,
+ mgreceptacleAutonomy INTEGER,
+ mgreceptaclePowerCons INTEGER,
+ mgreceptacleOverload INTEGER
+}
+
+mgreceptacleIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between
+ 1 and the value of upsmgReceptaclesNum."
+ ::= { upsmgReceptacleEntry 1 }
+
+mgreceptacleLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The level of receptacle.
+
+ Setting this object to value invalid(2) has the effect of
+ invalidating the corresponding entry in the upsmgReceptaclesTable.
+ It is an implementation-specific matter as to wether the agent
+ removes an invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive tabular
+ information from agents that corresponds to entry not currently
+ in use. Proper interpretation of such entries requires
+ examination of the relevant receptacleLevel object.
+ Values 1 and 4 are reserved, value 3 is used to identify a simple
+ one-level receptacle, and values greater than 4 represent a
+ group of equivalent receptacles."
+ ::= { upsmgReceptacleEntry 2 }
+
+mgreceptacleType OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for the receptacle type."
+ ::= { upsmgReceptacleEntry 3 }
+
+mgreceptacleIdent OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string identification for the user."
+ ::= { upsmgReceptacleEntry 4 }
+
+mgreceptacleState OBJECT-TYPE
+ SYNTAX INTEGER {
+ manualON(1), -- after manual turn on
+ manualOFF(2), -- after manual turn off
+ normalON(3), -- after normal restart sequence
+ normalOFF(4), -- after normal shutoff sequence
+ controlON(5), -- after upsControl on command
+ controlOFF(6), -- after upsControl off command
+ scheduleON(7), -- after schedule turn on
+ scheduleOFF(8) -- after schedule turn off
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ON/OFF status of the receptacle."
+ ::= { upsmgReceptacleEntry 5 }
+
+mgreceptacleReceptacle OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle number of the second level receptacle father.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 6 }
+
+mgreceptaclePowerCons OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The volt-ampere rating of the receptacle.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 7 }
+
+mgreceptacleOverload OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The overload status of the receptacle.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 8 }
+
+mgreceptacleAutonomy OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle autonomy.
+
+ The value of this object is meaningful if and only if the value
+ of the relevant mgreceptacleType object is related to a two-level
+ receptacle class. Otherwise the default value is 0."
+ ::= { upsmgReceptacleEntry 9 }
+
+--------------------------
+-- the upsmgConfig group --
+--------------------------
+
+-- This group gives objects for describing:
+-- Battery characteristics and administrative status,
+-- Configuration set points for normal shutoff and restart,
+-- Nominal voltage and Input low/high transfer point,
+-- Output and By Pass characteristics,
+-- Devices table (powered systems),
+-- Receptacles default table.
+-- Environ external alarms UserID table.
+
+-- Battery characteristics and administrative status.
+
+upsmgConfigBatteryInstalled OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The battery installed status."
+ ::= { upsmgConfig 1 }
+
+upsmgConfigNominalBatteryVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal battery voltage."
+ ::= { upsmgConfig 2 }
+
+upsmgConfigNominalBatteryTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The full load battery autonomy time."
+ ::= { upsmgConfig 3 }
+
+upsmgConfigNominalRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The recharge time to go from low battery cut off
+ to full charge at full load."
+ ::= { upsmgConfig 4 }
+
+-- Configuration set points for normal shutoff and restart.
+
+upsmgConfigMinRechargeLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The minimum battery level required to supply power on the
+ loads after low battery condition turn off and restart on
+ main return."
+ ::= { upsmgConfig 5 }
+
+upsmgConfigMaxRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum time delay of battery recharge before supply
+ power to the loads."
+ ::= { upsmgConfig 6 }
+
+upsmgConfigLowBatteryTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set remaining time value for low battery condition."
+ ::= { upsmgConfig 7 }
+
+upsmgConfigLowBatteryLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set battery level value for low battery condition."
+ ::= { upsmgConfig 8 }
+
+upsmgConfigAutoRestart OBJECT-TYPE
+ SYNTAX INTEGER {
+ always(1),
+ never(2),
+ onmain(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic restart enabling status."
+ ::= { upsmgConfig 9 }
+
+upsmgConfigShutdownTimer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set ups shutdown timer from on battery condition."
+ ::= { upsmgConfig 10 }
+
+upsmgConfigSysShutDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set ups shutdown delay (Sn delay)."
+ ::= { upsmgConfig 11 }
+
+-- Nominal voltage and Input low/high transfer point.
+
+upsmgConfigVARating OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal VA rating."
+ ::= { upsmgConfig 12 }
+
+upsmgConfigLowTransfer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The low voltage transfer point."
+ ::= { upsmgConfig 13 }
+
+upsmgConfigHighTransfer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The high voltage transfer point."
+ ::= { upsmgConfig 14 }
+
+-- Output and By Pass characteristics.
+
+upsmgConfigOutputNominalVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output voltage."
+ ::= { upsmgConfig 15 }
+
+upsmgConfigOutputNominalCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output current."
+ ::= { upsmgConfig 16 }
+
+upsmgConfigOutputNominalFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The nominal output frequency."
+ ::= { upsmgConfig 17 }
+
+upsmgConfigByPassType OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ relay(2),
+ static(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS by pass switch type."
+ ::= { upsmgConfig 18 }
+
+upsmgConfigAlarmAudible OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set audible alarm status."
+ ::= { upsmgConfig 19 }
+
+upsmgConfigAlarmTimeDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set audible alarm time delay."
+ ::= { upsmgConfig 20 }
+
+-- Devices table (powered systems).
+
+upsmgConfigDevicesNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The number of devices that are powered by the UPS."
+ ::= { upsmgConfig 21 }
+
+upsmgConfigDevicesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgDeviceEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of devices that are powered by the UPS."
+ ::= { upsmgConfig 22 }
+
+upsmgDeviceEntry OBJECT-TYPE
+ SYNTAX UpsmgDeviceEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a device entry in the devices table."
+ INDEX { mgdeviceIndex }
+ ::= { upsmgConfigDevicesTable 1 }
+
+UpsmgDeviceEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgdeviceIndex INTEGER,
+ mgdeviceReceptacleNum INTEGER,
+ mgdeviceIdent DisplayString,
+ mgdeviceVaRating INTEGER,
+ mgdeviceSequenceOff INTEGER,
+ mgdeviceSequenceOn INTEGER,
+ mgdeviceShutdownDuration INTEGER,
+ mgdeviceBootUpDuration INTEGER
+}
+
+mgdeviceIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each device. Its value ranges between 1
+ and the value of upsmgDevicesNum."
+ ::= { upsmgDeviceEntry 1 }
+
+mgdeviceReceptacleNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle number of the device plugged into the UPS.
+ This value gives index entry in the ReceptaclesTable object
+ of the Receptacle group. A value of 0 invalidates the entry
+ in the DevicesTable."
+ ::= { upsmgDeviceEntry 2 }
+
+mgdeviceIdent OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for device user identification."
+ ::= { upsmgDeviceEntry 3 }
+
+mgdeviceVaRating OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The volt-ampere rating of the device plugged into the UPS."
+ ::= { upsmgDeviceEntry 4 }
+
+mgdeviceSequenceOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the device position in the remote shutdown sequence."
+ ::= { upsmgDeviceEntry 5 }
+
+mgdeviceSequenceOn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the device position in the remote reboot sequence."
+ ::= { upsmgDeviceEntry 6 }
+
+mgdeviceShutdownDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the duration from start of computer shut-down
+ to complete."
+ ::= { upsmgDeviceEntry 7 }
+
+mgdeviceBootUpDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set the duration from start of computer boot-up
+ to complete."
+ ::= { upsmgDeviceEntry 8 }
+
+-- Receptacles default table.
+
+-- This table gives for every receptacle the power return condition for
+-- each failure cause.
+
+upsmgConfigReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCfgReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles."
+ ::= { upsmgConfig 23 }
+
+upsmgCfgReceptEntry OBJECT-TYPE
+ SYNTAX UpsmgCfgReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle entry in the table."
+ INDEX { mgreceptacleIndexb }
+ ::= { upsmgConfigReceptaclesTable 1 }
+
+UpsmgCfgReceptEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndexb INTEGER,
+ mgreceptacleStateTurnOn INTEGER,
+ mgreceptacleStateMainReturn INTEGER,
+ mgreceptacleStateDischarge INTEGER,
+ mgreceptacleShutoffLevel INTEGER,
+ mgreceptacleShutoffTimer INTEGER,
+ mgreceptacleRestartLevel INTEGER,
+ mgreceptacleRestartDelay INTEGER,
+ mgreceptacleShutdownDuration INTEGER,
+ mgreceptacleBootUpDuration INTEGER
+}
+
+mgreceptacleIndexb OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between 1
+ and the value of upsmgReceptaclesNum."
+ ::= { upsmgCfgReceptEntry 1 }
+
+mgreceptacleStateTurnOn OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state at turn on."
+ ::= { upsmgCfgReceptEntry 2 }
+
+mgreceptacleStateMainReturn OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state on main return."
+ ::= { upsmgCfgReceptEntry 3 }
+
+mgreceptacleStateDischarge OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2),
+ last(3),
+ schedule(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Default return state on main return from battery discharge."
+ ::= { upsmgCfgReceptEntry 4 }
+
+mgreceptacleShutoffLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Battery level for starting shutoff sequence."
+ ::= { upsmgCfgReceptEntry 5 }
+
+mgreceptacleShutoffTimer OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Time delay from on battery for starting shutoff sequence."
+ ::= { upsmgCfgReceptEntry 6 }
+
+mgreceptacleRestartLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Battery level for starting restart sequence."
+ ::= { upsmgCfgReceptEntry 7 }
+
+mgreceptacleRestartDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Time delay for starting restart sequence."
+ ::= { upsmgCfgReceptEntry 8 }
+
+mgreceptacleShutdownDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Maximum Shutdown Duration for systems powered by this plug."
+ ::= { upsmgCfgReceptEntry 9 }
+
+mgreceptacleBootUpDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Maximum Reboot Duration for systems powered by this plug."
+ ::= { upsmgCfgReceptEntry 10 }
+
+-- Environ external alarms UserID table.
+
+upsmgConfigExtAlarmNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of environ external alarm, value is
+ between 8 and 32.."
+ ::= { upsmgConfig 24 }
+
+upsmgConfigExtAlarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of environmental external alarms."
+ ::= { upsmgConfig 25 }
+
+upsmgExtAlarmEntry OBJECT-TYPE
+ SYNTAX UpsmgExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an external alarm in the table."
+ INDEX { mgextAlarmIndex }
+ ::= { upsmgConfigExtAlarmTable 1 }
+
+UpsmgExtAlarmEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgextAlarmIndex INTEGER,
+ mgextAlarmUID DisplayString
+}
+
+mgextAlarmIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each external alarm. Its value ranges
+ between 1 and the value of upsmgConfigExtAlarmNum."
+ ::= { upsmgExtAlarmEntry 1 }
+
+mgextAlarmUID OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string for alarm state user identification."
+ ::= { upsmgExtAlarmEntry 2 }
+
+upsmgConfigEmergencyTestFail OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on Battery test fail."
+ ::= { upsmgConfig 26 }
+
+upsmgConfigEmergencyOnByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on By Pass."
+ ::= { upsmgConfig 27 }
+
+upsmgConfigEmergencyOverload OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The emergency condition status on overload."
+ ::= { upsmgConfig 28 }
+
+-- Schedule on/off daily time table.
+
+upsmgConfigControlDayTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCtrlDayEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of daily on/off time."
+ ::= { upsmgConfig 29 }
+
+upsmgCtrlDayEntry OBJECT-TYPE
+ SYNTAX UpsmgCtrlDayEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a daily on/off time schedule in the table."
+ INDEX { mgcontrolDayIndex }
+ ::= { upsmgConfigControlDayTable 1 }
+
+UpsmgCtrlDayEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgcontrolDayIndex INTEGER,
+ mgcontrolDayOn INTEGER,
+ mgcontrolDayOff INTEGER
+}
+
+mgcontrolDayIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The day index. It is a number between 1 and 7, 1 for
+ Sunday, 2 for Monday, ..."
+ ::= { upsmgCtrlDayEntry 1 }
+
+mgcontrolDayOn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set daily power on time. Any value greater than 86400
+ is to disable the Day On."
+ ::= { upsmgCtrlDayEntry 2 }
+
+mgcontrolDayOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set daily power off time. Any value greater than 86400
+ is to disable the Day Off."
+ ::= { upsmgCtrlDayEntry 3 }
+
+upsmgConfigLowBooster OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS booster low threshold."
+ ::= { upsmgConfig 30 }
+
+upsmgConfigHighBooster OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS booster high threshold."
+ ::= { upsmgConfig 31 }
+
+upsmgConfigLowFader OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS fader low threshold."
+ ::= { upsmgConfig 32 }
+
+upsmgConfigHighFader OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To set UPS fader high threshold."
+ ::= { upsmgConfig 33 }
+
+-- UPS Monitoring groups of the MIB:
+-- upsmgBattery(5), upsmgInput(6), upsmgOutput(7), upsmgEnviron(8)
+
+----------------------------
+-- the upsmgBattery group --
+----------------------------
+
+upsmgBatteryRemainingTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The time remaining actual charge vs actual load (dynamic)."
+ ::= { upsmgBattery 1 }
+
+upsmgBatteryLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery level as a percentage of charge."
+ ::= { upsmgBattery 2 }
+
+upsmgBatteryRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual operational battery recharge time to set point
+ equal to upsmgConfigRechargeLevel. This value is computed from
+ upsmgConfigRechargeLevel (level to reach), upsmgBatteryLevel (the
+ actual reached level) and the UPS charge rate."
+ ::= { upsmgBattery 3 }
+
+upsmgBatteryRechargeLevel OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual value of the battery recharge level that will be
+ reached during the time delay necessary to restart after power
+ returns. This value is computed from upsmgConfigRechargeTime
+ (the delay), upsmgBatteryLevel (the actual level) and the UPS
+ charge rate."
+ ::= { upsmgBattery 4 }
+
+upsmgBatteryVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual battery voltage."
+ ::= { upsmgBattery 5 }
+
+upsmgBatteryCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The actual battery current."
+ ::= { upsmgBattery 6 }
+
+upsmgBatteryTemperature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery temperature."
+ ::= { upsmgBattery 7 }
+
+upsmgBatteryFullRechargeTime OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery full recharge time (from 0 to 100 percent)
+ at current load."
+ ::= { upsmgBattery 8 }
+
+upsmgBatteryFaultBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery fault status."
+ ::= { upsmgBattery 9 }
+
+upsmgBatteryNoBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS has no Battery status."
+ ::= { upsmgBattery 10 }
+
+upsmgBatteryReplacement OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery to be replaced status."
+ ::= { upsmgBattery 11 }
+
+upsmgBatteryUnavailableBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is unavailable status."
+ ::= { upsmgBattery 12 }
+
+upsmgBatteryNotHighCharge OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery quit high condition status."
+ ::= { upsmgBattery 13 }
+
+upsmgBatteryLowBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The battery low status."
+ ::= { upsmgBattery 14 }
+
+upsmgBatteryChargerFault OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is not charging status."
+ ::= { upsmgBattery 15 }
+
+upsmgBatteryLowCondition OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS is at low condition status."
+ ::= { upsmgBattery 16 }
+
+upsmgBatteryLowRecharge OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery is not recharged status."
+ ::= { upsmgBattery 17 }
+
+--------------------------
+-- the upsmgInput group --
+--------------------------
+
+upsmgInputPhaseNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input phases."
+ ::= { upsmgInput 1 }
+
+upsmgInputPhaseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgInputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of input phases."
+ ::= { upsmgInput 2 }
+
+upsmgInputPhaseEntry OBJECT-TYPE
+ SYNTAX UpsmgInputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an input phase."
+ INDEX { mginputIndex }
+ ::= { upsmgInputPhaseTable 1 }
+
+UpsmgInputPhaseEntry ::= SEQUENCE { -- ASN.1 type definition
+ mginputIndex INTEGER,
+ mginputVoltage INTEGER,
+ mginputFrequency INTEGER,
+ mginputMinimumVoltage INTEGER,
+ mginputMaximumVoltage INTEGER,
+ mginputCurrent INTEGER
+}
+
+mginputIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase voltage index. It is a number between 1
+ and upsmgInputPhaseNum."
+ ::= { upsmgInputPhaseEntry 1 }
+
+mginputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase voltage."
+ ::= { upsmgInputPhaseEntry 2 }
+
+mginputFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase frequency."
+ ::= { upsmgInputPhaseEntry 3 }
+
+mginputMinimumVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase minimum voltage over the last minute."
+ ::= { upsmgInputPhaseEntry 4 }
+
+mginputMaximumVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase maximum voltage over the last minute."
+ ::= { upsmgInputPhaseEntry 5 }
+
+mginputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The input phase current."
+ ::= { upsmgInputPhaseEntry 6 }
+
+upsmgInputBadStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The utility power bad voltage or bad frequency status."
+ ::= { upsmgInput 3 }
+
+upsmgInputLineFailCause OBJECT-TYPE
+ SYNTAX INTEGER {
+ no(1),
+ outoftolvolt(2),
+ outoftolfreq(3),
+ utilityoff(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The utility power failure cause:
+ no(1) is for no utility failure,
+ outoftolvolt(2) is for voltage out of tolerance,
+ outoftolfreq(3) is for frequency out of tolerance,
+ utilityoff(4) is for no voltage at all."
+ ::= { upsmgInput 4 }
+
+--------------------------
+-- the upsmgOutput group --
+--------------------------
+
+upsmgOutputPhaseNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of output phases."
+ ::= { upsmgOutput 1 }
+
+upsmgOutputPhaseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgOutputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of output phases."
+ ::= { upsmgOutput 2 }
+
+upsmgOutputPhaseEntry OBJECT-TYPE
+ SYNTAX UpsmgOutputPhaseEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an output phase."
+ INDEX { mgoutputPhaseIndex }
+ ::= { upsmgOutputPhaseTable 1 }
+
+UpsmgOutputPhaseEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgoutputPhaseIndex INTEGER,
+ mgoutputVoltage INTEGER,
+ mgoutputFrequency INTEGER,
+ mgoutputLoadPerPhase INTEGER,
+ mgoutputCurrent INTEGER
+}
+
+mgoutputPhaseIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase voltage index. It is a number between 1
+ and upsmgOutputPhaseNum."
+ ::= { upsmgOutputPhaseEntry 1 }
+
+mgoutputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase voltage."
+ ::= { upsmgOutputPhaseEntry 2 }
+
+mgoutputFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase frequency."
+ ::= { upsmgOutputPhaseEntry 3 }
+
+mgoutputLoadPerPhase OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load per phase."
+ ::= { upsmgOutputPhaseEntry 4 }
+
+mgoutputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output phase current."
+ ::= { upsmgOutputPhaseEntry 5 }
+
+upsmgOutputOnBattery OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on battery / on main status."
+ ::= { upsmgOutput 3 }
+
+upsmgOutputOnByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on bypass status."
+ ::= { upsmgOutput 4 }
+
+upsmgOutputUnavailableByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The by pass unavailable status."
+ ::= { upsmgOutput 5 }
+
+upsmgOutputNoByPass OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS bypass installed status."
+ ::= { upsmgOutput 6 }
+
+upsmgOutputUtilityOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS utility off status."
+ ::= { upsmgOutput 7 }
+
+upsmgOutputOnBoost OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on booster status."
+ ::= { upsmgOutput 8 }
+
+upsmgOutputInverterOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Inverter on / off status."
+ ::= { upsmgOutput 9 }
+
+upsmgOutputOverLoad OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output over load status."
+ ::= { upsmgOutput 10 }
+
+upsmgOutputOverTemp OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ups over temperature status."
+ ::= { upsmgOutput 11 }
+
+upsmgOutputOnBuck OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS on fader status."
+ ::= { upsmgOutput 12 }
+
+----------------------------
+-- the upsmgEnviron group --
+----------------------------
+
+upsmgEnvironAmbientTemp OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ambient temperature."
+ ::= { upsmgEnviron 1 }
+
+upsmgEnvironAmbientHumidity OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ambient humidity."
+ ::= { upsmgEnviron 2 }
+
+upsmgEnvironExtAlarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgEnvironExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of external alarms."
+ ::= { upsmgEnviron 3 }
+
+upsmgEnvironExtAlarmEntry OBJECT-TYPE
+ SYNTAX UpsmgEnvironExtAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of an external alarm."
+ INDEX { mgalarmNum }
+ ::= { upsmgEnvironExtAlarmTable 1 }
+
+UpsmgEnvironExtAlarmEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgalarmNum INTEGER,
+ mgalarmState INTEGER
+}
+
+mgalarmNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The external alarm number. A number between 1 and
+ upsmgConfigExtAlarmNum."
+ ::= { upsmgEnvironExtAlarmEntry 1 }
+
+mgalarmState OBJECT-TYPE
+ SYNTAX INTEGER {
+ active(1),
+ inactive(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The external alarm state (active or inactive)."
+ ::= { upsmgEnvironExtAlarmEntry 2 }
+
+upsmgEnvironSensorNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The sensor unit number (0 to 4)."
+ ::= { upsmgEnviron 4 }
+
+upsmgEnvironSensorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgEnvironSensorEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of sensor units."
+ ::= { upsmgEnviron 5 }
+
+upsmgEnvironSensorEntry OBJECT-TYPE
+ SYNTAX UpsmgEnvironSensorEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a sensor unit."
+ INDEX { mgsensorNum }
+ ::= { upsmgEnvironSensorTable 1 }
+
+UpsmgEnvironSensorEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgsensorNum INTEGER,
+ mgsensorTemp INTEGER,
+ mgsensorHumidity INTEGER
+}
+
+mgsensorNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The unit number. A number between 1 and 4."
+ ::= { upsmgEnvironSensorEntry 1 }
+
+mgsensorTemp OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The measured temperature of the unit."
+ ::= { upsmgEnvironSensorEntry 2 }
+
+mgsensorHumidity OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The measured humidity of the unit."
+ ::= { upsmgEnvironSensorEntry 3 }
+
+-- UPS Controlling groups of the MIB:
+-- upsmgControl(9), upsmgTest(10), upsmgTraps(11)
+
+----------------------------
+-- the upsmgControl group --
+----------------------------
+
+-- Receptacles control table.
+
+-- This table gives for every receptacle the ON/OFF control objects.
+
+upsmgControlReceptaclesTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UpsmgCtrlReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of receptacles."
+ ::= { upsmgControl 1 }
+
+upsmgCtrlReceptEntry OBJECT-TYPE
+ SYNTAX UpsmgCtrlReceptEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The description of a receptacle entry in the table."
+ INDEX { mgreceptacleIndexc }
+ ::= { upsmgControlReceptaclesTable 1 }
+
+UpsmgCtrlReceptEntry ::= SEQUENCE { -- ASN.1 type definition
+ mgreceptacleIndexc INTEGER,
+ mgreceptacleOnDelay INTEGER,
+ mgreceptacleOnCtrl INTEGER,
+ mgreceptacleOnStatus INTEGER,
+ mgreceptacleOffDelay INTEGER,
+ mgreceptacleOffCtrl INTEGER,
+ mgreceptacleOffStatus INTEGER,
+ mgreceptacleToggleDelay INTEGER,
+ mgreceptacleToggleCtrl INTEGER,
+ mgreceptacleToggleStatus INTEGER,
+ mgreceptacleToggleDuration INTEGER
+}
+
+mgreceptacleIndexc OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each receptacle. Its value ranges between 1
+ and the value of upsmgReceptaclesNum."
+ ::= { upsmgCtrlReceptEntry 1 }
+
+mgreceptacleOnDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn on UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 2 }
+
+mgreceptacleOnCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control on action."
+ ::= { upsmgCtrlReceptEntry 3 }
+
+mgreceptacleOnStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control on status."
+ ::= { upsmgCtrlReceptEntry 4 }
+
+mgreceptacleOffDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 5 }
+
+mgreceptacleOffCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control off action."
+ ::= { upsmgCtrlReceptEntry 6 }
+
+mgreceptacleOffStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control off status."
+ ::= { upsmgCtrlReceptEntry 7 }
+
+mgreceptacleToggleDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off then on UPS receptacle w/delay=?."
+ ::= { upsmgCtrlReceptEntry 8 }
+
+mgreceptacleToggleCtrl OBJECT-TYPE
+ SYNTAX INTEGER {
+ nothing(1),
+ start(2),
+ stop(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control toggle action."
+ ::= { upsmgCtrlReceptEntry 9 }
+
+mgreceptacleToggleStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ started(2),
+ inprogressinups(3),
+ completed(4)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The receptacle control toggle status."
+ ::= { upsmgCtrlReceptEntry 10 }
+
+mgreceptacleToggleDuration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Turn off then on UPS receptacle w/duration=?."
+ ::= { upsmgCtrlReceptEntry 11 }
+
+upsmgControlDayOff OBJECT-TYPE
+ SYNTAX INTEGER {
+ sunday(1), monday(2), tuesday(3), wednesday(4),
+ thursday(5), friday(6), saterday(7), none(8)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The schedule off control object. Default value is none(8).
+ Value 1 means to start scheduled off on Sunday,
+ value 2 to start scheduled off on Monday, and so on."
+ ::= { upsmgControl 2 }
+
+upsmgControlDayOn OBJECT-TYPE
+ SYNTAX INTEGER {
+ sunday(1), monday(2), tuesday(3), wednesday(4),
+ thursday(5), friday(6), saterday(7), none(8)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The schedule on control object. Default value is none(8).
+ Value 1 means to start scheduled on on Sunday,
+ value 2 to start scheduled on on Monday, and so on.
+ This object is meaningfull only for those agent that do not
+ include internal clock. In such a case the object is set by
+ a manager to start the schedule on sequence."
+ ::= { upsmgControl 3 }
+
+--------------------------
+-- the upsmgTest group --
+--------------------------
+
+upsmgTestBatterySchedule OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ weekly(2),
+ monthly(3),
+ atturnon(4),
+ none(5),
+ dayly(6)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic battery test schedule."
+ ::= { upsmgTest 1 }
+
+upsmgTestDiagnostics OBJECT-TYPE
+ SYNTAX INTEGER {
+ default(1),
+ start(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run self test diagnostics."
+ ::= { upsmgTest 2 }
+
+upsmgTestDiagResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ success(1),
+ failed(2),
+ none(3)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The automatic test diagnostic result."
+ ::= { upsmgTest 3 }
+
+upsmgTestBatteryCalibration OBJECT-TYPE
+ SYNTAX INTEGER {
+ default(1),
+ start(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run battery test calibration."
+ ::= { upsmgTest 4 }
+
+upsmgTestLastCalibration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The last battery calibration test date."
+ ::= { upsmgTest 5 }
+
+upsmgTestIndicators OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To run UPS indicators test."
+ ::= { upsmgTest 6 }
+
+upsmgTestCommandLine OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To send ASCII command line to UPS."
+ ::= { upsmgTest 7 }
+
+upsmgTestCommandReady OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "To advise UPS that command line has been prepared."
+ ::= { upsmgTest 8 }
+
+upsmgTestResponseLine OBJECT-TYPE
+ SYNTAX DisplayString(SIZE(0..32))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "To get ASCII protocol response from UPS."
+ ::= { upsmgTest 9 }
+
+upsmgTestResponseReady OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "To advise agent that response line has been received."
+ ::= { upsmgTest 10 }
+
+upsmgTestBatteryResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ msuccess(1),
+ mfailed(2),
+ ssuccess(3),
+ sfailed(4),
+ none(5)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The test battery result:
+ msuccess(1) is for manual battery test success,
+ ssuccess(3) is for scheduled battery test success,
+ mfailed(2) is for manual battery test failed,
+ sfailed(4) is for scheduled battery test failed."
+ ::= { upsmgTest 11 }
+
+--------------------------
+-- the upsmgTraps group --
+--------------------------
+
+-- This group defines objects and traps, so that for each trap, simple
+-- get request on related objects (one or many) allow to confirm actual
+-- status of the trap.
+
+-- TRAPS NOTIFICATIONS
+
+upsmgBatteryFault TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS Battery entering Fault status."
+::= 1
+
+upsmgBatteryOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS Battery returned to OK status."
+::= 2
+
+upsmgBatteryReplacementIndicated TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery need to be replaced."
+::= 3
+
+upsmgBatteryReplacementNotIndicated TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery does not need to be replaced."
+::= 4
+
+upsmgAtLowBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS battery reached low condition."
+::= 5
+
+upsmgFromLowBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS battery returned from low condition."
+::= 6
+
+upsmgChargerFault TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery charger is not active."
+::= 7
+
+upsmgChargerOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery charger is active."
+::= 8
+
+upsmgAtLowCondition TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS entering low condition."
+::= 9
+
+upsmgFromLowCondition TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS exiting low condition."
+::= 10
+
+upsmgOnBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS is on Battery."
+::= 11
+
+upsmgReturnFromBattery TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS returned from battery."
+::= 12
+
+upsmgOnByPass TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on by pass."
+::= 13
+
+upsmgReturnFromByPass TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS return from by pass."
+::= 14
+
+upsmgByPassUnavailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS by pass unavailable."
+::= 15
+
+upsmgByPassAvailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS by pass available."
+::= 16
+
+upsmgUtilityFailure TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS utility power failed."
+::= 17
+
+upsmgUtilityRestored TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS utility power restored."
+::= 18
+
+upsmgOnBoost TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on boost."
+::= 19
+
+upsmgReturnFromBoost TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has returned from boost."
+::= 20
+
+upsmgOverLoad TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has overload condition."
+::= 21
+
+upsmgLoadOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS quit overload condition."
+::= 22
+
+upsmgOverTemperature TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has overtemperature condition."
+::= 23
+
+upsmgTemperatureOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS quit overtemperature condition."
+::= 24
+
+upsmgOnToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState, mgreceptacleOnDelay,
+ mgreceptacleRestartDelay }
+ DESCRIPTION
+ "Trap UPS on sequence started."
+::= 25
+
+upsmgOnAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOnDelay }
+ DESCRIPTION
+ "Trap UPS on sequence cancelled."
+::= 26
+
+upsmgOnInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState,
+ mgreceptacleBootUpDuration }
+ DESCRIPTION
+ "Trap UPS on sequence in progress in ups."
+::= 27
+
+upsmgOnComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOnDelay }
+ DESCRIPTION
+ "Trap UPS on sequence completed."
+::= 28
+
+upsmgOffToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState, mgreceptacleOffDelay,
+ mgreceptacleShutoffTimer, upsmgConfigSysShutDuration }
+ DESCRIPTION
+ "Trap UPS off sequence started."
+::= 29
+
+upsmgOffAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOffDelay }
+ DESCRIPTION
+ "Trap UPS off sequence cancelled."
+::= 30
+
+upsmgOffInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleState,
+ mgreceptacleShutdownDuration }
+ DESCRIPTION
+ "Trap UPS off sequence in progress in ups."
+::= 31
+
+upsmgOffComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleOffDelay }
+ DESCRIPTION
+ "Trap UPS off sequence completed."
+::= 32
+
+upsmgToggleToStart TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDelay }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence started."
+::= 33
+
+upsmgToggleAbort TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDelay }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence cancelled."
+::= 34
+
+upsmgToggleInProgress TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDuration }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence in progress in ups."
+::= 35
+
+upsmgToggleComplete TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgreceptacleIndex, mgreceptacleToggleDuration }
+ DESCRIPTION
+ "Trap UPS toggle (off/on) sequence completed."
+::= 36
+
+upsmgCommunicationFailure TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS serial communication failed."
+::= 37
+
+upsmgCommunicationRestored TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS serial communication restored."
+::= 38
+
+upsmgInputBad TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS input has bad condition."
+::= 39
+
+upsmgInputOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS input quit bad condition."
+::= 40
+
+upsmgBatteryUnavailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery is unavailable."
+::= 41
+
+upsmgBatteryAvailable TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS battery return from unavailable condition."
+::= 42
+
+upsmgAtLowRecharge TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS waiting for battery charging condition."
+::= 43
+
+upsmgFromLowRecharge TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { upsmgBatteryRemainingTime, upsmgBatteryLevel }
+ DESCRIPTION
+ "Trap UPS reached battery charging condition."
+::= 44
+
+upsmgDiagnosticTestFail TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS self test failed."
+::= 45
+
+upsmgDiagnosticTestOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS self test succeeded."
+::= 46
+
+upsmgBatteryTestOK TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS passed battery test."
+::= 47
+
+upsmgBatteryTestFail TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS failed battery test."
+::= 48
+
+upsmgExternalAlarmActive TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgextAlarmIndex, mgextAlarmUID }
+ DESCRIPTION
+ "Trap UPS enter environment external alarm."
+::= 49
+
+upsmgExternalAlarmInactive TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ VARIABLES { mgextAlarmIndex, mgextAlarmUID }
+ DESCRIPTION
+ "Trap UPS exit environment external alarm."
+::= 50
+
+upsmgOnBuck TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS is on buck."
+::= 51
+
+upsmgReturnFromBuck TRAP-TYPE
+ ENTERPRISE upsmgTraps
+ DESCRIPTION
+ "Trap UPS has returned from buck."
+::= 52
+
+
+----------------------
+-- upsmgAgent group --
+----------------------
+
+-- following objects are configuration variables defined for
+-- UPS proxy agent that perform UPS management protocol
+-- and support SNMP management function
+
+upsmgAgentIpaddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The ip address that NMS can identify the managed
+ device"
+ ::= { upsmgAgent 1}
+
+upsmgAgentSubnetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " Internet address subnet mask"
+ ::= { upsmgAgent 2}
+
+upsmgAgentDefGateway OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The default gateway that allow device managed
+ through routers "
+ ::= { upsmgAgent 3}
+
+upsmgAgentBaudRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " the serial port communication speed. only 2400,
+ 4800, and 9600 allowed"
+ ::= { upsmgAgent 4}
+
+upsmgAgentPollRate OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The frequency that proxy agent polls the connected
+ UPS in ASCII protocol. (unit : second)"
+ ::= { upsmgAgent 5}
+
+upsmgAgentType OBJECT-TYPE
+ SYNTAX INTEGER {
+ deviceEth(1),
+ deviceTR(2),
+ proxyEth(3),
+ proxyTR(4),
+ other(5)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The type of agent."
+ ::= { upsmgAgent 6}
+
+upsmgAgentTrapAlarmDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The interval for the Trap packet retransmission,
+ while the TRAP Acknowledge is implemented and
+ the ack is received within the interval."
+ ::= { upsmgAgent 7}
+
+upsmgAgentTrapAlarmRetry OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The retry count for retransmitting Trap
+ packet while the TRAP acknowledge is
+ implemented."
+ ::= { upsmgAgent 8}
+
+upsmgAgentReset OBJECT-TYPE
+ SYNTAX INTEGER {
+ reset (1),
+ nothing(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The variable initiates reset operation in
+ agent software, ie. warm start. write reset(1)
+ to any one of UPS MIB array, will result in
+ the same reset operation."
+ ::= { upsmgAgent 9}
+
+upsmgAgentFactReset OBJECT-TYPE
+ SYNTAX INTEGER {
+ reset (1),
+ nothing(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The variable initiates reset operation in
+ agent software, ie. warm start, and load
+ default data (Factory setting) to EEPROM
+ and to runtime parameters associated with
+ the UPS."
+ ::= { upsmgAgent 10}
+
+upsmgAgentMibVersion OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The version of the MIB implemented in agent."
+ ::= { upsmgAgent 11}
+
+upsmgAgentFirmwareVersion OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The agent firmware version."
+ ::= { upsmgAgent 12}
+
+upsmgAgentCommUPS OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The status of communication between agent and ups.
+ Even value means no communication, and odd value
+ means a certain level of communication with devices
+ daisy-chained on the serial port. The value is the
+ following: 1000*NSE + 100*NSW + 10*UPSW + UPST with
+ UPST is UPS type: 5 if no UPS;
+ 3 if PI (Protocol Interface)
+ 1 if U-Talk UPS;
+ UPSW is the number of switchable plugs of the UPS;
+ NSW is the number of UM-Switch devices;
+ NSE is the number of UM-Sensor devices."
+ ::= { upsmgAgent 13}
+
+upsmgAgentTrapAck OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The last Trap number that has been received by UM-View."
+ ::= { upsmgAgent 14}
+
+upsmgAgentAutoLearning OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the Auto Learning
+ process of the agent, default value is yes(1) e.g. enabled."
+ ::= { upsmgAgent 15}
+
+upsmgAgentBootP OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the BootP process,
+ default value is yes(1) e.g. enabled."
+ ::= { upsmgAgent 16}
+
+upsmgAgentTFTP OBJECT-TYPE
+ SYNTAX INTEGER {
+ yes(1),
+ no(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ " The enabled/disabled configuration of the TFTP process,
+ default value is no(2) e.g. disabled."
+ ::= { upsmgAgent 17}
+
+upsmgAgentTrapSignature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ " The signature of the trap acknowledged by a manager."
+ ::= { upsmgAgent 18}
+
+------------------------
+-- upsmgRemote group --
+------------------------
+
+upsmgRemoteOnBattery OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An object to inform an ups-less agent that the remote
+ UPS is on autonomy. This object could be set by
+ a management application."
+ ::= { upsmgRemote 1}
+
+upsmgRemoteIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An object to give the IP address of the agent managing
+ the remote UPS. This object could be read by managers
+ to perform management of receptacle dependencies
+ between two different agents."
+ ::= { upsmgRemote 2}
+
+END