diff --git a/html/images/os/riello.png b/html/images/os/riello.png
new file mode 100644
index 0000000000..65ad8a6c40
Binary files /dev/null and b/html/images/os/riello.png differ
diff --git a/includes/definitions/riello.yaml b/includes/definitions/riello.yaml
new file mode 100644
index 0000000000..d78a95384d
--- /dev/null
+++ b/includes/definitions/riello.yaml
@@ -0,0 +1,12 @@
+os: riello
+text: 'Riello UPS'
+type: power
+icon: riello
+rfc1628_compat: true
+over:
+ - { graph: device_current, text: Current }
+mib_dir:
+ - riello
+discovery:
+ - sysObjectID:
+ - .1.3.6.1.4.1.5491.304
diff --git a/mibs/riello/RIELLO-MIB b/mibs/riello/RIELLO-MIB
new file mode 100644
index 0000000000..a4e3ed84e9
--- /dev/null
+++ b/mibs/riello/RIELLO-MIB
@@ -0,0 +1,34 @@
+-- RPS S.p.A enterprise MIB definition
+
+-- Copyright (c) RPS S.p.A.
+-- Version: 1.0 by Michele Marcon
+-- Date: 1.04.2016
+
+-- Title: RIELLO MIB
+
+-- ************************************************************************
+-- ************************************************************************
+
+-- RIELLO-MIB { iso org(3) dod(6) internet(1) private(4)
+-- enterprises(1) riello(5491) }
+
+
+
+RIELLO-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ enterprises, MODULE-IDENTITY FROM SNMPv2-SMI;
+
+rielloMIB MODULE-IDENTITY
+ LAST-UPDATED "201602230000Z"
+ ORGANIZATION "RPS S.p.A"
+ CONTACT-INFO
+ " Michele Marcon
+ E-mail: info@riello-ups.com"
+ DESCRIPTION
+ "The MIB module to describe Riello devices."
+
+ REVISION "201602230000Z"
+ DESCRIPTION "Latest avaialble" ::= { enterprises 5491 }
+
+END
diff --git a/mibs/riello/RIELLOMDU-MIB b/mibs/riello/RIELLOMDU-MIB
new file mode 100644
index 0000000000..c8e35fbfb8
--- /dev/null
+++ b/mibs/riello/RIELLOMDU-MIB
@@ -0,0 +1,386 @@
+-- RPS S.p.A enterprise MIB definition
+
+-- Copyright (c) RPS S.p.A.
+-- Version: 1.0 by Michele Marcon
+-- Date: 1.04.2016
+
+-- Title: RIELLOMDU-MIB
+
+-- MDU-MIB { iso org(3) dod(6) internet(1) private(4)
+-- enterprises(1) riello(5491) }
+
+-- ************************************************************************
+-- ************************************************************************
+
+RIELLOMDU-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ DisplayString
+ FROM RFC1213-MIB
+ OBJECT-TYPE
+ FROM RFC-1212
+ TRAP-TYPE
+ FROM RFC-1215
+ rielloMIB
+ FROM RIELLO-MIB;
+
+mduMIB OBJECT IDENTIFIER ::= { rielloMIB 11 }
+
+mduIdent OBJECT IDENTIFIER ::= { mduMIB 1 }
+
+mduIdentManufacturer OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The name of the mdu manufacturer."
+ ::= { mduIdent 1 }
+
+mduIdentModel OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mdu Model designation."
+ ::= { mduIdent 2 }
+
+mduIdentSoftwareVersion OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mdu Software version."
+ ::= { mduIdent 3 }
+
+mduIdentIOConfiguration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mdu input/output configuration (1 for Mono/mono, 4 for Tri/tri)."
+ ::= { mduIdent 4 }
+
+mduIdentInputSockets OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of mdu input sockets."
+ ::= { mduIdent 5 }
+
+mduIdentOutputSockets OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of mdu output sockets."
+ ::= { mduIdent 6 }
+
+mduIdentNominalCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mdu nominal current (A)."
+ ::= { mduIdent 7 }
+
+mduIdentNominalVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mdu nominal voltage (V)."
+ ::= { mduIdent 8 }
+
+mduIdentNominalFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mdu nominal frequency (0.1 Hz)."
+ ::= { mduIdent 9 }
+
+mduStatus OBJECT IDENTIFIER ::= { mduMIB 2 }
+
+mduLineAFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The frequency of source A (0.1 Hz)."
+ ::= { mduStatus 1 }
+
+mduLineAVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The voltage of source 1 (V)."
+ ::= { mduStatus 2 }
+
+mduLineACurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The current of line A (0.1 A)."
+ ::= { mduStatus 3 }
+
+mduOutput OBJECT-TYPE
+ SYNTAX SEQUENCE OF MduOutputSockets
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of output table entries."
+ ::= { mduStatus 4 }
+
+mduOutputSockets OBJECT-TYPE
+ SYNTAX MduOutputSockets
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry containing information applicable to a
+ particular output line."
+ INDEX { mduOutputLineIndex }
+ ::= { mduOutput 1 }
+
+
+MduOutputSockets ::=
+ SEQUENCE {
+ mduOutputLineIndex
+ INTEGER,
+
+ mduOutputCurrent
+ INTEGER,
+
+ mduOutputDisabled
+ INTEGER,
+
+ mduOutputOverload
+ INTEGER,
+
+ mduOutputStatus
+ INTEGER
+ }
+
+mduOutputLineIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The line identifier."
+ ::= { mduOutputSockets 1 }
+
+mduOutputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Output current (0.1 A)"
+ ::= { mduOutputSockets 2 }
+
+mduOutputDisabled OBJECT-TYPE
+ SYNTAX INTEGER {
+ no(1),
+ yes(2)
+}
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1->line active, 2->line deactivated"
+ ::= { mduOutputSockets 3 }
+
+mduOutputOverload OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1->line ok, 2->line deactivated for overload"
+ ::= { mduOutputSockets 4 }
+
+mduOutputStatus OBJECT-TYPE
+ SYNTAX INTEGER{
+ off(0),
+ on(1),
+ shutdownActive(2),
+ shutdownImminent(3),
+ restoreActive(4),
+ overload(5),
+ locked(6)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "0=OFF
+ 1=ON
+ 2= Shutdown active (when a CS or a CR command is received but shutdown is not yet been executed and the "Imminent time" is not reached)
+ 3= Shutdown imminent (S01 ÷ S08 code)
+ 4= Restore active (when after that a CR command is received and the shutdown has been acted but the restore delay time is not expired)
+ 5= Overload alarm (F01 ÷ F08 code)
+ 6= Locked: OFF for overload (L01 ÷ L08 code)"
+ ::= { mduOutputSockets 5 }
+
+mduLowInputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mduStatus 5 }
+
+mduHighInputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mduStatus 6 }
+
+mduLowInputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mduStatus 7 }
+
+mduHighInputCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mduStatus 8 }
+
+mduPowerFailAux1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mduStatus 9 }
+
+mduPowerFailAux2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mduStatus 10 }
+
+mduManualBypass OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= on manual bypass, 0= no."
+ ::= { mduStatus 11 }
+
+mduTemperature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The temperature (°C)."
+ ::= { mduStatus 12 }
+
+mduCommand OBJECT IDENTIFIER ::= { mduMIB 3 }
+
+mduCommandCode OBJECT-TYPE
+ SYNTAX INTEGER {
+ shutdown(1),
+ restore(2),
+ commandDelete(3),
+ testPanel(22)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object determines the nature of the action to be
+ taken at the time when the countdown of the
+ mduShutdownDelay and mduRestoreDelay objects reaches zero.
+ Setting this object to shutdown(1) indicates that
+ the specified sockets mduOutputSocketApplyCommand will yurn off.
+ Setting this object to restore(2) indicates that the specified output
+ sockets will turn on.
+ command delete(3) will delete the applied command, test panel will perform
+ a test of LCD panel and audible alarm"
+ ::= { mduCommand 1 }
+
+mduShutdownDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this object will shutdown (i.e., turn off)
+ either the MDU output socket by the value of mduCommandCode
+ at the time of shutdown after the indicated number of seconds.
+ Setting this object to 0 will cause the shutdown to occur
+ immediately"
+ ::= { mduCommand 2 }
+
+mduRestoreDelay OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The restore delay."
+ ::= { mduCommand 3 }
+
+mduOutputSocketApplyCommand OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Specify the socket to apply the command, the value 0 apply to all sockets."
+ ::= { mduCommand 4 }
+
+mduCommandResult OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The command result, refer to the follow codes:
+ 0+mduCommandCode Command in progress
+ 256+mduCommandCode Wrong Command code
+ 512+mduCommandCode Command is not handled
+ 768+mduCommandCode Parameter out of range
+ 3584+mduCommandCode Command sent to MDU
+ 3840+mduCommandCode Command executed"
+ ::= { mduCommand 5 }
+
+mduTraps OBJECT IDENTIFIER ::= { mduMIB 4 }
+
+ -- This section defines the well-known notifications sent by
+ -- MDU agents.
+ -- Care must be taken to insure that no particular notification
+ -- is sent to a single receiving entity more often than once
+ -- every minute.
+
+mduNormal TRAP-TYPE
+ ENTERPRISE mduTraps
+ DESCRIPTION "This trap is sent when MDU is on normal status"
+ ::= 1
+
+mduAnomaly TRAP-TYPE
+ ENTERPRISE mduTraps
+ DESCRIPTION "This trap is sent when MDU is has some anomaly and is resent every minute"
+ ::= 2
+
+mduFault TRAP-TYPE
+ ENTERPRISE mduTraps
+ DESCRIPTION "This trap is sent when MDU is has some fault and is resent every minute"
+ ::= 3
+
+mduLock TRAP-TYPE
+ ENTERPRISE mduTraps
+ DESCRIPTION "This trap is sent when MDU is locked and is resent every minute"
+ ::= 4
+
+mduManualBypassEnabled TRAP-TYPE
+ ENTERPRISE mduTraps
+ DESCRIPTION "This trap is sent when MDU is on manual bypass and is resent every minute"
+ ::= 5
+
+END
+
diff --git a/mibs/riello/RIELLOMTS-MIB b/mibs/riello/RIELLOMTS-MIB
new file mode 100644
index 0000000000..eca8691e87
--- /dev/null
+++ b/mibs/riello/RIELLOMTS-MIB
@@ -0,0 +1,592 @@
+-- RPS S.p.A enterprise MIB definition
+
+-- Copyright (c) RPS S.p.A.
+-- Version: 1.0.1 by Michele Marcon
+-- Date: 07.06.2017
+
+-- Title: RIELLOMTS-MIB
+
+-- MDU-MIB { iso org(3) dod(6) internet(1) private(4)
+-- enterprises(1) riello(5491) }
+
+-- ************************************************************************
+-- ************************************************************************
+
+RIELLOMTS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ DisplayString
+ FROM RFC1213-MIB
+ OBJECT-TYPE
+ FROM RFC-1212
+ TRAP-TYPE
+ FROM RFC-1215
+ rielloMIB
+ FROM RIELLO-MIB;
+
+
+mtsMIB OBJECT IDENTIFIER ::= { rielloMIB 12 }
+
+mtsIdent OBJECT IDENTIFIER ::= { mtsMIB 1 }
+
+mtsIdentManufacturer OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The name of the mts manufacturer."
+ ::= { mtsIdent 1 }
+
+mtsIdentModel OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mts Model designation."
+ ::= { mtsIdent 2 }
+
+mtsIdentSoftwareVersion OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mts Software version."
+ ::= { mtsIdent 3 }
+
+mtsIdentIOConfiguration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mts input/output configuration (1 for Mono/mono, 4 for Tri/tri)."
+ ::= { mtsIdent 4 }
+
+mtsIdentType OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mts type (5 for ATS, 6 for STS)."
+ ::= { mtsIdent 5 }
+
+mtsIdentInputSockets OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of mts input sockets."
+ ::= { mtsIdent 6 }
+
+mtsIdentOutputSockets OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of mts output sockets."
+ ::= { mtsIdent 7 }
+
+mtsIdentNominalCurrent OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mts nominal current (A)."
+ ::= { mtsIdent 8 }
+
+mtsIdentNominalVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mts nominal voltage (V)."
+ ::= { mtsIdent 9 }
+
+mtsIdentNominalFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The mts nominal frequency (0.1 Hz)."
+ ::= { mtsIdent 10 }
+
+mtsStatus OBJECT IDENTIFIER ::= { mtsMIB 2 }
+
+mtsS1Frequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The frequency of source 1 (0.1 Hz)."
+ ::= { mtsStatus 1 }
+
+mtsS1VoltageL1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The voltage of source 1, line 1 (V)."
+ ::= { mtsStatus 2 }
+
+mtsS1VoltageL2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The voltage of source 1, line 2 (V)."
+ ::= { mtsStatus 3 }
+
+mtsS1VoltageL3 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The voltage of source 1, line 3 (V)."
+ ::= { mtsStatus 4 }
+
+mtsS2Frequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The frequency of source 2 (0.1 Hz)."
+ ::= { mtsStatus 5 }
+
+mtsS2VoltageL1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The voltage of source 2, line 1 (V)."
+ ::= { mtsStatus 6 }
+
+mtsS2VoltageL2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The voltage of source 2, line 2 (V)."
+ ::= { mtsStatus 7 }
+
+mtsS2VoltageL3 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The voltage of source 2, line 3 (V)."
+ ::= { mtsStatus 8 }
+
+mtsPhaseDifference OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Phase difference between sources (degrees)."
+ ::= { mtsStatus 9 }
+
+mtsLoadL1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load of line 1 (%)."
+ ::= { mtsStatus 10 }
+
+mtsLoadL2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load of line 2 (%)."
+ ::= { mtsStatus 11 }
+
+mtsLoadL3 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load of line 3 (%)."
+ ::= { mtsStatus 12 }
+
+mtsOutputCurrentL1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load current of line 1 (0.1 A)."
+ ::= { mtsStatus 13 }
+
+mtsOutputCurrentL2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load current of line 2 (0.1 A)."
+ ::= { mtsStatus 14 }
+
+mtsOutputCurrentL3 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The output load current of line 3 (0.1 A)."
+ ::= { mtsStatus 15 }
+
+mtsTemperature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The temperature (degrees C)."
+ ::= { mtsStatus 16 }
+
+mtsSoundOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= sound on, 0= sound off."
+ ::= { mtsStatus 17 }
+
+mtsTestInProgress OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= test in progress, 0= test not in progress."
+ ::= { mtsStatus 18 }
+
+mtsAuxPower2fail OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= fail, 0= not fail."
+ ::= { mtsStatus 19 }
+
+mtsAuxPower1fail OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= fail, 0= not fail."
+ ::= { mtsStatus 20 }
+
+mtsSynchrobad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= bad, 0= not bad."
+ ::= { mtsStatus 21 }
+
+mtsPreferredSource OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= S2, 0= S1."
+ ::= { mtsStatus 22 }
+
+mtsTransferhinibit OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= hinibit, 0= not hinibit."
+ ::= { mtsStatus 23 }
+
+mtsNonSynchInibit OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 24 }
+
+mtsSourceS2bad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= bad, 0= not bad."
+ ::= { mtsStatus 25 }
+
+mtsSourceS1bad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= bad, 0= not bad."
+ ::= { mtsStatus 26 }
+
+mtsOnSourceS2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 27 }
+
+mtsOnSourceS1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 28 }
+
+mtsLocked OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= locked, 0= not locked."
+ ::= { mtsStatus 29 }
+
+mtsOutputSwitchOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 30 }
+
+mtsS2Blackout OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= blackout, 0= no blackout."
+ ::= { mtsStatus 31 }
+
+mtsS2PhaseseqNotok OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 32 }
+
+mtsS2VoltOutoftolerance OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 33 }
+
+mtsS1SCRAlternateLoss OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 34 }
+
+mtsS1InputSWOff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 35 }
+
+mtsS1Frequencybad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= bad, 0= not bad."
+ ::= { mtsStatus 36 }
+
+mtsS1Balancebad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 37 }
+
+mtsS1Blackout OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 38 }
+
+mtsS1PhaseseqNotok OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 39 }
+
+mtsS1VoltOutoftolerance OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 40 }
+
+mtsUserlogin OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 41 }
+
+mtsAlarmTemperature OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 42 }
+
+mtsAlarmOverload OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 43 }
+
+mtsGeneralFailure OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 44 }
+
+mtsS2InputMCCBtrip OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 45 }
+
+mtsS1InputMCCBtrip OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 46 }
+
+mtsServicelogin OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 47 }
+
+mtsOutputSCRalternanceloss OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 48 }
+
+mtsManBypassS2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 49 }
+
+mtsManBypassS1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 50 }
+
+mtsManTransferS2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 51 }
+
+mtsManTransferS1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 52 }
+
+mtsS2SCRalternanceloss OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 53 }
+
+mtsS2InputSWoff OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 54 }
+
+mtsS2Frequencybad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 55 }
+
+mtsS2Balancebad OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "1= yes, 0= no."
+ ::= { mtsStatus 56 }
+
+
+mtsTraps OBJECT IDENTIFIER ::= { mtsMIB 4 }
+
+
+mtsNormal TRAP-TYPE
+ ENTERPRISE mtsTraps
+ DESCRIPTION "This trap is sent when STS is on normal status"
+ ::= 1
+
+mtsAnomaly TRAP-TYPE
+ ENTERPRISE mtsTraps
+ DESCRIPTION "This trap is sent when STS is has some anomaly and is resent every minute"
+ ::= 2
+
+mtsFault TRAP-TYPE
+ ENTERPRISE mtsTraps
+ DESCRIPTION "This trap is sent when STS is has some fault and is resent every minute"
+ ::= 3
+
+mtsLock TRAP-TYPE
+ ENTERPRISE mtsTraps
+ DESCRIPTION "This trap is sent when STS is locked and is resent every minute"
+ ::= 4
+
+mtsManualBypassEnabled TRAP-TYPE
+ ENTERPRISE mtsTraps
+ DESCRIPTION "This trap is sent when STS is on manual bypass and is resent every minute"
+ ::= 5
+
+END
+
diff --git a/mibs/riello/RIELLOUPS-MIB b/mibs/riello/RIELLOUPS-MIB
new file mode 100644
index 0000000000..35b1726cd2
--- /dev/null
+++ b/mibs/riello/RIELLOUPS-MIB
@@ -0,0 +1,1643 @@
+-- RPS S.p.A enterprise MIB definition
+
+-- Copyright (c) RPS S.p.A.
+-- Version: 1.0.3 by Michele Marcon
+-- Date: 29.05.2017
+
+-- Title: RIELLOUPS-MIB
+
+-- RielloUPS-MIB { iso org(3) dod(6) internet(1) private(4)
+-- enterprises(1) riello(5491) }
+
+-- ************************************************************************
+-- ************************************************************************
+
+RIELLOUPS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, NOTIFICATION-TYPE,
+ OBJECT-IDENTITY, Counter32, Gauge32, Integer32
+ FROM SNMPv2-SMI
+ DisplayString, TimeStamp, TimeInterval, TestAndIncr,
+ AutonomousType, TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ Gauge, Counter
+ FROM RFC1155-SMI
+ OBJECT-TYPE
+ FROM RFC-1212
+ TRAP-TYPE
+ FROM RFC-1215
+ rielloMIB
+ FROM RIELLO-MIB;
+
+rupsMIB OBJECT IDENTIFIER ::= { rielloMIB 10 }
+
+ PositiveInteger ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This data type is a non-zero and non-negative value."
+ SYNTAX INTEGER (1..2147483647)
+
+ NonNegativeInteger ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This data type is a non-negative value."
+ SYNTAX INTEGER (0..2147483647)
+
+
+rupsObjects OBJECT IDENTIFIER ::= { rupsMIB 1 }
+
+rupsIdent OBJECT IDENTIFIER ::= { rupsObjects 1 }
+
+rupsIdentManufacturer OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The name of the UPS manufacturer."
+ ::= { rupsIdent 1 }
+
+rupsIdentModel OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Model designation."
+ ::= { rupsIdent 2 }
+
+rupsIdentUPSSoftwareVersion OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS firmware/software version(s). This variable
+ may or may not have the same value as
+ upsIdentAgentSoftwareVersion in some implementations."
+ ::= { rupsIdent 3 }
+
+rupsIdentAgentSoftwareVersion OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS agent software version. This variable may or
+ may not have the same value as
+ upsIdentUPSSoftwareVersion in some implementations."
+ ::= { rupsIdent 4 }
+
+rupsIdentName OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A string identifying the UPS. This object should be
+ set by the administrator."
+ ::= { rupsIdent 5 }
+
+rupsIdentAttachedDevices OBJECT-TYPE
+ SYNTAX DisplayString
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A string identifying the devices attached to the
+ output(s) of the UPS. This object should be set by
+ the administrator."
+ ::= { rupsIdent 6 }
+
+rupsIdentIOConfiguration OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS IO configuration."
+ ::= { rupsIdent 7 }
+
+rupsIdentUpsType OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS type."
+ ::= { rupsIdent 8 }
+
+rupsIdentNominalPowerVA OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal power VA."
+ ::= { rupsIdent 9 }
+
+rupsIdentNominalPowerW OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal power W."
+ ::= { rupsIdent 10 }
+
+rupsIdentBatteryVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal battery voltage."
+ ::= { rupsIdent 11 }
+
+rupsIdentBatteryCapacity OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal battery capacity."
+ ::= { rupsIdent 12 }
+
+rupsIdentOutputVoltage OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal output voltage."
+ ::= { rupsIdent 13 }
+
+rupsIdentOutputFrequency OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS nominal output frequency."
+ ::= { rupsIdent 14 }
+
+
+rupsBattery OBJECT IDENTIFIER ::= { rupsObjects 2 }
+
+rupsBatteryStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ batteryNormal(2),
+ batteryLow(3),
+ batteryDepleted(4)
+}
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The indication of the capacity remaining in the UPS
+ system's batteries. A value of batteryNormal
+ indicates that the remaining run-time is greater than
+ rupsConfigLowBattTime. A value of batteryLow indicates
+ that the remaining battery run-time is less than or
+ equal to rupsConfigLowBattTime. A value of
+ batteryDepleted indicates that the UPS will be unable
+ to sustain the present load when and if the utility
+ power is lost (including the possibility that the
+ utility power is currently absent and the UPS is
+ unable to sustain the output)."
+ ::= { rupsBattery 1 }
+
+rupsSecondsOnBattery OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS seconds
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "If the unit is on battery power, the elapsed time
+ since the UPS last switched to battery power, or the
+ time since the network management subsystem was last
+ restarted, whichever is less. Zero shall be returned
+ if the unit is not on battery power."
+ ::= { rupsBattery 2 }
+
+rupsEstimatedMinutesRemaining OBJECT-TYPE
+ SYNTAX PositiveInteger -- UNITS minutes
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An estimate of the time to battery charge depletion
+ under the present load conditions if the utility power
+ is off and remains off, or if it were to be lost and
+ remain off."
+ ::= { rupsBattery 3 }
+
+rupsEstimatedChargeRemaining OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS percent
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An estimate of the battery charge remaining expressed
+ as a percent of full charge."
+ ::= { rupsBattery 4 }
+
+rupsBatteryVoltage OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 Volt DC
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The magnitude of the present battery voltage."
+ ::= { rupsBattery 5 }
+
+rupsBatteryCurrent OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647) -- UNITS 0.1 Amp DC
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present battery current."
+ ::= { rupsBattery 6 }
+
+rupsBatteryTemperature OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647) -- UNITS degrees Centigrade
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The ambient temperature at or near the UPS Battery
+ casing."
+ ::= { rupsBattery 7 }
+
+rupsBatteryPositiveVoltage OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647) -- UNITS V
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery positive voltage."
+ ::= { rupsBattery 8 }
+
+rupsBatteryNegativeVoltage OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647) -- UNITS V
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery negative voltage."
+ ::= { rupsBattery 9 }
+
+rupsBatteryPositiveCurrent OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647) -- UNITS 0.1 A
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery positive current."
+ ::= { rupsBattery 10 }
+
+rupsBatteryNegativeCurrent OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647) -- UNITS 0.1 A
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The UPS Battery positive current."
+ ::= { rupsBattery 11 }
+
+rupsIsCharging OBJECT-TYPE
+ SYNTAX INTEGER {
+ discharging(0),
+ charging(1)
+}
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The charging/discharging status of the battery"
+ ::= { rupsBattery 12 }
+
+rupsInput OBJECT IDENTIFIER ::= { rupsObjects 3 }
+
+rupsInputLineBads OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A count of the number of times the input entered an
+ out-of-tolerance condition as defined by the
+ manufacturer. This count is incremented by one each
+ time the input transitions from zero out-of-tolerance
+ lines to one or more input lines out-of-tolerance."
+ ::= { rupsInput 1 }
+
+rupsInputNumLines OBJECT-TYPE
+ SYNTAX NonNegativeInteger
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input lines utilized in this device.
+ This variable indicates the number of rows in the
+ input table."
+ ::= { rupsInput 2 }
+
+rupsInputTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RUpsInputEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of input table entries. The number of entries
+ is given by the value of upsInputNumLines."
+ ::= { rupsInput 3 }
+
+rupsInputEntry OBJECT-TYPE
+ SYNTAX RUpsInputEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry containing information applicable to a
+ particular input line."
+ INDEX { rupsInputLineIndex }
+ ::= { rupsInputTable 1 }
+
+RUpsInputEntry ::=
+ SEQUENCE {
+ rupsInputLineIndex
+ PositiveInteger,
+
+ rupsInputFrequency
+ NonNegativeInteger,
+
+ rupsInputVoltage
+ NonNegativeInteger,
+
+ rupsInputCurrent
+ NonNegativeInteger,
+
+ rupsInputTruePower
+ NonNegativeInteger
+ }
+
+rupsInputLineIndex OBJECT-TYPE
+ SYNTAX PositiveInteger
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The input line identifier."
+ ::= { rupsInputEntry 1 }
+
+rupsInputFrequency OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 Hertz
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present input frequency."
+ ::= { rupsInputEntry 2 }
+
+rupsInputVoltage OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS RMS Volts
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The magnitude of the present input voltage."
+ ::= { rupsInputEntry 3 }
+
+rupsInputCurrent OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 RMS Amp
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The magnitude of the present input current."
+ ::= { rupsInputEntry 4 }
+
+rupsInputTruePower OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS Watts
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The magnitude of the present input true power."
+ ::= { rupsInputEntry 5 }
+
+rupsOutput OBJECT IDENTIFIER ::= { rupsObjects 4 }
+
+rupsOutputSource OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ none(2),
+ normal(3),
+ bypass(4),
+ battery(5),
+ booster(6),
+ reducer(7)
+}
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present source of output power. The enumeration
+ none(2) indicates that there is no source of output
+ power (and therefore no output power), for example,
+ the system has opened the output breaker."
+ ::= { rupsOutput 1 }
+
+rupsOutputFrequency OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 Hertz
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present output frequency."
+ ::= { rupsOutput 2 }
+
+rupsOutputNumLines OBJECT-TYPE
+ SYNTAX NonNegativeInteger
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of output lines utilized in this device.
+ This variable indicates the number of rows in the
+ output table."
+ ::= { rupsOutput 3 }
+
+rupsOutputTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RUpsOutputEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of output table entries. The number of
+ entries is given by the value of rupsOutputNumLines."
+ ::= { rupsOutput 4 }
+
+rupsOutputEntry OBJECT-TYPE
+ SYNTAX RUpsOutputEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry containing information applicable to a
+ particular output line."
+ INDEX { rupsOutputLineIndex }
+ ::= { rupsOutputTable 1 }
+
+RUpsOutputEntry ::=
+ SEQUENCE {
+ rupsOutputLineIndex
+ PositiveInteger,
+
+ rupsOutputVoltage
+ NonNegativeInteger,
+
+ rupsOutputCurrent
+ NonNegativeInteger,
+
+ rupsOutputPower
+ NonNegativeInteger,
+
+ rupsOutputPercentLoad
+ INTEGER,
+
+ rupsOutputPeakCurrent
+ NonNegativeInteger
+ }
+
+rupsOutputLineIndex OBJECT-TYPE
+ SYNTAX PositiveInteger
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The output line identifier."
+ ::= { rupsOutputEntry 1 }
+
+rupsOutputVoltage OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS RMS Volts
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present output voltage."
+ ::= { rupsOutputEntry 2 }
+
+rupsOutputCurrent OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 RMS Amp
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present output current."
+ ::= { rupsOutputEntry 3 }
+
+rupsOutputPower OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS Watts
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present output true power."
+ ::= { rupsOutputEntry 4 }
+
+rupsOutputPercentLoad OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS percent
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The percentage of the UPS power capacity presently
+ being used on this output line, i.e., the greater of
+ the percent load of true power capacity and the
+ percent load of VA."
+ ::= { rupsOutputEntry 5 }
+
+rupsOutputPeakCurrent OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 RMS Amp
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present output peak current."
+ ::= { rupsOutputEntry 6 }
+
+
+rupsBypass OBJECT IDENTIFIER ::= { rupsObjects 5 }
+
+rupsBypassFrequency OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 Hertz
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present bypass frequency."
+ ::= { rupsBypass 1 }
+
+rupsBypassNumLines OBJECT-TYPE
+ SYNTAX NonNegativeInteger
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of bypass lines utilized in this device.
+ This entry indicates the number of rows in the bypass
+ table."
+ ::= { rupsBypass 2 }
+
+rupsBypassTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RUpsBypassEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of bypass table entries. The number of
+ entries is given by the value of rupsBypassNumLines."
+ ::= { rupsBypass 3 }
+
+rupsBypassEntry OBJECT-TYPE
+ SYNTAX RUpsBypassEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry containing information applicable to a
+ particular bypass input."
+ INDEX { rupsBypassLineIndex }
+ ::= { rupsBypassTable 1 }
+
+RUpsBypassEntry ::=
+ SEQUENCE {
+ rupsBypassLineIndex
+ PositiveInteger,
+
+ rupsBypassVoltage
+ NonNegativeInteger,
+
+ rupsBypassCurrent
+ NonNegativeInteger,
+
+ rupsBypassPower
+ NonNegativeInteger
+ }
+
+rupsBypassLineIndex OBJECT-TYPE
+ SYNTAX PositiveInteger
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The bypass line identifier."
+ ::= { rupsBypassEntry 1 }
+
+rupsBypassVoltage OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS RMS Volts
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present bypass voltage."
+ ::= { rupsBypassEntry 2 }
+
+rupsBypassCurrent OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS 0.1 RMS Amp
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present bypass current."
+ ::= { rupsBypassEntry 3 }
+
+rupsBypassPower OBJECT-TYPE
+ SYNTAX NonNegativeInteger -- UNITS Watts
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present true power conveyed by the bypass."
+ ::= { rupsBypassEntry 4 }
+
+rupsAlarm OBJECT IDENTIFIER ::= { rupsObjects 6 }
+
+rupsAlarmsPresent OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present number of active alarm conditions."
+ ::= { rupsAlarm 1 }
+
+rupsAlarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF RUpsAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of alarm table entries. The table contains
+ zero, one, or many rows at any moment, depending upon
+ the number of alarm conditions in effect. The table
+ is initially empty at agent startup. The agent
+ creates a row in the table each time a condition is
+ detected and deletes that row when that condition no
+ longer pertains. The agent creates the first row with
+ rupsAlarmId equal to 1, and increments the value of
+ rupsAlarmId each time a new row is created, wrapping to
+ the first free value greater than or equal to 1 when
+ the maximum value of rupsAlarmId would otherwise be
+ exceeded. Consequently, after multiple operations,
+ the table may become sparse, e.g., containing entries
+ for rows 95, 100, 101, and 203 and the entries should
+ not be assumed to be in chronological order because
+ rupsAlarmId might have wrapped.
+
+ Alarms are named by an AutonomousType (OBJECT
+ IDENTIFIER), rupsAlarmDescr, to allow a single table to
+ reflect well known alarms plus alarms defined by a
+ particular implementation, i.e., as documented in the
+ private enterprise MIB definition for the device. No
+ two rows will have the same value of rupsAlarmDescr,
+ since alarms define conditions. In order to meet this
+ requirement, care should be taken in the definition of
+ alarm conditions to insure that a system cannot enter
+ the same condition multiple times simultaneously.
+
+ The number of rows in the table at any given time is
+ reflected by the value of rupsAlarmsPresent."
+ ::= { rupsAlarm 2 }
+
+rupsAlarmEntry OBJECT-TYPE
+ SYNTAX RUpsAlarmEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry containing information applicable to a
+
+
+
+
+
+ particular alarm."
+ INDEX { rupsAlarmId }
+ ::= { rupsAlarmTable 1 }
+
+RUpsAlarmEntry ::=
+ SEQUENCE {
+ rupsAlarmId
+ PositiveInteger,
+
+ rupsAlarmDescr
+ OBJECT IDENTIFIER,
+
+ rupsAlarmTime
+ PositiveInteger
+ }
+
+rupsAlarmId OBJECT-TYPE
+ SYNTAX PositiveInteger
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A unique identifier for an alarm condition. This
+ value must remain constant."
+ ::= { rupsAlarmEntry 1 }
+
+rupsAlarmDescr OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A reference to an alarm description object. The
+ object referenced should not be accessible, but rather
+ be used to provide a unique description of the alarm
+ condition."
+ ::= { rupsAlarmEntry 2 }
+
+rupsAlarmTime OBJECT-TYPE
+ SYNTAX PositiveInteger
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime when the alarm condition was
+ detected. If the alarm condition was detected at the
+ time of agent startup and presumably existed before
+ agent startup, the value of rupsAlarmTime shall equal
+ 0."
+ ::= { rupsAlarmEntry 3 }
+
+rupsWellKnownAlarms OBJECT IDENTIFIER ::= { rupsAlarm 3 }
+
+rupsAlarmBatteryBad OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 1 }
+
+rupsAlarmOnBattery OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 2 }
+
+rupsAlarmLowBattery OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 3 }
+
+rupsAlarmShutdownImminent OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 4 }
+
+rupsAlarmTempBad OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 5 }
+
+rupsAlarmFault OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 6 }
+
+rupsAlarmInternal OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 7 }
+
+rupsAlarmOutputOverload OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 8 }
+
+rupsAlarmOnBypass OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 9 }
+
+rupsAlarmBypassBad OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 10 }
+
+rupsAlarmShutdownImminent OBJECT IDENTIFIER ::= { rupsWellKnownAlarms 11 }
+
+ --
+ -- The Test Group
+ --
+
+ rupsTest OBJECT IDENTIFIER ::= { rupsObjects 7 }
+
+ rupsTestId OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-write
+ STATUS optional
+ DESCRIPTION
+ "The test is named by an OBJECT IDENTIFIER which
+ allows a standard mechanism for the initiation of
+ tests, including the well known tests identified in
+ this document as well as those introduced by a
+ particular implementation, i.e., as documented in the
+ private enterprise MIB definition for the device.
+
+ Setting this variable initiates the named test. Sets
+ to this variable require the presence of
+ upsTestSpinLock in the same SNMP message.
+
+ The set request will be rejected with an appropriate
+ error message if the requested test cannot be
+ performed, including attempts to start a test when
+ another test is already in progress. The status of
+ the current or last test is maintained in
+ upsTestResultsSummary. Tests in progress may be
+ aborted by setting the rupsTestId variable to
+ rupsTestAbortTestInProgress.
+
+ Read operations return the value of the name of the
+ test in progress if a test is in progress or the name
+ of the last test performed if no test is in progress,
+ unless no test has been run, in which case the well
+ known value upsTestNoTestsInitiated is returned."
+ ::= { rupsTest 1 }
+
+ -- see [6] for more information on the semantics of objects with
+ -- syntax of TestAndIncr
+
+ rupsTestSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ ACCESS read-write
+ STATUS optional
+ DESCRIPTION
+ "A spin lock on the test subsystem. The spinlock is
+ used as follows.
+
+ Before starting a test, a manager-station should make
+ sure that a test is not in progress as follows:
+
+ try_again:
+ get (upsTestSpinLock)
+ while (upsTestResultsSummary == inProgress) {
+ /* loop while a test is running for another
+ manager */
+ short delay
+ get (upsTestSpinLock)
+ }
+ lock_value = upsTestSpinLock
+ /* no test in progress, start the test */
+ set (upsTestSpinLock = lock_value, upsTestId =
+ requested_test)
+ if (error_index == 1) { /* (upsTestSpinLock
+ failed) */
+ /* if problem is not access control, then
+ some other manager slipped in ahead of us
+ */
+ goto try_again
+ }
+ if (error_index == 2) { /* (upsTestId) */
+ /* cannot perform the test */
+ give up
+ }
+ /* test started ok */
+ /* wait for test completion by polling
+ upsTestResultsSummary */
+ get (upsTestSpinLock, upsTestResultsSummary,
+ upsTestResultsDetail)
+ while (upsTestResultsSummary == inProgress) {
+ short delay
+ get (upsTestSpinLock, upsTestResultsSummary,
+ upsTestResultsDetail)
+ }
+ /* when test completes, retrieve any additional
+ test results */
+ /* if upsTestSpinLock == lock_value + 1, then
+ these are our test */
+ /* results (as opposed to another manager's */
+ The initial value of upsTestSpinLock at agent
+ initialization shall
+ be 1."
+ ::= { rupsTest 2 }
+
+ rupsTestResultsSummary OBJECT-TYPE
+ SYNTAX INTEGER {
+ donePass(1),
+ doneWarning(2),
+ doneError(3),
+ aborted(4),
+ inProgress(5),
+ noTestsInitiated(6)
+ }
+ ACCESS read-only
+ STATUS optional
+ DESCRIPTION
+ "The results of the current or last UPS diagnostics
+ test performed. The values for donePass(1),
+ doneWarning(2), and doneError(3) indicate that the
+ test completed either successfully, with a warning, or
+ with an error, respectively. The value aborted(4) is
+ returned for tests which are aborted by setting the
+ value of upsTestId to upsTestAbortTestInProgress.
+ Tests which have not yet concluded are indicated by
+ inProgress(5). The value noTestsInitiated(6)
+ indicates that no previous test results are available,
+ such as is the case when no tests have been run since
+ the last reinitialization of the network management
+ subsystem and the system has no provision for non-
+ volatile storage of test results."
+ ::= { rupsTest 3 }
+
+ rupsTestResultsDetail OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS optional
+ DESCRIPTION
+ "Additional information about upsTestResultsSummary.
+ If no additional information available, a zero length
+ string is returned."
+ ::= { rupsTest 4 }
+
+ rupsTestStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ ACCESS read-only
+ STATUS optional
+ DESCRIPTION
+ "The value of sysUpTime at the time the test in
+ progress was initiated, or, if no test is in progress,
+ the time the previous test was initiated. If the
+ value of upsTestResultsSummary is noTestsInitiated(6),
+ upsTestStartTime has the value 0."
+ ::= { rupsTest 5 }
+
+ rupsTestElapsedTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ ACCESS read-only
+ STATUS optional
+ DESCRIPTION
+ "The amount of time, in TimeTicks, since the test in
+ progress was initiated, or, if no test is in progress,
+ the previous test took to complete. If the value of
+ upsTestResultsSummary is noTestsInitiated(6),
+ upsTestElapsedTime has the value 0."
+ ::= { rupsTest 6 }
+
+ --
+ -- Well known tests.
+ --
+
+ rupsWellKnownTests OBJECT IDENTIFIER ::= { rupsTest 7 }
+
+
+ rupsTestNoTestsInitiated OBJECT IDENTIFIER
+ -- "No tests have been initiated and no test is in
+ -- progress."
+ ::= { rupsWellKnownTests 1 }
+
+ rupsTestAbortTestInProgress OBJECT IDENTIFIER
+ -- "The test in progress is to be aborted / the test in
+ -- progress was aborted."
+ ::= { rupsWellKnownTests 2 }
+
+ rupsTestGeneralSystemsTest OBJECT IDENTIFIER
+ -- "The manufacturer's standard test of UPS device
+ -- systems."
+ ::= { rupsWellKnownTests 3 }
+
+ rupsTestQuickBatteryTest OBJECT IDENTIFIER
+ -- "A test that is sufficient to determine if the battery
+ -- needs replacement."
+ ::= { rupsWellKnownTests 4 }
+
+ rupsTestDeepBatteryCalibration OBJECT IDENTIFIER
+ -- "The system is placed on battery to a discharge level,
+ -- set by the manufacturer, sufficient to determine
+ -- battery replacement and battery run-time with a high
+ -- degree of confidence. WARNING: this test will leave
+ -- the battery in a low charge state and will require
+ -- time for recharging to a level sufficient to provide
+ -- normal battery duration for the protected load."
+ ::= { rupsWellKnownTests 5 }
+
+rupsControl OBJECT IDENTIFIER ::= { rupsObjects 8 }
+
+rupsShutdownType OBJECT-TYPE
+ SYNTAX INTEGER {
+ output(1),
+ system(2)
+}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "This object determines the nature of the action to be
+ taken at the time when the countdown of the
+
+
+
+
+
+ upsShutdownAfterDelay and upsRebootWithDuration
+ objects reaches zero.
+
+ Setting this object to output(1) indicates that
+ shutdown requests should cause only the output of the
+ UPS to turn off. Setting this object to system(2)
+ indicates that shutdown requests will cause the entire
+ UPS system to turn off."
+ ::= { rupsControl 1 }
+
+rupsShutdownAfterDelay OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS seconds
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this object will shutdown (i.e., turn off)
+ either the UPS output or the UPS system (as determined
+ by the value of upsShutdownType at the time of
+ shutdown) after the indicated number of seconds, or
+ less if the UPS batteries become depleted. Setting
+ this object to 0 will cause the shutdown to occur
+ immediately. Setting this object to -1 will abort the
+ countdown. If the system is already in the desired
+ state at the time the countdown reaches 0, then
+ nothing will happen. That is, there is no additional
+ action at that time if upsShutdownType = system and
+ the system is already off. Similarly, there is no
+ additional action at that time if upsShutdownType =
+ output and the output is already off. When read,
+ upsShutdownAfterDelay will return the number of
+ seconds remaining until shutdown, or -1 if no shutdown
+ countdown is in effect. On some systems, if the agent
+ is restarted while a shutdown countdown is in effect,
+ the countdown may be aborted. Sets to this object
+ override any upsShutdownAfterDelay already in effect."
+ ::= { rupsControl 2 }
+
+rupsStartupAfterDelay OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS seconds
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this object will start the output after the
+ indicated number of seconds, including starting the
+ UPS, if necessary. Setting this object to 0 will
+ cause the startup to occur immediately. Setting this
+
+
+
+
+
+ object to -1 will abort the countdown. If the output
+ is already on at the time the countdown reaches 0,
+ then nothing will happen. Sets to this object
+ override the effect of any upsStartupAfterDelay
+ countdown or upsRebootWithDuration countdown in
+ progress. When read, upsStartupAfterDelay will return
+ the number of seconds until startup, or -1 if no
+ startup countdown is in effect. If the countdown
+ expires during a utility failure, the startup shall
+ not occur until the utility power is restored. On
+ some systems, if the agent is restarted while a
+ startup countdown is in effect, the countdown is
+ aborted."
+ ::= { rupsControl 3 }
+
+rupsRebootWithDuration OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS seconds
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this object will immediately shutdown (i.e.,
+ turn off) either the UPS output or the UPS system (as
+ determined by the value of upsShutdownType at the time
+ of shutdown) for a period equal to the indicated
+ number of seconds, after which time the output will be
+ started, including starting the UPS, if necessary. If
+ the number of seconds required to perform the request
+ is greater than the requested duration, then the
+ requested shutdown and startup cycle shall be
+ performed in the minimum time possible, but in no case
+ shall this require more than the requested duration
+ plus 60 seconds. When read, upsRebootWithDuration
+ shall return the number of seconds remaining in the
+ countdown, or -1 if no countdown is in progress. If
+ the startup should occur during a utility failure, the
+ startup shall not occur until the utility power is
+ restored."
+ ::= { rupsControl 4 }
+
+rupsAutoRestart OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2)
+}
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Setting this object to 'on' will cause the UPS system
+ to restart after a shutdown if the shutdown occurred
+ during a power loss as a result of either a
+ upsShutdownAfterDelay or an internal battery depleted
+ condition. Setting this object to 'off' will prevent
+ the UPS system from restarting after a shutdown until
+ an operator manually or remotely explicitly restarts
+ it. If the UPS is in a startup or reboot countdown,
+ then the UPS will not restart until that delay has
+ been satisfied."
+ ::= { rupsControl 5 }
+
+rupsTemperature OBJECT IDENTIFIER ::= { rupsObjects 10 }
+
+rupsSystemTemperature OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 1 }
+
+rupsPowerTemperature1 OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 2 }
+
+rupsPowerTemperature2 OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 3 }
+
+rupsPowerTemperature3 OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 4 }
+
+rupsChargerTemperature OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 5 }
+
+rupsBatteryPositiveTemperature OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 6 }
+
+rupsBatteryNegativeTemperature OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 7 }
+
+rupsBatteryExternalTemperature OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS degree Celsius
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The present temperature."
+ ::= { rupsTemperature 8 }
+
+rupsMPS OBJECT IDENTIFIER ::= { rupsObjects 20 }
+
+mpsAlarmGroupS OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group s."
+ ::= { rupsMPS 1 }
+
+mpsAlarmGroupC OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group c."
+ ::= { rupsMPS 2 }
+
+mpsAlarmGroupB OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group b."
+ ::= { rupsMPS 3 }
+
+mpsAlarmGroupR OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group r."
+ ::= { rupsMPS 4 }
+
+mpsAlarmGroupRI OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group RI."
+ ::= { rupsMPS 5 }
+
+mpsAlarmGroupI OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group I."
+ ::= { rupsMPS 6 }
+
+mpsAlarmGroupA0 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group A0."
+ ::= { rupsMPS 7 }
+
+mpsAlarmGroupA1 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group A1."
+ ::= { rupsMPS 8 }
+
+mpsAlarmGroupA2 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group A2."
+ ::= { rupsMPS 9 }
+
+mpsAlarmGroupA3 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group A3."
+ ::= { rupsMPS 10 }
+
+mpsAlarmGroupA4 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group A4."
+ ::= { rupsMPS 11 }
+
+mpsAlarmGroupA5 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The alarm group A5."
+ ::= { rupsMPS 12 }
+
+rupsMST OBJECT IDENTIFIER ::= { rupsObjects 21 }
+
+mstWarningGroupW0W1 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The anomaly group W0W1."
+ ::= { rupsMST 1 }
+
+mstAnomalyGroupA0A1 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The anomaly group A0A1."
+ ::= { rupsMST 2 }
+
+mstAnomalyGroupA2A3 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The anomaly group A2A3."
+ ::= { rupsMST 3 }
+
+mstAnomalyGroupA4A5 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The anomaly group A4A5."
+ ::= { rupsMST 4 }
+
+mstFaultGroupF0F1 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The fault group F0F1."
+ ::= { rupsMST 5 }
+
+mstFaultGroupF2F3 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The fault group F2F3."
+ ::= { rupsMST 6 }
+
+mstFaultGroupF4F5 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The fault group F4F5."
+ ::= { rupsMST 7 }
+
+mstLockGroupL0L1 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The lock group L0L1."
+ ::= { rupsMST 8 }
+
+mstLockGroupL2L3 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The lock group L2L3."
+ ::= { rupsMST 9 }
+
+mstLockGroupL4L5 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The lock group L4L5."
+ ::= { rupsMST 10 }
+
+mstEventGroupE0E1 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The event group E0E1."
+ ::= { rupsMST 11 }
+
+rupsMPW OBJECT IDENTIFIER ::= { rupsObjects 22 }
+
+mpwSystemStatusGroup1 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The system status group 1."
+ ::= { rupsMPW 1 }
+
+mpwSystemStatusGroup2 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The system status group 2."
+ ::= { rupsMPW 2 }
+
+mpwSystemStatusGroup3 OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The system status group 3."
+ ::= { rupsMPW 3 }
+
+mpwBypassModuleAlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The bypass module alarm group."
+ ::= { rupsMPW 4 }
+
+mpwPowerModule1AlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The power module 1 alarm group."
+ ::= { rupsMPW 5 }
+
+mpwPowerModule2AlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The power module 2 alarm group."
+ ::= { rupsMPW 6 }
+
+mpwPowerModule3AlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The power module 3 alarm group."
+ ::= { rupsMPW 7 }
+
+mpwPowerModule4AlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The power module 4 alarm group."
+ ::= { rupsMPW 8 }
+
+mpwPowerModule5AlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The power module 5 alarm group."
+ ::= { rupsMPW 9 }
+
+mpwPowerModule6AlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The power module 6 alarm group."
+ ::= { rupsMPW 10 }
+
+mpwPowerModule7AlarmGroup OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The power module 7 alarm group."
+ ::= { rupsMPW 11 }
+
+mpwBypassModuleStatus OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The bypass module status."
+ ::= { rupsMPW 12 }
+
+mpwPowerModule1Status OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of power module 1."
+ ::= { rupsMPW 13 }
+
+mpwPowerModule2Status OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of power module 2."
+ ::= { rupsMPW 14 }
+
+mpwPowerModule3Status OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of power module 3."
+ ::= { rupsMPW 15 }
+
+mpwPowerModule4Status OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of power module 4."
+ ::= { rupsMPW 16 }
+
+mpwPowerModule5Status OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of power module 5."
+ ::= { rupsMPW 17 }
+
+mpwPowerModule6Status OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of power module 6."
+ ::= { rupsMPW 18 }
+
+mpwPowerModule7Status OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The status of power module 7."
+ ::= { rupsMPW 19 }
+
+mpwControl OBJECT IDENTIFIER ::= { rupsMPW 20 }
+
+mpwCommandCode OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Command code."
+ ::= { mpwControl 1 }
+
+mpwShutdownDelay OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Shutdown delay."
+ ::= { mpwControl 2 }
+
+mpwRestoreDelay OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Restore delay."
+ ::= { mpwControl 3 }
+
+mpwModuleApplyCommand OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Module apply command"
+ ::= { mpwControl 4 }
+
+mpwCommandResult OBJECT-TYPE
+ SYNTAX INTEGER -- UNITS RMS Volts
+
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "Result of command."
+ ::= { mpwControl 5 }
+
+
+rupsTraps OBJECT IDENTIFIER ::= { rupsMIB 2 }
+
+rupsTrapOnBattery TRAP-TYPE
+ ENTERPRISE rupsTraps
+ VARIABLES { rupsEstimatedMinutesRemaining, rupsSecondsOnBattery,
+rupsConfigLowBattTime }
+ DESCRIPTION
+ "The UPS is operating on battery power. This trap is
+ persistent and is resent at one minute intervals until
+ the UPS either turns off or is no longer running on
+ battery."
+ ::= 1
+
+rupsTrapTestCompleted TRAP-TYPE
+ ENTERPRISE rupsTraps
+ DESCRIPTION
+ "This trap is sent upon completion of a UPS diagnostic
+ test."
+ ::= 2
+
+rupsTrapAlarmEntryAdded TRAP-TYPE
+ ENTERPRISE rupsTraps
+ DESCRIPTION
+ "This trap is sent each time an alarm is inserted into
+ to the alarm table. It is sent on the insertion of
+
+ all alarms except for rupsAlarmOnBattery and
+ rupsAlarmTestInProgress."
+ ::= 3
+
+rupsTrapAlarmEntryRemoved TRAP-TYPE
+ ENTERPRISE rupsTraps
+ DESCRIPTION
+ "This trap is sent each time an alarm is removed from
+ the alarm table. It is sent on the removal of all
+ alarms except for rupsAlarmTestInProgress."
+ ::= 4
+
+
+END
+
diff --git a/mibs/riello/SENSORTRAP-MIB b/mibs/riello/SENSORTRAP-MIB
new file mode 100644
index 0000000000..768222e863
--- /dev/null
+++ b/mibs/riello/SENSORTRAP-MIB
@@ -0,0 +1,97 @@
+-- IRMS-MIB { iso org(3) dod(6) internet(1) private(4)
+-- enterprises(1) riello(5491) }
+
+SENSORTRAP-MIB DEFINITIONS ::= BEGIN
+
+-- Title: SENSOR TRAP MIB
+-- Version: 1.0 by Michele Marcon
+-- Date: 02.11.2009
+
+IMPORTS
+ enterprises
+ FROM RFC1155-SMI
+ OBJECT-TYPE
+ FROM RFC-1212
+ TRAP-TYPE
+ FROM RFC-1215;
+
+
+rielloMIB OBJECT IDENTIFIER ::= { enterprises 5491 }
+
+sensorgroup OBJECT IDENTIFIER ::= { rielloMIB 9 }
+
+sensor OBJECT IDENTIFIER ::= { sensorgroup 1 }
+
+sensorId OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of the sensor."
+ ::= { sensor 1 }
+
+sensorTrapGroup OBJECT IDENTIFIER ::= { sensor 2 }
+
+
+sensorAlarmTMax TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent each minute when temperature reaches maximum level"
+ ::= 1
+
+sensorAlarmTMaxRemoved TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent when temperature returns to standard level"
+ ::= 2
+
+sensorAlarmTMin TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent each minute when temperature reaches minimum level"
+ ::= 3
+
+sensorAlarmTMinRemoved TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent when temperature returns to standard level"
+ ::= 4
+
+sensorIOAlarm TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent each minute when input contact is in alarm"
+ ::= 5
+
+sensorIOAlarmRemoved TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent when input contact is normal"
+ ::= 6
+
+sensorHumidityAlarm TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent each minute when humidity reaches maximum level"
+ ::= 7
+
+sensorHumidityAlarmRemoved TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent when humidity returns to normal level"
+ ::= 8
+
+sensorHumidityLowAlarm TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent each minute when humidity reaches minimum level"
+ ::= 9
+
+sensorHumidityLowAlarmRemoved TRAP-TYPE
+ ENTERPRISE sensorTrapGroup
+ VARIABLES { sensorId }
+ DESCRIPTION "This trap is sent when humidity returns to normal level"
+ ::= 10
+
+END
+
diff --git a/tests/data/riello.json b/tests/data/riello.json
new file mode 100644
index 0000000000..3311759e5c
--- /dev/null
+++ b/tests/data/riello.json
@@ -0,0 +1,1588 @@
+{
+ "os": {
+ "discovery": {
+ "devices": [
+ {
+ "sysName": "",
+ "sysObjectID": ".1.3.6.1.4.1.5491.304",
+ "sysDescr": "Netman 204",
+ "sysContact": null,
+ "version": null,
+ "hardware": null,
+ "features": null,
+ "os": "riello",
+ "type": "power",
+ "serial": null,
+ "icon": "riello.png",
+ "location": null
+ }
+ ]
+ },
+ "poller": {
+ "devices": [
+ {
+ "sysName": "",
+ "sysObjectID": ".1.3.6.1.4.1.5491.304",
+ "sysDescr": "Netman 204",
+ "sysContact": "",
+ "version": null,
+ "hardware": null,
+ "features": null,
+ "os": "riello",
+ "type": "power",
+ "serial": null,
+ "icon": "riello.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": "Loopback Interface",
+ "ifName": "Loopback Interface",
+ "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": "softwareLoopback",
+ "ifAlias": "Loopback Interface",
+ "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": "RPS Wired Network",
+ "ifName": "RPS Wired Network",
+ "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": "ethernetCsmacd",
+ "ifAlias": "RPS Wired Network",
+ "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": "Loopback Interface",
+ "ifName": "Loopback Interface",
+ "portName": null,
+ "ifIndex": 1,
+ "ifSpeed": 10000000,
+ "ifConnectorPresent": null,
+ "ifPromiscuousMode": null,
+ "ifHighSpeed": null,
+ "ifOperStatus": "up",
+ "ifOperStatus_prev": null,
+ "ifAdminStatus": "up",
+ "ifAdminStatus_prev": null,
+ "ifDuplex": null,
+ "ifMtu": 1500,
+ "ifType": "softwareLoopback",
+ "ifAlias": "Loopback Interface",
+ "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": 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": "RPS Wired Network",
+ "ifName": "RPS Wired Network",
+ "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": "ethernetCsmacd",
+ "ifAlias": "RPS Wired Network",
+ "ifPhysAddress": "303a323a3633",
+ "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": 1171399,
+ "ifInUcastPkts_prev": 0,
+ "ifInUcastPkts_delta": null,
+ "ifInUcastPkts_rate": null,
+ "ifOutUcastPkts": 515513,
+ "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": 186741460,
+ "ifInOctets_prev": 0,
+ "ifInOctets_delta": null,
+ "ifInOctets_rate": null,
+ "ifOutOctets": 288042756,
+ "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
+ }
+ ]
+ }
+ },
+ "sensors": {
+ "discovery": {
+ "sensors": [
+ {
+ "sensor_deleted": 0,
+ "sensor_class": "charge",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.2.4.0",
+ "sensor_index": "500",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Battery charge remaining",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 100,
+ "sensor_limit": 101,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 15,
+ "sensor_limit_low_warn": 50,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.3.1",
+ "sensor_index": "1",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 1",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 1.1000000000000001,
+ "sensor_limit": 1.6499999999999999,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.4.1",
+ "sensor_index": "101",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 1",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": -0.10000000000000001,
+ "sensor_limit": -0.14999999999999999,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.4.2",
+ "sensor_index": "102",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 2",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": -0.10000000000000001,
+ "sensor_limit": -0.14999999999999999,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.4.3",
+ "sensor_index": "103",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 3",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": -0.10000000000000001,
+ "sensor_limit": -0.14999999999999999,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.3.2",
+ "sensor_index": "2",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 2",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.3.1",
+ "sensor_index": "201",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 1",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.3.2",
+ "sensor_index": "202",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 2",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.3.3",
+ "sensor_index": "203",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 3",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.3.3",
+ "sensor_index": "3",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 3",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "current",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.2.6.0",
+ "sensor_index": "500",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Battery",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": -0.10000000000000001,
+ "sensor_limit": -0.14999999999999999,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "frequency",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.2.1",
+ "sensor_index": "3.2.0.1",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 1",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 50.100000000000001,
+ "sensor_limit": 52.604999999999997,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 47.594999999999999,
+ "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": "frequency",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.2.2",
+ "sensor_index": "3.2.0.2",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 2",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": "frequency",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.2.3",
+ "sensor_index": "3.2.0.3",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 3",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": "frequency",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.2.0",
+ "sensor_index": "4.2.0",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 50.100000000000001,
+ "sensor_limit": 52.604999999999997,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 47.594999999999999,
+ "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": "frequency",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.1.0",
+ "sensor_index": "5.1.0",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 50.100000000000001,
+ "sensor_limit": 52.604999999999997,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 47.594999999999999,
+ "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": "load",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.5.1",
+ "sensor_index": "501",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Percentage load 1",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 8,
+ "sensor_limit": 80,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "load",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.5.2",
+ "sensor_index": "502",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Percentage load 2",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 80,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "load",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.5.3",
+ "sensor_index": "503",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Percentage load 3",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 80,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.5.1",
+ "sensor_index": "101",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 1",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.5.2",
+ "sensor_index": "102",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 2",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.5.3",
+ "sensor_index": "103",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 3",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.4.1",
+ "sensor_index": "201",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 1",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.4.2",
+ "sensor_index": "202",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 2",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.4.3",
+ "sensor_index": "203",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 3",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.4.1",
+ "sensor_index": "301",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 1",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 184,
+ "sensor_limit": 276,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.4.2",
+ "sensor_index": "302",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 2",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "power",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.4.3",
+ "sensor_index": "303",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 3",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "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": "runtime",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.2.2.0",
+ "sensor_index": "100",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Time on battery",
+ "group": null,
+ "sensor_divisor": 60,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 2,
+ "sensor_limit_warn": 1,
+ "sensor_limit_low": 0,
+ "sensor_limit_low_warn": 0,
+ "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": "runtime",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.2.3.0",
+ "sensor_index": "200",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Estimated battery time remaining",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 135,
+ "sensor_limit": 10000,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 5,
+ "sensor_limit_low_warn": 10,
+ "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": "state",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.2.1.0",
+ "sensor_index": "0",
+ "sensor_type": "upsBatteryStatusState",
+ "sensor_descr": "Battery Status",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 2,
+ "sensor_limit": null,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "sensor_limit_low_warn": null,
+ "sensor_alert": 1,
+ "sensor_custom": "No",
+ "entPhysicalIndex": "0",
+ "entPhysicalIndex_measured": null,
+ "sensor_prev": null,
+ "user_func": null,
+ "state_name": "upsBatteryStatusState"
+ },
+ {
+ "sensor_deleted": 0,
+ "sensor_class": "state",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.1.0",
+ "sensor_index": "0",
+ "sensor_type": "upsOutputSourceState",
+ "sensor_descr": "Output Source",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 3,
+ "sensor_limit": null,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": null,
+ "sensor_limit_low_warn": null,
+ "sensor_alert": 1,
+ "sensor_custom": "No",
+ "entPhysicalIndex": "0",
+ "entPhysicalIndex_measured": null,
+ "sensor_prev": null,
+ "user_func": null,
+ "state_name": "upsOutputSourceState"
+ },
+ {
+ "sensor_deleted": 0,
+ "sensor_class": "temperature",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.2.7.0",
+ "sensor_index": "0",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Battery",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 37,
+ "sensor_limit": 57,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 27,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.2.1",
+ "sensor_index": "1",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 1",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 231,
+ "sensor_limit": 265.64999999999998,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 196.34999999999999,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.2.5.0",
+ "sensor_index": "1.2.5.0",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Battery",
+ "group": null,
+ "sensor_divisor": 10,
+ "sensor_multiplier": 1,
+ "sensor_current": 122.5,
+ "sensor_limit": 140.875,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 104.125,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.3.1",
+ "sensor_index": "101",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 1",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 242,
+ "sensor_limit": 278.30000000000001,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 205.69999999999999,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.3.2",
+ "sensor_index": "102",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 2",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.3.3.1.3.3",
+ "sensor_index": "103",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Input Phase 3",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.2.2",
+ "sensor_index": "2",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 2",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.2.1",
+ "sensor_index": "201",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 1",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 242,
+ "sensor_limit": 278.30000000000001,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 205.69999999999999,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.2.2",
+ "sensor_index": "202",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 2",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.5.3.1.2.3",
+ "sensor_index": "203",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Bypass Phase 3",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": "voltage",
+ "poller_type": "snmp",
+ "sensor_oid": ".1.3.6.1.2.1.33.1.4.4.1.2.3",
+ "sensor_index": "3",
+ "sensor_type": "rfc1628",
+ "sensor_descr": "Output Phase 3",
+ "group": null,
+ "sensor_divisor": 1,
+ "sensor_multiplier": 1,
+ "sensor_current": 0,
+ "sensor_limit": 0,
+ "sensor_limit_warn": null,
+ "sensor_limit_low": 0,
+ "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": [
+ {
+ "state_name": "upsBatteryStatusState",
+ "state_descr": "Unknown",
+ "state_draw_graph": 0,
+ "state_value": 1,
+ "state_generic_value": 3
+ },
+ {
+ "state_name": "upsBatteryStatusState",
+ "state_descr": "Normal",
+ "state_draw_graph": 0,
+ "state_value": 2,
+ "state_generic_value": 0
+ },
+ {
+ "state_name": "upsBatteryStatusState",
+ "state_descr": "Low",
+ "state_draw_graph": 0,
+ "state_value": 3,
+ "state_generic_value": 2
+ },
+ {
+ "state_name": "upsBatteryStatusState",
+ "state_descr": "Depleted",
+ "state_draw_graph": 0,
+ "state_value": 4,
+ "state_generic_value": 2
+ },
+ {
+ "state_name": "upsOutputSourceState",
+ "state_descr": "Other",
+ "state_draw_graph": 0,
+ "state_value": 1,
+ "state_generic_value": 3
+ },
+ {
+ "state_name": "upsOutputSourceState",
+ "state_descr": "None",
+ "state_draw_graph": 0,
+ "state_value": 2,
+ "state_generic_value": 3
+ },
+ {
+ "state_name": "upsOutputSourceState",
+ "state_descr": "Normal",
+ "state_draw_graph": 0,
+ "state_value": 3,
+ "state_generic_value": 0
+ },
+ {
+ "state_name": "upsOutputSourceState",
+ "state_descr": "Bypass",
+ "state_draw_graph": 0,
+ "state_value": 4,
+ "state_generic_value": 2
+ },
+ {
+ "state_name": "upsOutputSourceState",
+ "state_descr": "Battery",
+ "state_draw_graph": 0,
+ "state_value": 5,
+ "state_generic_value": 2
+ },
+ {
+ "state_name": "upsOutputSourceState",
+ "state_descr": "Booster",
+ "state_draw_graph": 0,
+ "state_value": 6,
+ "state_generic_value": 2
+ },
+ {
+ "state_name": "upsOutputSourceState",
+ "state_descr": "Reducer",
+ "state_draw_graph": 0,
+ "state_value": 7,
+ "state_generic_value": 2
+ }
+ ]
+ },
+ "poller": "matches discovery"
+ }
+}
diff --git a/tests/snmpsim/riello.snmprec b/tests/snmpsim/riello.snmprec
new file mode 100644
index 0000000000..ddf3b85224
--- /dev/null
+++ b/tests/snmpsim/riello.snmprec
@@ -0,0 +1,161 @@
+1.3.6.1.2.1.1.1.0|4|Netman 204
+1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.5491.304
+1.3.6.1.2.1.1.3.0|67|51669102
+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|Loopback Interface
+1.3.6.1.2.1.2.2.1.2.2|4|RPS Wired Network
+1.3.6.1.2.1.2.2.1.3.1|2|24
+1.3.6.1.2.1.2.2.1.3.2|2|6
+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|10000000
+1.3.6.1.2.1.2.2.1.5.2|66|100000000
+1.3.6.1.2.1.2.2.1.6.1|4|
+1.3.6.1.2.1.2.2.1.6.2|4|0:2:63:6:65:d8
+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|186741460
+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|1171399
+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|0
+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|288042756
+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|515513
+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|0
+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|1.3.6.1
+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.1.250|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.1.250|64|255.255.255.0
+1.3.6.1.2.1.4.22.1.2.2.192.168.1.1|4|30:30:3a:32:35:3a:39:30:3a:64:30:3a:62:61:3a:30:30
+1.3.6.1.2.1.4.22.1.2.2.192.168.1.90|4|30:63:3a:63:34:3a:37:61:3a:62:30:3a:35:66:3a:33:30
+1.3.6.1.2.1.4.22.1.2.2.192.168.1.91|4|30:30:3a:32:35:3a:39:30:3a:65:33:3a:35:64:3a:61:38
+1.3.6.1.2.1.4.22.1.2.2.192.168.1.100|4|30:63:3a:63:34:3a:37:61:3a:62:30:3a:36:30:3a:39:32
+1.3.6.1.2.1.4.22.1.2.2.192.168.1.101|4|30:30:3a:32:35:3a:39:30:3a:65:33:3a:35:64:3a:61:38
+1.3.6.1.2.1.4.22.1.2.2.192.168.1.110|4|30:63:3a:63:34:3a:37:61:3a:62:30:3a:35:66:3a:33:30
+1.3.6.1.2.1.5.1.0|65|7251
+1.3.6.1.2.1.5.2.0|65|136
+1.3.6.1.2.1.5.3.0|65|0
+1.3.6.1.2.1.5.4.0|65|2
+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|0
+1.3.6.1.2.1.5.9.0|65|7249
+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|0
+1.3.6.1.2.1.5.15.0|65|7113
+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|0
+1.3.6.1.2.1.5.23.0|65|7113
+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|0
+1.3.6.1.2.1.11.2.0|65|0
+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|0
+1.3.6.1.2.1.11.14.0|65|0
+1.3.6.1.2.1.11.15.0|65|0
+1.3.6.1.2.1.11.16.0|65|0
+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|0
+1.3.6.1.2.1.11.29.0|65|0
+1.3.6.1.2.1.11.30.0|2|0
+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.2.1.33.1.1.1.0|4|RPS SpA
+1.3.6.1.2.1.33.1.2.1.0|2|2
+1.3.6.1.2.1.33.1.2.2.0|2|0
+1.3.6.1.2.1.33.1.2.3.0|2|135
+1.3.6.1.2.1.33.1.2.4.0|2|100
+1.3.6.1.2.1.33.1.2.5.0|2|1225
+1.3.6.1.2.1.33.1.2.6.0|2|-1
+1.3.6.1.2.1.33.1.2.7.0|2|37
+1.3.6.1.2.1.33.1.3.3.1.2.1|2|501
+1.3.6.1.2.1.33.1.3.3.1.2.2|2|0
+1.3.6.1.2.1.33.1.3.3.1.2.3|2|0
+1.3.6.1.2.1.33.1.3.3.1.3.1|2|242
+1.3.6.1.2.1.33.1.3.3.1.3.2|2|0
+1.3.6.1.2.1.33.1.3.3.1.3.3|2|0
+1.3.6.1.2.1.33.1.3.3.1.4.1|2|-1
+1.3.6.1.2.1.33.1.3.3.1.4.2|2|-1
+1.3.6.1.2.1.33.1.3.3.1.4.3|2|-1
+1.3.6.1.2.1.33.1.3.3.1.5.1|2|0
+1.3.6.1.2.1.33.1.3.3.1.5.2|2|0
+1.3.6.1.2.1.33.1.3.3.1.5.3|2|0
+1.3.6.1.2.1.33.1.4.1.0|2|3
+1.3.6.1.2.1.33.1.4.2.0|2|501
+1.3.6.1.2.1.33.1.4.4.1.2.1|2|231
+1.3.6.1.2.1.33.1.4.4.1.2.2|2|0
+1.3.6.1.2.1.33.1.4.4.1.2.3|2|0
+1.3.6.1.2.1.33.1.4.4.1.3.1|2|11
+1.3.6.1.2.1.33.1.4.4.1.3.2|2|0
+1.3.6.1.2.1.33.1.4.4.1.3.3|2|0
+1.3.6.1.2.1.33.1.4.4.1.4.1|2|184
+1.3.6.1.2.1.33.1.4.4.1.4.2|2|0
+1.3.6.1.2.1.33.1.4.4.1.4.3|2|0
+1.3.6.1.2.1.33.1.4.4.1.5.1|2|8
+1.3.6.1.2.1.33.1.4.4.1.5.2|2|0
+1.3.6.1.2.1.33.1.4.4.1.5.3|2|0
+1.3.6.1.2.1.33.1.5.1.0|2|501
+1.3.6.1.2.1.33.1.5.3.1.2.1|2|242
+1.3.6.1.2.1.33.1.5.3.1.2.2|2|0
+1.3.6.1.2.1.33.1.5.3.1.2.3|2|0
+1.3.6.1.2.1.33.1.5.3.1.3.1|2|0
+1.3.6.1.2.1.33.1.5.3.1.3.2|2|0
+1.3.6.1.2.1.33.1.5.3.1.3.3|2|0
+1.3.6.1.2.1.33.1.5.3.1.4.1|2|0
+1.3.6.1.2.1.33.1.5.3.1.4.2|2|0
+1.3.6.1.2.1.33.1.5.3.1.4.3|2|0
+1.3.6.1.6.3.10.2.1.3.0|2|516722