From 546849f32661224f2ab95575246c226efb971dc5 Mon Sep 17 00:00:00 2001 From: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com> Date: Mon, 25 Mar 2019 00:45:50 +0100 Subject: [PATCH] Added Panduit Eagle-I (was Sinetica) (#10014) * Panduit eagle-I * tests * mibfile * over update * tests redone with dynamic sensors --- html/images/logos/panduit.png | Bin 0 -> 60855 bytes html/images/os/panduit.png | Bin 0 -> 29283 bytes html/includes/graphs/sensor/humidity.inc.php | 4 +- .../definitions/discovery/panduit-eagle.yaml | 29 + includes/definitions/panduit-eagle.yaml | 11 + mibs/sinetica/HAWK-I2-MIB | 2646 +++++++++++++++++ tests/data/panduit-eagle.json | 526 ++++ tests/snmpsim/panduit-eagle.snmprec | 132 + 8 files changed, 3347 insertions(+), 1 deletion(-) create mode 100644 html/images/logos/panduit.png create mode 100644 html/images/os/panduit.png create mode 100644 includes/definitions/discovery/panduit-eagle.yaml create mode 100644 includes/definitions/panduit-eagle.yaml create mode 100644 mibs/sinetica/HAWK-I2-MIB create mode 100644 tests/data/panduit-eagle.json create mode 100644 tests/snmpsim/panduit-eagle.snmprec diff --git a/html/images/logos/panduit.png b/html/images/logos/panduit.png new file mode 100644 index 0000000000000000000000000000000000000000..51baf13099c5f02b221f1b16b375eaddde1c81a0 GIT binary patch literal 60855 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 literal 0 HcmV?d00001 diff --git a/html/images/os/panduit.png b/html/images/os/panduit.png new file mode 100644 index 0000000000000000000000000000000000000000..38ff129ff396300803290bb0247ade525683d9e2 GIT binary patch literal 29283 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 literal 0 HcmV?d00001 diff --git a/html/includes/graphs/sensor/humidity.inc.php b/html/includes/graphs/sensor/humidity.inc.php index e953385f38..bc4744fb15 100644 --- a/html/includes/graphs/sensor/humidity.inc.php +++ b/html/includes/graphs/sensor/humidity.inc.php @@ -21,7 +21,9 @@ $rrd_options .= ' AREA:sensor_min#ffffffff'; // $rrd_options .= " AREA:sensorwarm#FFCCCC"; // $rrd_options .= " AREA:sensorcold#CCCCFF"; $rrd_options .= " LINE1:sensor#cc0000:'".rrdtool_escape($sensor['sensor_descr'], 28)."'"; -$rrd_options .= ' LINE1:sensorwarm#660000'; +if (is_numeric($sensor['sensor_limit'])) { + $rrd_options .= ' LINE1:sensorwarm#660000'; +} $rrd_options .= ' GPRINT:sensor:LAST:%3.0lf%%'; $rrd_options .= ' GPRINT:sensor:MAX:%3.0lf%%\l'; diff --git a/includes/definitions/discovery/panduit-eagle.yaml b/includes/definitions/discovery/panduit-eagle.yaml new file mode 100644 index 0000000000..cb284c57b3 --- /dev/null +++ b/includes/definitions/discovery/panduit-eagle.yaml @@ -0,0 +1,29 @@ +mib: HAWK-I2-MIB +modules: + sensors: + temperature: + data: + - + oid: ipTHATable + value: ipTHAValue + num_oid: '.1.3.6.1.4.1.3711.24.1.1.1.2.2.1.7.{{ $index }}' + descr: '{{ $ipTHAName }} {{ $ipTHALocn }}' + divisor: 10 + skip_values: + - + oid: ipTHAType + op: '!=' + value: 2 + humidity: + data: + - + oid: ipTHATable + value: ipTHAValue + num_oid: '.1.3.6.1.4.1.3711.24.1.1.1.2.2.1.7.{{ $index }}' + descr: '{{ $ipTHAName }} {{ $ipTHALocn }}' + divisor: 10 + skip_values: + - + oid: ipTHAType + op: '!=' + value: 3 diff --git a/includes/definitions/panduit-eagle.yaml b/includes/definitions/panduit-eagle.yaml new file mode 100644 index 0000000000..5e314c5b5e --- /dev/null +++ b/includes/definitions/panduit-eagle.yaml @@ -0,0 +1,11 @@ +os: panduit-eagle +text: 'Eagle-I' +type: power +icon: panduit +mib_dir: + - sinetica +over: + - { graph: "", text: "" } +discovery: + - sysObjectID: + - .1.3.6.1.4.1.3711.24 diff --git a/mibs/sinetica/HAWK-I2-MIB b/mibs/sinetica/HAWK-I2-MIB new file mode 100644 index 0000000000..8ce08c78eb --- /dev/null +++ b/mibs/sinetica/HAWK-I2-MIB @@ -0,0 +1,2646 @@ + +HAWK-I2-MIB DEFINITIONS ::= BEGIN + + +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, enterprises, Unsigned32 + FROM SNMPv2-SMI +-- DisplayString, sysDescr, sysName +-- FROM RFC1213-MIB +-- MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP +-- FROM SNMPv2-CONF + TEXTUAL-CONVENTION, RowStatus, TruthValue, MacAddress -- DateAndTime + FROM SNMPv2-TC + InetAddress, InetAddressType + FROM INET-ADDRESS-MIB + ; + +hawki2MIB MODULE-IDENTITY + LAST-UPDATED "200606271200Z" -- 27 June 2006 + ORGANIZATION "Sinetica Corporation" + CONTACT-INFO "Development Department + + Sinetica Corporation Ltd. + Willow House + Llancayo Court + Usk + Monmouthshire + NP15 1HY + U.K. + + Tel: +44 (0)871 226 5679 + Fax: +44 (0)845 456 3562 + Web: www.sinetica.co.uk + E-mail: info@sinetica.co.uk" + DESCRIPTION + "The MIB module for the Sinetica Hawk-i2." + REVISION "200606271200Z" -- 27 June 2006 + DESCRIPTION + "Name change and new objects added" + REVISION "200603071200Z" -- 07 March 2006 + DESCRIPTION + "First issue" + ::= { sinetica 24 } + +DisplayString ::= OCTET STRING + +ContactState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Represents the state of a set of contacts." + SYNTAX INTEGER { open(1), closed(2) } + +InputContactState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Represents the state of a set of input contacts." + SYNTAX INTEGER { open(1), closed(2), armed(3), triggered(4) } + +RelayState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Represents the energised state of a relay." + SYNTAX INTEGER { on(1), off(2) } + +OutputControlState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Represents the control setiing for an output." + SYNTAX INTEGER { activate(1), deactivate(2), logic(3) } + +EnableState ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Represents the state of an enabling flag." + SYNTAX INTEGER { enabled(1), disabled(2) } + +InputDataType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Represents the type of data read at an input." + SYNTAX INTEGER { autodetect(1), temperature(2), humidity(3), analogue(4), contact(5), inactive(255) } + + +sinetica OBJECT IDENTIFIER ::= { enterprises 3711 } + +v1 OBJECT IDENTIFIER ::= { hawki2MIB 1 } -- MIB variant number + +objects OBJECT IDENTIFIER ::= { v1 1 } +traps OBJECT IDENTIFIER ::= { hawki2MIB 0 } + +-- {{{ objects group + +inputs OBJECT IDENTIFIER ::= { objects 1 } +outputs OBJECT IDENTIFIER ::= { objects 2 } + +keypads OBJECT IDENTIFIER ::= { objects 4 } +acus OBJECT IDENTIFIER ::= { objects 5 } +access OBJECT IDENTIFIER ::= { objects 6 } +pdus OBJECT IDENTIFIER ::= { objects 7 } + +inventory OBJECT IDENTIFIER ::= { objects 99 } +trapInfo OBJECT IDENTIFIER ::= { objects 100 } + +-- }}} End of objects group + +-- {{{ inputs group + +-- The Hawk-i2 inputs can all be either temperature, humidity, analogue volts or contact state. +-- To deal with this there is one table to deal with all analogue-type inputs (temperature, humidity, analogue volts) and another for the contacts. +-- At any time an input is permitted to have an entry in one table only, depending on which type of input it is currently monitoring. + +ipCommon OBJECT IDENTIFIER ::= { inputs 1 } +ipTHA OBJECT IDENTIFIER ::= { inputs 2 } +ipContact OBJECT IDENTIFIER ::= { inputs 3 } + +-- {{{ ipCommon group + +ipEnable OBJECT IDENTIFIER ::= { ipCommon 1 } + +-- {{{ ipEnable group + +ipSelect OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Selects the channel to be enabled or disabled by ipInsert. + A value of 0 selects no channel." + DEFVAL { 0 } + ::= { ipEnable 1 } + +ipInsert OBJECT-TYPE + SYNTAX InputDataType + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Inserts or removes the channel selected by ipSelect - + causes an entry for that channel to be created or deleted in the relevant tables. + - Read behaviour is undefined." + ::= { ipEnable 2 } + +-- }}} End of ipEnable group + +-- }}} End of ipCommon group +-- {{{ ipTHA - i.e. temperature, humidity and analogue Volts monitoring + +ipTempScaleFlag OBJECT-TYPE + SYNTAX INTEGER { celsius(1), fahrenheit(2), kelvin(3) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Temperature scale (Celsius/Fahrenheit) for temperature monitoring." + ::= { ipTHA 1 } + +ipTHATable OBJECT-TYPE + SYNTAX SEQUENCE OF IpTHAEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table giving data for all enabled inputs with analogue-type monitoring." + ::= { ipTHA 2 } + +ipTHAEntry OBJECT-TYPE + SYNTAX IpTHAEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one analogue-type input." + INDEX { ipTHAChan } + ::= { ipTHATable 1 } + +IpTHAEntry ::= SEQUENCE { + ipTHAChan INTEGER, + ipTHARS RowStatus, + ipTHAName DisplayString, + ipTHALocn DisplayString, + ipTHAAutoDetect TruthValue, + ipTHAType InputDataType, + ipTHAValue INTEGER, + ipTHAScaling INTEGER, + ipTHAOffset INTEGER, + ipTHAHysteresis INTEGER + } + +ipTHAChan OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The input number." + ::= { ipTHAEntry 1 } + +ipTHARS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The analogue-type input table row status." + ::= { ipTHAEntry 2 } + +ipTHAName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The name of this input" + ::= { ipTHAEntry 3 } + +ipTHALocn OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..4)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A system-defined name for the physical location of this input, e.g. MCU." + ::= { ipTHAEntry 4 } + +ipTHAAutoDetect OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates that the type of data this input is monitoring is selected automatically." + ::= { ipTHAEntry 5 } + +ipTHAType OBJECT-TYPE + SYNTAX InputDataType + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates the type of data this input is monitoring." + ::= { ipTHAEntry 6 } + +ipTHAValue OBJECT-TYPE + SYNTAX INTEGER (-200..1000) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current reading in the relevant measurement units." + ::= { ipTHAEntry 7 } + +ipTHAScaling OBJECT-TYPE + SYNTAX INTEGER (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Scaling factor for ipTHAValue when ipTHAType=analogue." + ::= { ipTHAEntry 8 } + +ipTHAOffset OBJECT-TYPE + SYNTAX INTEGER (-100..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Calibration offset in the same units as for ipTHAValue." + ::= { ipTHAEntry 9 } + +ipTHAHysteresis OBJECT-TYPE + SYNTAX INTEGER (-100..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Hysteresis on threshold levels in the same units as for ipTHAValue." + ::= { ipTHAEntry 10 } + +-- {{{ ipTHATrapsCfg group + +ipTHATrapsCfg OBJECT IDENTIFIER ::= { ipTHA 3 } + +-- {{{ ipTHAThreshTable + +ipTHAThreshTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpTHAThreshEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table listing the trap threshold levels for all enabled inputs with analogue-type monitoring." + ::= { ipTHATrapsCfg 1 } + +ipTHAThreshEntry OBJECT-TYPE + SYNTAX IpTHAThreshEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing threshold information for one analogue-type input." + INDEX { ipTHAThreshChan } + ::= { ipTHAThreshTable 1 } + +IpTHAThreshEntry ::= SEQUENCE { + ipTHAThreshChan INTEGER, + ipTHAThreshRS RowStatus, + ipTHAUCL INTEGER, + ipTHAUWL INTEGER, + ipTHALWL INTEGER, + ipTHALCL INTEGER + } + +ipTHAThreshChan OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The input number." + ::= { ipTHAThreshEntry 1 } + +ipTHAThreshRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The analogue-type input table row status." + ::= { ipTHAThreshEntry 2 } + +ipTHAUCL OBJECT-TYPE + SYNTAX INTEGER (-200..1000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The Upper Critical Limit for this input in the same units as for ipTHAValue." + ::= { ipTHAThreshEntry 3 } + +ipTHAUWL OBJECT-TYPE + SYNTAX INTEGER (-200..1000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The Upper Warning Limit for this input in the same units as for ipTHAValue." + ::= { ipTHAThreshEntry 4 } + +ipTHALWL OBJECT-TYPE + SYNTAX INTEGER (-200..1000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The Lower Warning Limit for this input in the same units as for ipTHAValue." + ::= { ipTHAThreshEntry 5 } + +ipTHALCL OBJECT-TYPE + SYNTAX INTEGER (-200..1000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The Lower Critical Limit for this input in the same units as for ipTHAValue." + ::= { ipTHAThreshEntry 6 } + +-- }}} End of ipTHAThreshTable +-- {{{ ipTHATrapEnTable + +ipTHATrapEnTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpTHATrapEnEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table that controls trap enabling for all enabled inputs with analogue-type monitoring." + ::= { ipTHATrapsCfg 2 } + +ipTHATrapEnEntry OBJECT-TYPE + SYNTAX IpTHATrapEnEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing trap enabling information for one analogue-type input." + INDEX { ipTHATrapEnChan } + ::= { ipTHATrapEnTable 1 } + +IpTHATrapEnEntry ::= SEQUENCE { + ipTHATrapEnChan INTEGER, + ipTHATrapEnRS RowStatus, + ipTHAUCLTrapEn TruthValue, + ipTHAUWLTrapEn TruthValue, + ipTHALWLTrapEn TruthValue, + ipTHALCLTrapEn TruthValue + } + +ipTHATrapEnChan OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The input number." + ::= { ipTHATrapEnEntry 1 } + +ipTHATrapEnRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The analogue-type input table row status." + ::= { ipTHATrapEnEntry 2 } + +ipTHAUCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables and disables input UCL alarm traps." + ::= { ipTHATrapEnEntry 3 } + +ipTHAUWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables and disables input UWL alarm traps." + ::= { ipTHATrapEnEntry 4 } + +ipTHALWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables and disables input LWL alarm traps." + ::= { ipTHATrapEnEntry 5 } + +ipTHALCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables and disables input LCL alarm traps." + ::= { ipTHATrapEnEntry 6 } + +-- }}} End of ipTHATrapEnTable +-- {{{ ipTHATrapPerTable + +ipTHATrapPerTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpTHATrapPerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table that controls trap repetition for all enabled inputs with analogue-type monitoring." + ::= { ipTHATrapsCfg 3 } + +ipTHATrapPerEntry OBJECT-TYPE + SYNTAX IpTHATrapPerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing trap repetition information for one analogue-type input." + INDEX { ipTHATrapPerChan } + ::= { ipTHATrapPerTable 1 } + +IpTHATrapPerEntry ::= SEQUENCE { + ipTHATrapPerChan INTEGER, + ipTHATrapPerRS RowStatus, + ipTHATrapUCLPer INTEGER, + ipTHATrapUWLPer INTEGER, + ipTHATrapLWLPer INTEGER, + ipTHATrapLCLPer INTEGER + } + +ipTHATrapPerChan OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The input number." + ::= { ipTHATrapPerEntry 1 } + +ipTHATrapPerRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The table row status." + ::= { ipTHATrapPerEntry 2 } + +ipTHATrapUCLPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to 0 disables trap repetition, a value of 30 or higher sets the interval between traps in seconds" + ::= { ipTHATrapPerEntry 3 } + +ipTHATrapUWLPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to 0 disables trap repetition, a value of 30 or higher sets the interval between traps in seconds" + ::= { ipTHATrapPerEntry 4 } + +ipTHATrapLWLPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to 0 disables trap repetition, a value of 30 or higher sets the interval between traps in seconds" + ::= { ipTHATrapPerEntry 5 } + +ipTHATrapLCLPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to 0 disables trap repetition, a value of 30 or higher sets the interval between traps in seconds" + ::= { ipTHATrapPerEntry 6 } + +-- }}} End of ipTHATrapPerTable + +-- }}} End of ipTHATrapsCfg group +-- {{{ ipTHA traps + +-- To Be Added + +-- }}} End of ipTHA traps + +-- }}} End of ipTHA +-- {{{ ipContact + +ipContTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpContEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table listing the parameters and data for all enabled inputs with contact-type monitoring." + ::= { ipContact 1 } + +ipContEntry OBJECT-TYPE + SYNTAX IpContEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one contact input." + INDEX { ipContChan } + ::= { ipContTable 1 } + +IpContEntry ::= SEQUENCE { + ipContChan INTEGER, + ipContRS RowStatus, + ipContName DisplayString, + ipContLocn DisplayString, + ipContAutoDetect TruthValue, + ipContNormState ContactState, + ipContCurrState InputContactState, + ipContTrigMode INTEGER, + ipContReset Unsigned32, + ipContTrapEn INTEGER, + ipContTrapPeriod INTEGER + } + +ipContChan OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The input number." + ::= { ipContEntry 1 } + +ipContRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The contact input table row status." + ::= { ipContEntry 2 } + +ipContName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The name of this input" + ::= { ipContEntry 3 } + +ipContLocn OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..4)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A system-defined name for the physical location of this input, e.g. MCU." + ::= { ipContEntry 4 } + +ipContAutoDetect OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Indicates that the type of data this input is monitoring is selected automatically." + ::= { ipContEntry 5 } + +ipContNormState OBJECT-TYPE + SYNTAX ContactState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The normal state for this contact." + ::= { ipContEntry 6 } + +ipContCurrState OBJECT-TYPE + SYNTAX InputContactState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The current state of this contact." + ::= { ipContEntry 7 } + +ipContTrigMode OBJECT-TYPE + SYNTAX INTEGER { positiveEdge(1), negativeEdge(2), level(3) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The contact trigger mode, level, +ve edge, -ve edge." + ::= { ipContEntry 8 } + +ipContReset OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Resets the contact after triggering in edge mode." + ::= { ipContEntry 9 } + +ipContTrapEn OBJECT-TYPE + SYNTAX INTEGER { critical(1), warning(2), information(3), disabled(255) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Configure contact input traps." + ::= { ipContEntry 10 } + +ipContTrapPeriod OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to 0 disables trap repetition, a value of 30 or higher sets the interval between traps in seconds" + ::= { ipContEntry 11 } + +-- {{{ ipContact traps + +-- To Be Added + +-- }}} End of ipContact traps + +-- }}} End of ipContact + +-- }}} End of ip group +-- {{{ outputs group + +opEnable OBJECT IDENTIFIER ::= { outputs 1 } + +-- {{{ opEnable group + +opSelect OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Selects the channel to be enabled or disabled by opEnable. + A value of 0 selects no channel." + DEFVAL { 0 } + ::= { opEnable 1 } + +opInsert OBJECT-TYPE + SYNTAX EnableState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables or disables the channel selected by opSelect - + causes an entry for that channel to be created or deleted in the relevant tables. + - Read behaviour is undefined." + ::= { opEnable 2 } + +-- }}} End of opEnable group +-- {{{ opTable + +opTable OBJECT-TYPE + SYNTAX SEQUENCE OF OpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table listing the parameters and data for all outputs that are enabled and available (i.e. its extension unit is connected)." + ::= { outputs 2 } + +opEntry OBJECT-TYPE + SYNTAX OpEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one output." + INDEX { opChan } + ::= { opTable 1 } + +OpEntry ::= SEQUENCE { + opChan INTEGER, + opRS RowStatus, + opName DisplayString, + opLocn DisplayString, + opNormState RelayState, + opCurrState RelayState, + opOnDelTime Unsigned32, + opOffDelTime Unsigned32, + opBooleanEqn DisplayString, + opTrapEn INTEGER, + opTrapPeriod INTEGER, + opControlState OutputControlState + } + +opChan OBJECT-TYPE + SYNTAX INTEGER (0..18) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The output number." + ::= { opEntry 1 } + +opRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The contact input table row status." + ::= { opEntry 2 } + +opName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A user-defined name for this output." + ::= { opEntry 3 } + +opLocn OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..4)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A system-defined name for the physical location of this output, e.g. MCU." + ::= { opEntry 4 } + +opNormState OBJECT-TYPE + SYNTAX RelayState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets or reads the required normal state of this output." + ::= { opEntry 5 } + +opCurrState OBJECT-TYPE + SYNTAX RelayState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Reads the current state of this output." + ::= { opEntry 6 } + +opOnDelTime OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets the 'on' delay time for this output." + ::= { opEntry 7 } + +opOffDelTime OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets the 'off' delay time for this output." + ::= { opEntry 8 } + +opBooleanEqn OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Boolean equation string" + ::= { opEntry 9 } + +opTrapEn OBJECT-TYPE + SYNTAX INTEGER { critical(1), warning(2), information(3), disabled(255) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Configure output traps." + ::= { opEntry 10 } + +opTrapPeriod OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to 0 disables trap repetition, a value of 30 or higher sets the interval between traps in seconds" + ::= { opEntry 11 } + +opControlState OBJECT-TYPE + SYNTAX OutputControlState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Reads the current control state of an output." + ::= { opEntry 12 } + +-- }}} End of opTable +-- {{{ outputs traps + +-- To Be Added + +-- }}} End of outputs traps + +-- }}} End of outputs group +-- {{{ keypads group + +kpEnable OBJECT IDENTIFIER ::= { keypads 1 } + +-- {{{ kpEnable group + +kpSelect OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Selects the keypad to be enabled or disabled by kpEnable. + A value of 0 selects no keypad." + DEFVAL { 0 } + ::= { kpEnable 1 } + +kpInsert OBJECT-TYPE + SYNTAX EnableState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables or disables the keypad selected by kpSelect - + causes an entry for that keypad to be created or deleted in the relevant tables. + - Read behaviour is undefined." + ::= { kpEnable 2 } + +-- }}} End of kpEnable group +-- {{{ kpTable + +kpCtlTable OBJECT-TYPE + SYNTAX SEQUENCE OF KpCtlEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table listing the parameters and data for the keypads." + ::= { keypads 2 } + +kpCtlEntry OBJECT-TYPE + SYNTAX KpCtlEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one keypad." + INDEX { kpNumber } + ::= { kpCtlTable 1 } + +KpCtlEntry ::= SEQUENCE { + kpNumber INTEGER, + kpRS RowStatus, + kpManufacturer DisplayString, + kpName DisplayString, + kpDoorLatchTimeOut Unsigned32, + kpRtnToStndbyTimeOut INTEGER, + kpEntryCodeValid TruthValue, + kpDoorOpenTimeOut INTEGER, + kpRemoteDoorOpen TruthValue, + kpInUseTrapEn INTEGER + } + +kpNumber OBJECT-TYPE + SYNTAX INTEGER (1..2) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The keypad number." + ::= { kpCtlEntry 1 } + +kpRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The keypad table row status." + ::= { kpCtlEntry 2 } + +kpManufacturer OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The name of the manufacturer of the keypad." + ::= { kpCtlEntry 3 } + +kpName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A name identifying the keypad." + ::= { kpCtlEntry 4 } + +kpDoorLatchTimeOut OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time-out value in seconds for which the door latch is held open." + ::= { kpCtlEntry 5 } + +kpRtnToStndbyTimeOut OBJECT-TYPE + SYNTAX INTEGER (0..99) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time-out value in seconds for Return to Standby Mode" + ::= { kpCtlEntry 6 } + +kpEntryCodeValid OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Set if previous keypad entry was valid." + ::= { kpCtlEntry 7 } + +kpDoorOpenTimeOut OBJECT-TYPE + SYNTAX INTEGER (0..99) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time-out value in seconds for Door Open." + ::= { kpCtlEntry 8 } + +kpRemoteDoorOpen OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to open the door." + ::= { kpCtlEntry 9 } + +kpInUseTrapEn OBJECT-TYPE + SYNTAX INTEGER { critical(1), warning(2), information(3), disabled(255) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "'keypad in use' trap enable" + ::= { kpCtlEntry 10 } + +-- }}} End of kpTable +-- {{{ keypads traps + +-- To Be Added + +-- }}} End of keypads traps + +-- }}} End of keypads group +-- {{{ acus group + +acuEnable OBJECT IDENTIFIER ::= { acus 1 } + +-- {{{ acuEnable group + +acuSelect OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Selects the ACU to be enabled or disabled by acuEnable. + A value of 0 selects no ACU." + DEFVAL { 0 } + ::= { acuEnable 1 } + +acuInsert OBJECT-TYPE + SYNTAX EnableState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables or disables the ACU selected by acuSelect - + causes an entry for that ACU to be created or deleted in the relevant tables. + - Read behaviour is undefined." + ::= { acuEnable 2 } + +-- }}} End of acuEnable group +-- {{{ acuTable + +acuCtlTable OBJECT-TYPE + SYNTAX SEQUENCE OF AcuCtlEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table listing the parameters and data for the ACUs." + ::= { acus 2 } + +acuCtlEntry OBJECT-TYPE + SYNTAX AcuCtlEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one ACU." + INDEX { acuNumber } + ::= { acuCtlTable 1 } + +AcuCtlEntry ::= SEQUENCE { + acuNumber INTEGER, + acuCtlRS RowStatus, + acuManufacturer DisplayString, + acuName DisplayString, + acuDoorLatchTimeOut Unsigned32, + acuRtnToStndbyTimeOut INTEGER, + acuEntryCodeValid TruthValue, + acuDoorOpenTimeOut INTEGER, + acuRemoteDoorOpen TruthValue, + acuInUseTrapEn INTEGER + } + +acuNumber OBJECT-TYPE + SYNTAX INTEGER (1..6) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The ACU number." + ::= { acuCtlEntry 1 } + +acuCtlRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The ACU table row status." + ::= { acuCtlEntry 2 } + +acuManufacturer OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The name of the manufacturer of the ACU." + ::= { acuCtlEntry 3 } + +acuName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A name identifying the ACU." + ::= { acuCtlEntry 4 } + +acuDoorLatchTimeOut OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time-out value in seconds for which the door latch is held open." + ::= { acuCtlEntry 5 } + +acuRtnToStndbyTimeOut OBJECT-TYPE + SYNTAX INTEGER (0..99) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time-out value in seconds for Return to Standby Mode" + ::= { acuCtlEntry 6 } + +acuEntryCodeValid OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Set if previous ACU entry was valid." + ::= { acuCtlEntry 7 } + +acuDoorOpenTimeOut OBJECT-TYPE + SYNTAX INTEGER (0..99) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time-out value in seconds for Door Open." + ::= { acuCtlEntry 8 } + +acuRemoteDoorOpen OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Set to open the door." + ::= { acuCtlEntry 9 } + +acuInUseTrapEn OBJECT-TYPE + SYNTAX INTEGER { critical(1), warning(2), information(3), disabled(255) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "'ACU in use' trap enable" + ::= { acuCtlEntry 10 } + +-- }}} End of acuTable +-- {{{ acus traps + +-- To Be Added + +-- }}} End of acus traps + +-- }}} End of acus group +-- {{{ access group + +accUserCtl OBJECT IDENTIFIER ::= { access 1 } + +-- {{{ accUserCtl group + +accUserInstance OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A value of 0 causes an access user to be created in the relevant tables. + A non-zero value causes the nominated access user table entries to be deleted." + ::= { accUserCtl 1 } + +-- {{{ accUserTable + +accUserTable OBJECT-TYPE + SYNTAX SEQUENCE OF AccUserEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table controlling the access users." + ::= { accUserCtl 2 } + +accUserEntry OBJECT-TYPE + SYNTAX AccUserEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one ACU user." + INDEX { accUserNumber } + ::= { accUserTable 1 } + +AccUserEntry ::= SEQUENCE { + accUserNumber INTEGER, + accUserRS RowStatus, + accUserName DisplayString, + accUserCode OCTET STRING, + accUserPrivileges DisplayString, + accUserExpires DisplayString + } + +accUserNumber OBJECT-TYPE + SYNTAX INTEGER (0..20) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The the access user-table entry number." + ::= { accUserEntry 1 } + +accUserRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The access user table row status." + ::= { accUserEntry 2 } + +accUserName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A name identifying the access user." + ::= { accUserEntry 3 } + +accUserCode OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The user's access code." + ::= { accUserEntry 4 } + +accUserPrivileges OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..11)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The ACUs and keypads that the user is allowed to gain access through - comma-separated numerical strings." + ::= { accUserEntry 5 } + +accUserExpires OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A text string which specifies when the access code in the row expires. The format is defined by the application." + ::= { accUserEntry 6 } + +-- }}} End of accUserTable + +accUserSetup OBJECT-TYPE + SYNTAX OCTET STRING + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A free form octet string for programming accUserTable. The format is defined by the application." + ::= { accUserCtl 3 } + +-- }}} End of accUserCtl group +-- {{{ pdus group + +pduCommon OBJECT IDENTIFIER ::= { pdus 1 } +pduOutlets OBJECT IDENTIFIER ::= { pdus 2 } +pduMonitor OBJECT IDENTIFIER ::= { pdus 3 } + +-- {{{ pduCommon group + +pdusEnable OBJECT IDENTIFIER ::= { pduCommon 1 } + +-- {{{ pduEnable group + +pduSelect OBJECT-TYPE + SYNTAX INTEGER (0..6) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Selects the PDU to be enabled or disabled by pduEnable. + A value of 0 selects no PDU." + DEFVAL { 0 } + ::= { pdusEnable 1 } + +pduInsert OBJECT-TYPE + SYNTAX EnableState + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables or disables the PDU selected by pduSelect - + causes an entry for that PDU to be created or deleted in the relevant tables. + - Read behaviour is undefined." + ::= { pdusEnable 2 } + +-- }}} End of pduEnable group +-- {{{ pduTable + +pduTable OBJECT-TYPE + SYNTAX SEQUENCE OF PduEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing information about each enabled PDU." + ::= { pduCommon 2 } + +pduEntry OBJECT-TYPE + SYNTAX PduEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one PDU." + INDEX { pduNumber } + ::= { pduTable 1 } + +PduEntry ::= SEQUENCE { + pduNumber INTEGER, + pduRS RowStatus, + pduName DisplayString, + pduOutEn TruthValue, + pduMonEn TruthValue, + pduCommsFail INTEGER + } + +pduNumber OBJECT-TYPE + SYNTAX INTEGER (1..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU number." + ::= { pduEntry 1 } + +pduRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU table row status." + ::= { pduEntry 2 } + +pduName OBJECT-TYPE + SYNTAX DisplayString(SIZE(0..15)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A string identifying the PDU." + ::= { pduEntry 3} + +pduOutEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables/disables PDU power outlet control - causes an entry for outlets to be created in each relevant PDU table." + ::= {pduEntry 4 } + +pduMonEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables/disables PDU power monitoring - causes an entry for monitoring to be created in each relevant PDU table." + ::= {pduEntry 5 } + +pduCommsFail OBJECT-TYPE + SYNTAX INTEGER { commsGood(1), commsFailed(2), commsBadData(3)} + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates comms. status for the PDU." + ::= {pduEntry 6 } + +-- }}} End of pduTable + +-- }}} End of pduCommon group +-- {{{ pduOutlets group + +pduOutAll OBJECT IDENTIFIER ::= { pduOutlets 1 } + +-- {{{ pduOutAll group + +pduOutCycleAll OBJECT-TYPE + SYNTAX INTEGER { up(1), down(2) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets the required state of all power outlets on all connected PDUs." + ::= { pduOutAll 1 } + +pduOutCycleAllPwd OBJECT-TYPE + SYNTAX DisplayString(SIZE(0..7)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Controls access to setting the required state of all power outlets on all connected PDUs." + ::= { pduOutAll 2 } + +pduOutCycleAllAbort OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Abort command for pduOutCycleAll." + ::= { pduOutAll 3 } + +pduOutGlobalCycleDelay OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets the delay period for pduOutCycleAll and pduOutCycle commands before they start to execute." + ::= { pduOutAll 4 } + +pduOutGlobalRebootTime OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets the off to on delay period for a pdu outlet reboot." + ::= { pduOutAll 5 } + +pduOutGlobalCycleAbortTime OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time delay to abort power outlet setting task." + ::= { pduOutAll 6 } + +-- }}} End of pduOutAll group +-- {{{ pduOutTable + +pduOutCmnTable OBJECT-TYPE + SYNTAX SEQUENCE OF PduOutCmnEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing information about the power outlets of all PDUs enabled for outlet control." + ::= { pduOutlets 2 } + +pduOutCmnEntry OBJECT-TYPE + SYNTAX PduOutCmnEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about the power outlets of one PDU." + INDEX { pduOutCmnPduNumber } + ::= { pduOutCmnTable 1 } + +PduOutCmnEntry ::= SEQUENCE { + pduOutCmnPduNumber INTEGER, + pduOutCmnRS RowStatus, + pduNumOfOutlets INTEGER, + pduOutCycle INTEGER, + pduOutCyclePwd DisplayString, + pduOutCycleAbortTask Unsigned32, + pduOutCycleAbortTime Unsigned32 + } + +pduOutCmnPduNumber OBJECT-TYPE + SYNTAX INTEGER (1..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU number." + ::= { pduOutCmnEntry 1 } + +pduOutCmnRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU table row status." + ::= { pduOutCmnEntry 2 } + +pduNumOfOutlets OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The number of switchable outlets on the PDU - determines the number of entries to be created in the outlet table for the relevant PDU." + ::= { pduOutCmnEntry 3 } + +pduOutCycle OBJECT-TYPE + SYNTAX INTEGER { up(1), down(2) } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets the required state of all power outlets on the PDU." + ::= { pduOutCmnEntry 4 } + +pduOutCyclePwd OBJECT-TYPE + SYNTAX DisplayString(SIZE(0..7)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Password controling access to setting the required state of all power outlets on the PDU." + ::= { pduOutCmnEntry 5 } + +pduOutCycleAbortTask OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Abort power outlet setting task." + ::= { pduOutCmnEntry 6 } + +pduOutCycleAbortTime OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Time delay to abort power outlet setting task." + ::= { pduOutCmnEntry 7 } + +-- }}} End of pduOutCmnTable +-- {{{ pduOutTable + +pduOutTable OBJECT-TYPE + SYNTAX SEQUENCE OF PduOutEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table listing the states and descriptions for each outlet on the PDU." + ::= { pduOutlets 3 } + +pduOutEntry OBJECT-TYPE + SYNTAX PduOutEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A row containing information about one PDU outlet." + INDEX { pduOutPduNumber, pduOutNumber } + ::= { pduOutTable 1 } + +PduOutEntry ::= SEQUENCE { + pduOutPduNumber INTEGER, + pduOutNumber INTEGER, + pduOutRS RowStatus, + pduOutName DisplayString, + pduOutOn INTEGER, + pduOutPwd DisplayString, + pduOutCycleDelay Unsigned32, + pduOutRebootPeriod Unsigned32 + } + +pduOutPduNumber OBJECT-TYPE + SYNTAX INTEGER (1..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU number on which the outlet resides." + ::= { pduOutEntry 1 } + +pduOutNumber OBJECT-TYPE + SYNTAX INTEGER (1..32) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The outlet number." + ::= { pduOutEntry 2 } + +pduOutRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU table row status." + ::= { pduOutEntry 3 } + +pduOutName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..31)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A name identifying the outlet." + ::= { pduOutEntry 4 } + +pduOutOn OBJECT-TYPE + SYNTAX INTEGER { on(1), off(2), reboot(3)} + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The current state for this outlet." + ::= { pduOutEntry 5 } + +pduOutPwd OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..7)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The password for this outlet." + ::= { pduOutEntry 6 } + +pduOutCycleDelay OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The on/off delay for this outlet in seconds." + ::= { pduOutEntry 7 } + +pduOutRebootPeriod OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The pduOutOn reboot off period for this outlet in seconds." + ::= { pduOutEntry 8 } + +-- }}} End of pduOutTable + +-- }}} End of pduOut group +-- {{{ pduMonitor group + +-- {{{ pduMonTable + +pduMonTable OBJECT-TYPE + SYNTAX SEQUENCE OF PduMonEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing monitor information for all PDUs enabled for monitoring." + ::= { pduMonitor 1 } + +pduMonEntry OBJECT-TYPE + SYNTAX PduMonEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing monitor information for one PDU." + INDEX { pduMonPduNumber } + ::= { pduMonTable 1 } + +PduMonEntry ::= SEQUENCE { + pduMonPduNumber INTEGER, + pduMonRS RowStatus, + pduRMSVoltsValue INTEGER, + pduRMSAmpsValue INTEGER, + pduTotalEnergyValue INTEGER, + pduMeanKVAValue INTEGER, + pduMeanKWattsValue INTEGER, + pduPwrFactorValue INTEGER + } + +pduMonPduNumber OBJECT-TYPE + SYNTAX INTEGER (1..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU number." + ::= { pduMonEntry 1 } + +pduMonRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU table row status." + ::= { pduMonEntry 2 } + +pduRMSVoltsValue OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "RMS Volts value in volts" + ::= { pduMonEntry 3 } + +pduRMSAmpsValue OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "RMS current value in 0.1 Amps" + ::= { pduMonEntry 4 } + +pduTotalEnergyValue OBJECT-TYPE + SYNTAX INTEGER (0..9999999) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Total energy value in 0.1 kWh" + ::= { pduMonEntry 5 } + +pduMeanKVAValue OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Kilo Volt-Amperes value in 0.1 kVA" + ::= { pduMonEntry 6 } + +pduMeanKWattsValue OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Kilo Watts value in 0.1 kW" + ::= { pduMonEntry 7 } + +pduPwrFactorValue OBJECT-TYPE + SYNTAX INTEGER (0..100) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power factor value in 0.01" + ::= { pduMonEntry 8 } + +-- }}} End of pduMonTable +-- {{{ pduTrapThreshTable + +pduTrapThreshTable OBJECT-TYPE + SYNTAX SEQUENCE OF PduTrapThreshEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing information about the trap threshold values for all PDUs enabled for monitoring." + ::= { pduMonitor 2 } + +pduTrapThreshEntry OBJECT-TYPE + SYNTAX PduTrapThreshEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about the trap threshold values for one PDU." + INDEX { pduTrapThreshPduNumber } + ::= { pduTrapThreshTable 1 } + +PduTrapThreshEntry ::= SEQUENCE { + pduTrapThreshPduNumber INTEGER, + pduTrapThreshRS RowStatus, + pduRMSVoltsUCL INTEGER, + pduRMSVoltsUWL INTEGER, + pduRMSVoltsLWL INTEGER, + pduRMSVoltsLCL INTEGER, + pduRMSAmpsUCL INTEGER, + pduRMSAmpsUWL INTEGER, + pduRMSAmpsLWL INTEGER, + pduRMSAmpsLCL INTEGER, + pduEnergyUCL INTEGER, + pduEnergyUWL INTEGER, + pduMeanKVAUCL INTEGER, + pduMeanKVAUWL INTEGER, + pduMeanKVALWL INTEGER, + pduMeanKVALCL INTEGER, + pduMeanKWattsUCL INTEGER, + pduMeanKWattsUWL INTEGER, + pduMeanKWattsLWL INTEGER, + pduMeanKWattsLCL INTEGER, + pduPwrFactorUCL INTEGER, + pduPwrFactorUWL INTEGER, + pduPwrFactorLWL INTEGER, + pduPwrFactorLCL INTEGER + } + +pduTrapThreshPduNumber OBJECT-TYPE + SYNTAX INTEGER (1..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU number." + ::= { pduTrapThreshEntry 1 } + +pduTrapThreshRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU table row status." + ::= { pduTrapThreshEntry 2 } + +pduRMSVoltsUCL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms UCL value in volts" + ::= { pduTrapThreshEntry 3 } + +pduRMSVoltsUWL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms UWL value in volts" + ::= { pduTrapThreshEntry 4 } + +pduRMSVoltsLWL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms LWL value in volts" + ::= { pduTrapThreshEntry 5 } + +pduRMSVoltsLCL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms LCL value in volts" + ::= { pduTrapThreshEntry 6 } + +pduRMSAmpsUCL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms UCL value in 0.1 amps" + ::= { pduTrapThreshEntry 7 } + +pduRMSAmpsUWL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms UWL value in 0.1 amps" + ::= { pduTrapThreshEntry 8 } + +pduRMSAmpsLWL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms LWL value in 0.1 amps" + ::= { pduTrapThreshEntry 9 } + +pduRMSAmpsLCL OBJECT-TYPE + SYNTAX INTEGER (0..500) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "rms LCL value in 0.1 amps" + ::= { pduTrapThreshEntry 10 } + +pduEnergyUCL OBJECT-TYPE + SYNTAX INTEGER (0..9999999) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Total energy UCL value in 0.1 kWh" + ::= { pduTrapThreshEntry 11 } + +pduEnergyUWL OBJECT-TYPE + SYNTAX INTEGER (0..9999999) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Total energy UWL value in 0.1 kWh" + ::= { pduTrapThreshEntry 12 } + +pduMeanKVAUCL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean kVA UCL value in 0.1 kVA" + ::= { pduTrapThreshEntry 13 } + +pduMeanKVAUWL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean kVA UWL value in 0.1 kVA" + ::= { pduTrapThreshEntry 14 } + +pduMeanKVALWL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean kVA LWL value in 0.1 kVA" + ::= { pduTrapThreshEntry 15 } + +pduMeanKVALCL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean kVA LCL value in 0.1 kVA" + ::= { pduTrapThreshEntry 16 } + +pduMeanKWattsUCL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean power UCL value in 0.1 kW" + ::= { pduTrapThreshEntry 17 } + +pduMeanKWattsUWL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean power UWL value in 0.1 kW" + ::= { pduTrapThreshEntry 18 } + +pduMeanKWattsLWL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean power LWL value in 0.1 kW" + ::= { pduTrapThreshEntry 19 } + +pduMeanKWattsLCL OBJECT-TYPE + SYNTAX INTEGER (0..100000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Mean power LCL value in 0.1 kW" + ::= { pduTrapThreshEntry 20 } + +pduPwrFactorUCL OBJECT-TYPE + SYNTAX INTEGER (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Power factor UCL value in 0.01" + ::= { pduTrapThreshEntry 21 } + +pduPwrFactorUWL OBJECT-TYPE + SYNTAX INTEGER (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Power factor UWL value in 0.01" + ::= { pduTrapThreshEntry 22 } + +pduPwrFactorLWL OBJECT-TYPE + SYNTAX INTEGER (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Power factor LWL value in 0.01" + ::= { pduTrapThreshEntry 23 } + +pduPwrFactorLCL OBJECT-TYPE + SYNTAX INTEGER (0..100) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Power factor LCL value in 0.01" + ::= { pduTrapThreshEntry 24 } + +-- }}} End of pduTrapThreshTable +-- {{{ pduTrapEnTable + +pduTrapEnTable OBJECT-TYPE + SYNTAX SEQUENCE OF PduTrapEnEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table which controls threshold value trap enabling for all PDUs enabled for monitoring." + ::= { pduMonitor 3 } + +pduTrapEnEntry OBJECT-TYPE + SYNTAX PduTrapEnEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one PDU." + INDEX { pduTrapEnPduNumber } + ::= { pduTrapEnTable 1 } + +PduTrapEnEntry ::= SEQUENCE { + pduTrapEnPduNumber INTEGER, + pduTrapEnRS RowStatus, + pduRMSVoltsUCLTrapEn TruthValue, + pduRMSVoltsUWLTrapEn TruthValue, + pduRMSVoltsLWLTrapEn TruthValue, + pduRMSVoltsLCLTrapEn TruthValue, + pduRMSAmpsUCLTrapEn TruthValue, + pduRMSAmpsUWLTrapEn TruthValue, + pduRMSAmpsLWLTrapEn TruthValue, + pduRMSAmpsLCLTrapEn TruthValue, + pduEnergyUCLTrapEn TruthValue, + pduEnergyUWLTrapEn TruthValue, + pduMeanKVAUCLTrapEn TruthValue, + pduMeanKVAUWLTrapEn TruthValue, + pduMeanKVALWLTrapEn TruthValue, + pduMeanKVALCLTrapEn TruthValue, + pduMeanKWattsUCLTrapEn TruthValue, + pduMeanKWattsUWLTrapEn TruthValue, + pduMeanKWattsLWLTrapEn TruthValue, + pduMeanKWattsLCLTrapEn TruthValue, + pduPwrFactorUCLTrapEn TruthValue, + pduPwrFactorUWLTrapEn TruthValue, + pduPwrFactorLWLTrapEn TruthValue, + pduPwrFactorLCLTrapEn TruthValue + } + +pduTrapEnPduNumber OBJECT-TYPE + SYNTAX INTEGER (1..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU number." + ::= { pduTrapEnEntry 1 } + +pduTrapEnRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU table row status." + ::= { pduTrapEnEntry 2 } + +pduRMSVoltsUCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables Volts UCL trap." + ::= { pduTrapEnEntry 3 } + +pduRMSVoltsUWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables UWL Volts trap." + ::= { pduTrapEnEntry 4 } + +pduRMSVoltsLWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables LWL Volts trap." + ::= { pduTrapEnEntry 5 } + +pduRMSVoltsLCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables LCL Volts trap." + ::= { pduTrapEnEntry 6 } + +pduRMSAmpsUCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables UCL current trap." + ::= { pduTrapEnEntry 7 } + +pduRMSAmpsUWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables UWL current trap." + ::= { pduTrapEnEntry 8 } + +pduRMSAmpsLWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables LWL current trap." + ::= { pduTrapEnEntry 9 } + +pduRMSAmpsLCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables LCL current trap." + ::= { pduTrapEnEntry 10 } + +pduEnergyUCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables UCL total energy trap." + ::= { pduTrapEnEntry 11 } + +pduEnergyUWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables UWL total energy trap." + ::= { pduTrapEnEntry 12 } + +pduMeanKVAUCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean kVA UCL trap." + ::= { pduTrapEnEntry 13 } + +pduMeanKVAUWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean kVA UWL trap." + ::= { pduTrapEnEntry 14 } + +pduMeanKVALWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean kVA LWL trap." + ::= { pduTrapEnEntry 15 } + +pduMeanKVALCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean kVA LCL trap." + ::= { pduTrapEnEntry 16 } + +pduMeanKWattsUCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean power UCL trap." + ::= { pduTrapEnEntry 17 } + +pduMeanKWattsUWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean power UWL trap." + ::= { pduTrapEnEntry 18 } + +pduMeanKWattsLWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean power LWL trap." + ::= { pduTrapEnEntry 19 } + +pduMeanKWattsLCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables mean power LCL trap." + ::= { pduTrapEnEntry 20 } + +pduPwrFactorUCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables power factor UCL trap." + ::= { pduTrapEnEntry 21 } + +pduPwrFactorUWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables power factor UWL trap." + ::= { pduTrapEnEntry 22 } + +pduPwrFactorLWLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables power factor LWL trap." + ::= { pduTrapEnEntry 23 } + +pduPwrFactorLCLTrapEn OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Enables power factor LCL trap." + ::= { pduTrapEnEntry 24 } + +-- }}} End of pduTrapEnTable +-- {{{ pduTrapPerTable + +pduTrapPerTable OBJECT-TYPE + SYNTAX SEQUENCE OF PduTrapPerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The table which controls threshold value trap repetition for all PDUs enabled for monitoring." + ::= { pduMonitor 4 } + +pduTrapPerEntry OBJECT-TYPE + SYNTAX PduTrapPerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A conceptual row containing information about one PDU." + INDEX { pduTrapPduNumber } + ::= { pduTrapPerTable 1 } + +PduTrapPerEntry ::= SEQUENCE { + pduTrapPduNumber INTEGER, + pduTrapPerRS RowStatus, + pduRMSVoltsUCLTrapPer INTEGER, + pduRMSVoltsUWLTrapPer INTEGER, + pduRMSVoltsLWLTrapPer INTEGER, + pduRMSVoltsLCLTrapPer INTEGER, + pduRMSAmpsUCLTrapPer INTEGER, + pduRMSAmpsUWLTrapPer INTEGER, + pduRMSAmpsLWLTrapPer INTEGER, + pduRMSAmpsLCLTrapPer INTEGER, + pduEnergyUCLTrapPer INTEGER, + pduEnergyUWLTrapPer INTEGER, + pduMeanKVAUCLTrapPer INTEGER, + pduMeanKVAUWLTrapPer INTEGER, + pduMeanKVALWLTrapPer INTEGER, + pduMeanKVALCLTrapPer INTEGER, + pduMeanKWattsUCLTrapPer INTEGER, + pduMeanKWattsUWLTrapPer INTEGER, + pduMeanKWattsLWLTrapPer INTEGER, + pduMeanKWattsLCLTrapPer INTEGER, + pduPwrFactorUCLTrapPer INTEGER, + pduPwrFactorUWLTrapPer INTEGER, + pduPwrFactorLWLTrapPer INTEGER, + pduPwrFactorLCLTrapPer INTEGER + } + +pduTrapPduNumber OBJECT-TYPE + SYNTAX INTEGER (1..8) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU number." + ::= { pduTrapPerEntry 1 } + +pduTrapPerRS OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The PDU table row status." + ::= { pduTrapPerEntry 2 } + +pduRMSVoltsUCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets UCL Volts trap repeat rate in seconds" + ::= { pduTrapPerEntry 3 } + +pduRMSVoltsUWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets UWL Volts trap repeat rate in seconds" + ::= { pduTrapPerEntry 4 } + +pduRMSVoltsLWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets LWL Volts trap repeat rate in seconds" + ::= { pduTrapPerEntry 5 } + +pduRMSVoltsLCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets LCL Volts trap repeat rate in seconds" + ::= { pduTrapPerEntry 6 } + +pduRMSAmpsUCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets UCL current trap repeat rate in seconds" + ::= { pduTrapPerEntry 7 } + +pduRMSAmpsUWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets UWL current trap repeat rate in seconds" + ::= { pduTrapPerEntry 8 } + +pduRMSAmpsLWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets LWL current trap repeat rate in seconds" + ::= { pduTrapPerEntry 9 } + +pduRMSAmpsLCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets LCL current trap repeat rate in seconds" + ::= { pduTrapPerEntry 10 } + +pduEnergyUCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets UCL total energy trap repeat rate in seconds" + ::= { pduTrapPerEntry 11 } + +pduEnergyUWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets UWL total energy trap repeat rate in seconds" + ::= { pduTrapPerEntry 12 } + +pduMeanKVAUCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean kVA UCL trap repeat rate in seconds" + ::= { pduTrapPerEntry 13 } + +pduMeanKVAUWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean kVA UWL trap repeat rate in seconds" + ::= { pduTrapPerEntry 14 } + +pduMeanKVALWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean kVA LWL trap repeat rate in seconds" + ::= { pduTrapPerEntry 15 } + +pduMeanKVALCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean kVA LCL trap repeat rate in seconds" + ::= { pduTrapPerEntry 16 } + +pduMeanKWattsUCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean power UCL trap repeat rate in seconds" + ::= { pduTrapPerEntry 17 } + +pduMeanKWattsUWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean power UWL trap repeat rate in seconds" + ::= { pduTrapPerEntry 18 } + +pduMeanKWattsLWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean power LWL trap repeat rate in seconds" + ::= { pduTrapPerEntry 19 } + +pduMeanKWattsLCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets mean power LCL trap repeat rate in seconds" + ::= { pduTrapPerEntry 20 } + +pduPwrFactorUCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets power factor UCL trap repeat rate in seconds" + ::= { pduTrapPerEntry 21 } + +pduPwrFactorUWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets power factor UWL trap repeat rate in seconds" + ::= { pduTrapPerEntry 22 } + +pduPwrFactorLWLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets power factor LWL trap repeat rate in seconds" + ::= { pduTrapPerEntry 23 } + +pduPwrFactorLCLTrapPer OBJECT-TYPE + SYNTAX INTEGER (30..32000) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "Sets power factor LCL trap repeat rate in seconds" + ::= { pduTrapPerEntry 24 } + +-- }}} End of pduTrapPerTable + +-- }}} End of pduMonitor group +-- {{{ pdus traps + +-- To Be Added + +-- {{{ pdus RMS Volt traps + +-- To Be Added + +-- }}} End of pdus RMS Volt traps +-- {{{ pdus RMS Amp traps + +-- To Be Added + +-- }}} End of pdus RMS Amp traps +-- {{{ pdus Total Energy traps + +-- To Be Added + +-- }}} End of pdus Total Energy traps + +-- }}} End of pdus traps + +-- }}} End of pdus group +-- {{{ inventory group + +invProdSignature OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..7)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Product data signature." + ::= { inventory 1 } + +invProdFormatVer OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..7)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Product data format version." + ::= { inventory 2 } + +invManufCode OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Manufacturer code." + ::= { inventory 3 } + +invOrderNum OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..7)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Order number." + ::= { inventory 4 } + +invBatchNum OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..7)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Batch number." + ::= { inventory 5 } + +invProdTestTime OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Data and time of production test." + ::= { inventory 6 } + +invUnitName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unit name." + ::= { inventory 7 } + +invUnitPartNum OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..31)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unit part number." + ::= { inventory 8 } + +invHwRevision OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..31)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Hardware revision number." + ::= { inventory 9 } + +invFwRevision OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Firmware revision number." + ::= { inventory 10 } + +invSerialNum OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..15)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Serial number." + ::= { inventory 11 } + +invDefaultIPAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The type of the IP addresses." + ::= { inventory 12 } + +invDefaultIPAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Default unit IP address." + ::= { inventory 13 } + +invDefaultSubNetMask OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Default unit sub-network mask." + ::= { inventory 14 } + +invDefaultGWAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Default unit default gateway address." + ::= { inventory 15 } + +invMacAddr OBJECT-TYPE + SYNTAX MacAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Unit medium access control (MAC) address." + ::= { inventory 16 } + +invOk OBJECT-TYPE + SYNTAX TruthValue + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Confirms that the inventory record isn't corrupted." + ::= { inventory 20 } + +invInputCount OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of inputs that can be connected to the unit" + ::= { inventory 50 } + +invOutputCount OBJECT-TYPE + SYNTAX INTEGER (0..24) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of outputs that can be connected to the unit" + ::= { inventory 51 } + +invKeypadCount OBJECT-TYPE + SYNTAX INTEGER (0..2) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of keypads that can be connected to the unit" + ::= { inventory 52 } + +invAcuCount OBJECT-TYPE + SYNTAX INTEGER (0..6) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of ACU's that can be connected to the unit" + ::= { inventory 53 } + +invAccessUserCount OBJECT-TYPE + SYNTAX INTEGER (0..20) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of user entries on the unit" + ::= { inventory 54 } + +invPduCount OBJECT-TYPE + SYNTAX INTEGER (0..6) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The maximum number of PDU's that can be connected to the unit" + ::= { inventory 55 } + +-- }}} End of inventory group +-- {{{ trapInfo group + +trapCode OBJECT-TYPE + SYNTAX Unsigned32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A decimal number to be carried on notifications of types 1 to 4 identifying the event which caused it. + The format of this number is BBEEffCCT where + + BB is the number of the relevant MIB branch. + EE indicates what type of event caused the notification. This value is dependent upon branch number and implementation. + CC is the channel number which was the source of the notification. + T discriminates the type of data, e.g. temperature. This value is dependent upon branch number and implementation. + ff future use. + + Fields are packed with leading zeros and are set to zero if not relevant to a particular notification." + ::= { trapInfo 1 } + +trapDescription OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..63)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "A string to be carried on notifications of types 1 to 4 identifying the event which caused it. + The format of this string is as follows. + Field 1 - type of notification, e.g. warning, critical, etc. + Field 2 - data source, e.g. inputs. Generally this relates to a particular MIB branch. + Field 3 - channel number, e.g. input 1. + Field 4 - event, i.e. what caused the trap. + Field 5 - value at which the event occured, e.g. 900, indicating 90% humidity. + Field 6 - type of data, e.g. relative humidity + + Fields are omitted if not relevant to a particular notification." + ::= { trapInfo 2 } + +-- }}} End of trapInfo group + +-- {{{ Generic traps + +alarmCritical NOTIFICATION-TYPE + OBJECTS { trapCode, trapDescription } + STATUS current + DESCRIPTION + "Critical alarm." + ::= { traps 1 } + +alarmWarning NOTIFICATION-TYPE + OBJECTS { trapCode, trapDescription } + STATUS current + DESCRIPTION + "Warning alarm." + ::= { traps 2 } + +alarmInformation NOTIFICATION-TYPE + OBJECTS { trapCode, trapDescription } + STATUS current + DESCRIPTION + "Information alarm." + ::= { traps 3 } + +alarmCleared NOTIFICATION-TYPE + OBJECTS { trapCode, trapDescription } + STATUS current + DESCRIPTION + "Alarm cleared." + ::= { traps 4 } + +-- }}} End of Generic traps + +END diff --git a/tests/data/panduit-eagle.json b/tests/data/panduit-eagle.json new file mode 100644 index 0000000000..0010686637 --- /dev/null +++ b/tests/data/panduit-eagle.json @@ -0,0 +1,526 @@ +{ + "os": { + "discovery": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.3711.24", + "sysDescr": "Sinetica Eagle-i. Versions: App. 1.10.08, OS 6.3, Btldr 1.10.07, H/w ZBHIEIBB-01 v1.02.09", + "sysContact": null, + "version": null, + "hardware": null, + "features": null, + "os": "panduit-eagle", + "type": "power", + "serial": null, + "icon": "panduit.png", + "location": null + } + ] + }, + "poller": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.3711.24", + "sysDescr": "Sinetica Eagle-i. Versions: App. 1.10.08, OS 6.3, Btldr 1.10.07, H/w ZBHIEIBB-01 v1.02.09", + "sysContact": "", + "version": null, + "hardware": null, + "features": null, + "os": "panduit-eagle", + "type": "power", + "serial": null, + "icon": "panduit.png", + "location": "" + } + ] + } + }, + "ports": { + "discovery": { + "ports": [ + { + "port_descr_type": null, + "port_descr_descr": null, + "port_descr_circuit": null, + "port_descr_speed": null, + "port_descr_notes": null, + "ifDescr": "lo", + "ifName": "lo", + "portName": null, + "ifIndex": 1, + "ifSpeed": null, + "ifConnectorPresent": null, + "ifPromiscuousMode": null, + "ifHighSpeed": null, + "ifOperStatus": null, + "ifOperStatus_prev": null, + "ifAdminStatus": null, + "ifAdminStatus_prev": null, + "ifDuplex": null, + "ifMtu": null, + "ifType": "other", + "ifAlias": "lo", + "ifPhysAddress": null, + "ifHardType": null, + "ifLastChange": 0, + "ifVlan": "", + "ifTrunk": null, + "counter_in": null, + "counter_out": null, + "ignore": 0, + "disabled": 0, + "detailed": 0, + "deleted": 0, + "pagpOperationMode": null, + "pagpPortState": null, + "pagpPartnerDeviceId": null, + "pagpPartnerLearnMethod": null, + "pagpPartnerIfIndex": null, + "pagpPartnerGroupIfIndex": null, + "pagpPartnerDeviceName": null, + "pagpEthcOperationMode": null, + "pagpDeviceId": null, + "pagpGroupIfIndex": null, + "ifInUcastPkts": null, + "ifInUcastPkts_prev": null, + "ifInUcastPkts_delta": null, + "ifInUcastPkts_rate": null, + "ifOutUcastPkts": null, + "ifOutUcastPkts_prev": null, + "ifOutUcastPkts_delta": null, + "ifOutUcastPkts_rate": null, + "ifInErrors": null, + "ifInErrors_prev": null, + "ifInErrors_delta": null, + "ifInErrors_rate": null, + "ifOutErrors": null, + "ifOutErrors_prev": null, + "ifOutErrors_delta": null, + "ifOutErrors_rate": null, + "ifInOctets": null, + "ifInOctets_prev": null, + "ifInOctets_delta": null, + "ifInOctets_rate": null, + "ifOutOctets": null, + "ifOutOctets_prev": null, + "ifOutOctets_delta": null, + "ifOutOctets_rate": null, + "poll_prev": null, + "ifInNUcastPkts": null, + "ifInNUcastPkts_prev": null, + "ifInNUcastPkts_delta": null, + "ifInNUcastPkts_rate": null, + "ifOutNUcastPkts": null, + "ifOutNUcastPkts_prev": null, + "ifOutNUcastPkts_delta": null, + "ifOutNUcastPkts_rate": null, + "ifInDiscards": null, + "ifInDiscards_prev": null, + "ifInDiscards_delta": null, + "ifInDiscards_rate": null, + "ifOutDiscards": null, + "ifOutDiscards_prev": null, + "ifOutDiscards_delta": null, + "ifOutDiscards_rate": null, + "ifInUnknownProtos": null, + "ifInUnknownProtos_prev": null, + "ifInUnknownProtos_delta": null, + "ifInUnknownProtos_rate": null, + "ifInBroadcastPkts": null, + "ifInBroadcastPkts_prev": null, + "ifInBroadcastPkts_delta": null, + "ifInBroadcastPkts_rate": null, + "ifOutBroadcastPkts": null, + "ifOutBroadcastPkts_prev": null, + "ifOutBroadcastPkts_delta": null, + "ifOutBroadcastPkts_rate": null, + "ifInMulticastPkts": null, + "ifInMulticastPkts_prev": null, + "ifInMulticastPkts_delta": null, + "ifInMulticastPkts_rate": null, + "ifOutMulticastPkts": null, + "ifOutMulticastPkts_prev": null, + "ifOutMulticastPkts_delta": null, + "ifOutMulticastPkts_rate": null + }, + { + "port_descr_type": null, + "port_descr_descr": null, + "port_descr_circuit": null, + "port_descr_speed": null, + "port_descr_notes": null, + "ifDescr": "eth0", + "ifName": "eth0", + "portName": null, + "ifIndex": 2, + "ifSpeed": null, + "ifConnectorPresent": null, + "ifPromiscuousMode": null, + "ifHighSpeed": null, + "ifOperStatus": null, + "ifOperStatus_prev": null, + "ifAdminStatus": null, + "ifAdminStatus_prev": null, + "ifDuplex": null, + "ifMtu": null, + "ifType": "iso88023Csmacd", + "ifAlias": "eth0", + "ifPhysAddress": null, + "ifHardType": null, + "ifLastChange": 0, + "ifVlan": "", + "ifTrunk": null, + "counter_in": null, + "counter_out": null, + "ignore": 0, + "disabled": 0, + "detailed": 0, + "deleted": 0, + "pagpOperationMode": null, + "pagpPortState": null, + "pagpPartnerDeviceId": null, + "pagpPartnerLearnMethod": null, + "pagpPartnerIfIndex": null, + "pagpPartnerGroupIfIndex": null, + "pagpPartnerDeviceName": null, + "pagpEthcOperationMode": null, + "pagpDeviceId": null, + "pagpGroupIfIndex": null, + "ifInUcastPkts": null, + "ifInUcastPkts_prev": null, + "ifInUcastPkts_delta": null, + "ifInUcastPkts_rate": null, + "ifOutUcastPkts": null, + "ifOutUcastPkts_prev": null, + "ifOutUcastPkts_delta": null, + "ifOutUcastPkts_rate": null, + "ifInErrors": null, + "ifInErrors_prev": null, + "ifInErrors_delta": null, + "ifInErrors_rate": null, + "ifOutErrors": null, + "ifOutErrors_prev": null, + "ifOutErrors_delta": null, + "ifOutErrors_rate": null, + "ifInOctets": null, + "ifInOctets_prev": null, + "ifInOctets_delta": null, + "ifInOctets_rate": null, + "ifOutOctets": null, + "ifOutOctets_prev": null, + "ifOutOctets_delta": null, + "ifOutOctets_rate": null, + "poll_prev": null, + "ifInNUcastPkts": null, + "ifInNUcastPkts_prev": null, + "ifInNUcastPkts_delta": null, + "ifInNUcastPkts_rate": null, + "ifOutNUcastPkts": null, + "ifOutNUcastPkts_prev": null, + "ifOutNUcastPkts_delta": null, + "ifOutNUcastPkts_rate": null, + "ifInDiscards": null, + "ifInDiscards_prev": null, + "ifInDiscards_delta": null, + "ifInDiscards_rate": null, + "ifOutDiscards": null, + "ifOutDiscards_prev": null, + "ifOutDiscards_delta": null, + "ifOutDiscards_rate": null, + "ifInUnknownProtos": null, + "ifInUnknownProtos_prev": null, + "ifInUnknownProtos_delta": null, + "ifInUnknownProtos_rate": null, + "ifInBroadcastPkts": null, + "ifInBroadcastPkts_prev": null, + "ifInBroadcastPkts_delta": null, + "ifInBroadcastPkts_rate": null, + "ifOutBroadcastPkts": null, + "ifOutBroadcastPkts_prev": null, + "ifOutBroadcastPkts_delta": null, + "ifOutBroadcastPkts_rate": null, + "ifInMulticastPkts": null, + "ifInMulticastPkts_prev": null, + "ifInMulticastPkts_delta": null, + "ifInMulticastPkts_rate": null, + "ifOutMulticastPkts": null, + "ifOutMulticastPkts_prev": null, + "ifOutMulticastPkts_delta": null, + "ifOutMulticastPkts_rate": null + } + ] + }, + "poller": { + "ports": [ + { + "port_descr_type": null, + "port_descr_descr": null, + "port_descr_circuit": null, + "port_descr_speed": null, + "port_descr_notes": null, + "ifDescr": "lo", + "ifName": "lo", + "portName": null, + "ifIndex": 1, + "ifSpeed": 0, + "ifConnectorPresent": null, + "ifPromiscuousMode": null, + "ifHighSpeed": null, + "ifOperStatus": "up", + "ifOperStatus_prev": null, + "ifAdminStatus": "up", + "ifAdminStatus_prev": null, + "ifDuplex": null, + "ifMtu": 1500, + "ifType": "other", + "ifAlias": "lo", + "ifPhysAddress": "0", + "ifHardType": null, + "ifLastChange": 0, + "ifVlan": "", + "ifTrunk": null, + "counter_in": null, + "counter_out": null, + "ignore": 0, + "disabled": 0, + "detailed": 0, + "deleted": 0, + "pagpOperationMode": null, + "pagpPortState": null, + "pagpPartnerDeviceId": null, + "pagpPartnerLearnMethod": null, + "pagpPartnerIfIndex": null, + "pagpPartnerGroupIfIndex": null, + "pagpPartnerDeviceName": null, + "pagpEthcOperationMode": null, + "pagpDeviceId": null, + "pagpGroupIfIndex": null, + "ifInUcastPkts": 0, + "ifInUcastPkts_prev": 0, + "ifInUcastPkts_delta": null, + "ifInUcastPkts_rate": null, + "ifOutUcastPkts": 0, + "ifOutUcastPkts_prev": 0, + "ifOutUcastPkts_delta": null, + "ifOutUcastPkts_rate": null, + "ifInErrors": 0, + "ifInErrors_prev": 0, + "ifInErrors_delta": null, + "ifInErrors_rate": null, + "ifOutErrors": 0, + "ifOutErrors_prev": 0, + "ifOutErrors_delta": null, + "ifOutErrors_rate": null, + "ifInOctets": 0, + "ifInOctets_prev": 0, + "ifInOctets_delta": null, + "ifInOctets_rate": null, + "ifOutOctets": 0, + "ifOutOctets_prev": 0, + "ifOutOctets_delta": null, + "ifOutOctets_rate": null, + "poll_prev": null, + "ifInNUcastPkts": 0, + "ifInNUcastPkts_prev": 0, + "ifInNUcastPkts_delta": null, + "ifInNUcastPkts_rate": null, + "ifOutNUcastPkts": 0, + "ifOutNUcastPkts_prev": 0, + "ifOutNUcastPkts_delta": null, + "ifOutNUcastPkts_rate": null, + "ifInDiscards": 0, + "ifInDiscards_prev": 0, + "ifInDiscards_delta": null, + "ifInDiscards_rate": null, + "ifOutDiscards": 0, + "ifOutDiscards_prev": 0, + "ifOutDiscards_delta": null, + "ifOutDiscards_rate": null, + "ifInUnknownProtos": 0, + "ifInUnknownProtos_prev": 0, + "ifInUnknownProtos_delta": null, + "ifInUnknownProtos_rate": null, + "ifInBroadcastPkts": 0, + "ifInBroadcastPkts_prev": 0, + "ifInBroadcastPkts_delta": null, + "ifInBroadcastPkts_rate": null, + "ifOutBroadcastPkts": 0, + "ifOutBroadcastPkts_prev": 0, + "ifOutBroadcastPkts_delta": null, + "ifOutBroadcastPkts_rate": null, + "ifInMulticastPkts": 0, + "ifInMulticastPkts_prev": 0, + "ifInMulticastPkts_delta": null, + "ifInMulticastPkts_rate": null, + "ifOutMulticastPkts": 0, + "ifOutMulticastPkts_prev": 0, + "ifOutMulticastPkts_delta": null, + "ifOutMulticastPkts_rate": null + }, + { + "port_descr_type": null, + "port_descr_descr": null, + "port_descr_circuit": null, + "port_descr_speed": null, + "port_descr_notes": null, + "ifDescr": "eth0", + "ifName": "eth0", + "portName": null, + "ifIndex": 2, + "ifSpeed": 100000000, + "ifConnectorPresent": null, + "ifPromiscuousMode": null, + "ifHighSpeed": null, + "ifOperStatus": "up", + "ifOperStatus_prev": null, + "ifAdminStatus": "up", + "ifAdminStatus_prev": null, + "ifDuplex": null, + "ifMtu": 1500, + "ifType": "iso88023Csmacd", + "ifAlias": "eth0", + "ifPhysAddress": "00076e024c95", + "ifHardType": null, + "ifLastChange": 0, + "ifVlan": "", + "ifTrunk": null, + "counter_in": null, + "counter_out": null, + "ignore": 0, + "disabled": 0, + "detailed": 0, + "deleted": 0, + "pagpOperationMode": null, + "pagpPortState": null, + "pagpPartnerDeviceId": null, + "pagpPartnerLearnMethod": null, + "pagpPartnerIfIndex": null, + "pagpPartnerGroupIfIndex": null, + "pagpPartnerDeviceName": null, + "pagpEthcOperationMode": null, + "pagpDeviceId": null, + "pagpGroupIfIndex": null, + "ifInUcastPkts": 794929, + "ifInUcastPkts_prev": 0, + "ifInUcastPkts_delta": null, + "ifInUcastPkts_rate": null, + "ifOutUcastPkts": 795663, + "ifOutUcastPkts_prev": 0, + "ifOutUcastPkts_delta": null, + "ifOutUcastPkts_rate": null, + "ifInErrors": 0, + "ifInErrors_prev": 0, + "ifInErrors_delta": null, + "ifInErrors_rate": null, + "ifOutErrors": 0, + "ifOutErrors_prev": 0, + "ifOutErrors_delta": null, + "ifOutErrors_rate": null, + "ifInOctets": 94286717, + "ifInOctets_prev": 0, + "ifInOctets_delta": null, + "ifInOctets_rate": null, + "ifOutOctets": 142846764, + "ifOutOctets_prev": 0, + "ifOutOctets_delta": null, + "ifOutOctets_rate": null, + "poll_prev": null, + "ifInNUcastPkts": 14941, + "ifInNUcastPkts_prev": 0, + "ifInNUcastPkts_delta": null, + "ifInNUcastPkts_rate": null, + "ifOutNUcastPkts": 7, + "ifOutNUcastPkts_prev": 0, + "ifOutNUcastPkts_delta": null, + "ifOutNUcastPkts_rate": null, + "ifInDiscards": 0, + "ifInDiscards_prev": 0, + "ifInDiscards_delta": null, + "ifInDiscards_rate": null, + "ifOutDiscards": 0, + "ifOutDiscards_prev": 0, + "ifOutDiscards_delta": null, + "ifOutDiscards_rate": null, + "ifInUnknownProtos": 0, + "ifInUnknownProtos_prev": 0, + "ifInUnknownProtos_delta": null, + "ifInUnknownProtos_rate": null, + "ifInBroadcastPkts": 0, + "ifInBroadcastPkts_prev": 0, + "ifInBroadcastPkts_delta": null, + "ifInBroadcastPkts_rate": null, + "ifOutBroadcastPkts": 0, + "ifOutBroadcastPkts_prev": 0, + "ifOutBroadcastPkts_delta": null, + "ifOutBroadcastPkts_rate": null, + "ifInMulticastPkts": 0, + "ifInMulticastPkts_prev": 0, + "ifInMulticastPkts_delta": null, + "ifInMulticastPkts_rate": null, + "ifOutMulticastPkts": 0, + "ifOutMulticastPkts_prev": 0, + "ifOutMulticastPkts_delta": null, + "ifOutMulticastPkts_rate": null + } + ] + } + }, + "sensors": { + "discovery": { + "sensors": [ + { + "sensor_deleted": 0, + "sensor_class": "humidity", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.3711.24.1.1.1.2.2.1.7.2", + "sensor_index": "2", + "sensor_type": "panduit-eagle", + "sensor_descr": "Input 02 MCU", + "group": "", + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 35.299999999999997, + "sensor_limit": 70, + "sensor_limit_warn": null, + "sensor_limit_low": 30, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.3711.24.1.1.1.2.2.1.7.1", + "sensor_index": "1", + "sensor_type": "panduit-eagle", + "sensor_descr": "Input 01 MCU", + "group": "", + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 27.399999999999999, + "sensor_limit": 47.399999999999999, + "sensor_limit_warn": null, + "sensor_limit_low": 17.399999999999999, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + } + ], + "state_indexes": [] + }, + "poller": "matches discovery" + } +} diff --git a/tests/snmpsim/panduit-eagle.snmprec b/tests/snmpsim/panduit-eagle.snmprec new file mode 100644 index 0000000000..44bec4886d --- /dev/null +++ b/tests/snmpsim/panduit-eagle.snmprec @@ -0,0 +1,132 @@ +1.3.6.1.2.1.1.1.0|4|Sinetica Eagle-i. Versions: App. 1.10.08, OS 6.3, Btldr 1.10.07, H/w ZBHIEIBB-01 v1.02.09 +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.3711.24 +1.3.6.1.2.1.1.3.0|67|386065447 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.2.1.2.2.1.1.1|2|1 +1.3.6.1.2.1.2.2.1.1.2|2|2 +1.3.6.1.2.1.2.2.1.2.1|4|lo +1.3.6.1.2.1.2.2.1.2.2|4|eth0 +1.3.6.1.2.1.2.2.1.3.1|2|1 +1.3.6.1.2.1.2.2.1.3.2|2|7 +1.3.6.1.2.1.2.2.1.4.1|2|1500 +1.3.6.1.2.1.2.2.1.4.2|2|1500 +1.3.6.1.2.1.2.2.1.5.1|66|0 +1.3.6.1.2.1.2.2.1.5.2|66|100000000 +1.3.6.1.2.1.2.2.1.6.1|4x|00 +1.3.6.1.2.1.2.2.1.6.2|4x|00076E024C95 +1.3.6.1.2.1.2.2.1.7.1|2|1 +1.3.6.1.2.1.2.2.1.7.2|2|1 +1.3.6.1.2.1.2.2.1.8.1|2|1 +1.3.6.1.2.1.2.2.1.8.2|2|1 +1.3.6.1.2.1.2.2.1.9.1|67|0 +1.3.6.1.2.1.2.2.1.9.2|67|0 +1.3.6.1.2.1.2.2.1.10.1|65|0 +1.3.6.1.2.1.2.2.1.10.2|65|94286717 +1.3.6.1.2.1.2.2.1.11.1|65|0 +1.3.6.1.2.1.2.2.1.11.2|65|794929 +1.3.6.1.2.1.2.2.1.12.1|65|0 +1.3.6.1.2.1.2.2.1.12.2|65|14941 +1.3.6.1.2.1.2.2.1.13.1|65|0 +1.3.6.1.2.1.2.2.1.13.2|65|0 +1.3.6.1.2.1.2.2.1.14.1|65|0 +1.3.6.1.2.1.2.2.1.14.2|65|0 +1.3.6.1.2.1.2.2.1.15.1|65|0 +1.3.6.1.2.1.2.2.1.15.2|65|0 +1.3.6.1.2.1.2.2.1.16.1|65|0 +1.3.6.1.2.1.2.2.1.16.2|65|142846764 +1.3.6.1.2.1.2.2.1.17.1|65|0 +1.3.6.1.2.1.2.2.1.17.2|65|795663 +1.3.6.1.2.1.2.2.1.18.1|65|0 +1.3.6.1.2.1.2.2.1.18.2|65|7 +1.3.6.1.2.1.2.2.1.19.1|65|0 +1.3.6.1.2.1.2.2.1.19.2|65|0 +1.3.6.1.2.1.2.2.1.20.1|65|0 +1.3.6.1.2.1.2.2.1.20.2|65|0 +1.3.6.1.2.1.2.2.1.21.1|66|0 +1.3.6.1.2.1.2.2.1.21.2|66|0 +1.3.6.1.2.1.2.2.1.22.1|6|0.0 +1.3.6.1.2.1.2.2.1.22.2|6|0.0 +1.3.6.1.2.1.4.20.1.2.127.0.0.1|2|1 +1.3.6.1.2.1.4.20.1.2.192.168.60.4|2|2 +1.3.6.1.2.1.4.20.1.3.127.0.0.1|64|255.0.0.0 +1.3.6.1.2.1.4.20.1.3.192.168.60.4|64|255.255.255.0 +1.3.6.1.2.1.4.22.1.2.2.192.168.60.254|4x|001E8CF276D7 +1.3.6.1.2.1.5.1.0|65|135598 +1.3.6.1.2.1.5.2.0|65|0 +1.3.6.1.2.1.5.3.0|65|96508 +1.3.6.1.2.1.5.4.0|65|0 +1.3.6.1.2.1.5.5.0|65|0 +1.3.6.1.2.1.5.6.0|65|0 +1.3.6.1.2.1.5.7.0|65|0 +1.3.6.1.2.1.5.8.0|65|39090 +1.3.6.1.2.1.5.9.0|65|0 +1.3.6.1.2.1.5.10.0|65|0 +1.3.6.1.2.1.5.11.0|65|0 +1.3.6.1.2.1.5.12.0|65|0 +1.3.6.1.2.1.5.13.0|65|0 +1.3.6.1.2.1.5.14.0|65|39090 +1.3.6.1.2.1.5.15.0|65|0 +1.3.6.1.2.1.5.16.0|65|0 +1.3.6.1.2.1.5.17.0|65|0 +1.3.6.1.2.1.5.18.0|65|0 +1.3.6.1.2.1.5.19.0|65|0 +1.3.6.1.2.1.5.20.0|65|0 +1.3.6.1.2.1.5.21.0|65|0 +1.3.6.1.2.1.5.22.0|65|39090 +1.3.6.1.2.1.5.23.0|65|0 +1.3.6.1.2.1.5.24.0|65|0 +1.3.6.1.2.1.5.25.0|65|0 +1.3.6.1.2.1.5.26.0|65|0 +1.3.6.1.2.1.11.1.0|65|641536 +1.3.6.1.2.1.11.2.0|65|641536 +1.3.6.1.2.1.11.3.0|65|0 +1.3.6.1.2.1.11.4.0|65|0 +1.3.6.1.2.1.11.5.0|65|0 +1.3.6.1.2.1.11.6.0|65|0 +1.3.6.1.2.1.11.8.0|65|0 +1.3.6.1.2.1.11.9.0|65|0 +1.3.6.1.2.1.11.10.0|65|0 +1.3.6.1.2.1.11.11.0|65|0 +1.3.6.1.2.1.11.12.0|65|0 +1.3.6.1.2.1.11.13.0|65|4298350 +1.3.6.1.2.1.11.14.0|65|0 +1.3.6.1.2.1.11.15.0|65|353600 +1.3.6.1.2.1.11.16.0|65|179 +1.3.6.1.2.1.11.17.0|65|0 +1.3.6.1.2.1.11.18.0|65|0 +1.3.6.1.2.1.11.19.0|65|0 +1.3.6.1.2.1.11.20.0|65|0 +1.3.6.1.2.1.11.21.0|65|0 +1.3.6.1.2.1.11.22.0|65|0 +1.3.6.1.2.1.11.24.0|65|0 +1.3.6.1.2.1.11.25.0|65|0 +1.3.6.1.2.1.11.26.0|65|0 +1.3.6.1.2.1.11.27.0|65|0 +1.3.6.1.2.1.11.28.0|65|641538 +1.3.6.1.2.1.11.29.0|65|0 +1.3.6.1.2.1.11.30.0|2|1 +1.3.6.1.2.1.11.31.0|65|0 +1.3.6.1.2.1.11.32.0|65|0 +1.3.6.1.4.1.3711.24.1.1.1.1.1.1.0|2|0 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.1.1|2|1 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.1.2|2|2 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.2.1|2|1 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.2.2|2|1 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.3.1|4|Input 01 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.3.2|4|Input 02 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.4.1|4|MCU +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.4.2|4|MCU +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.5.1|2|1 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.5.2|2|1 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.6.1|2|2 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.6.2|2|3 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.7.1|2|274 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.7.2|2|353 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.8.1|2|0 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.8.2|2|0 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.9.1|2|0 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.9.2|2|0 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.10.1|2|50 +1.3.6.1.4.1.3711.24.1.1.1.2.2.1.10.2|2|50