Improve Sentry4 discovery (#8407)

* feature: Improve Sentry4 discovery

* Added test data

* Updated to take into account C/F conversion

* fixed test json data
This commit is contained in:
Søren Rosiak
2018-03-29 07:22:17 +02:00
committed by Tony Murray
parent 314a552437
commit 8ec70a92af
8 changed files with 8726 additions and 4605 deletions

View File

@@ -0,0 +1,491 @@
mib: Sentry4-MIB
modules:
sensors:
pre-cache:
data:
- oid:
- st4InputCordName
- st4LineLabel
- st4PhaseLabel
- st4OcpLabel
- st4BranchLabel
current:
data:
-
oid: st4LineCurrent
num_oid: .1.3.6.1.4.1.1718.4.1.4.3.1.3.
index: 'st4LineCurrent.{{ $index }}'
descr: Line, {{ $st4LineLabel }}, Current
divisor: 100
-
oid: st4PhaseCurrent
num_oid: .1.3.6.1.4.1.1718.4.1.5.3.1.6.
index: 'st4PhaseCurrent.{{ $index }}'
descr: Phase, {{ $st4PhaseLabel }}, Current
divisor: 100
frequency:
data:
-
oid: st4InputCordFrequency
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.11.
index: 'st4InputCord.{{ $index }}'
descr: Line, {{ $st4InputCordName }}, Frequency
divisor: 10
power:
data:
-
oid: st4InputCordActivePower
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.3.
index: 'st4InputCord.{{ $index }}'
descr: Cord, {{ $st4InputCordName }}, Active Power
divisor: 0
-
oid: st4PhaseActivePower
num_oid: .1.3.6.1.4.1.1718.4.1.5.3.1.8.
index: 'st4PhaseActivePower.{{ $index }}'
descr: Phase, {{ $st4PhaseLabel }}, Active Power
divisor: 0
voltage:
data:
-
oid: st4PhaseVoltage
num_oid: .1.3.6.1.4.1.1718.4.1.5.3.1.3.
index: 'st4PhaseVoltage.{{ $index }}'
descr: Phase, {{ $st4PhaseLabel }}, Voltage
divisor: 10
state:
data:
-
oid: st4UnitStatus
value: st4UnitStatus
num_oid: .1.3.6.1.4.1.1718.4.1.2.3.1.1.
descr: Unit Status
index: 'st4UnitStatus.{{ $index }}'
state_name: st4UnitStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4InputCordState
value: st4InputCordState
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.1.
descr: Input Cord State
index: 'st4InputCordState.{{ $index }}'
state_name: st4InputCordState
states:
- { descr: unknown, graph: 0, value: 0, generic: 3 }
- { descr: on, graph: 0, value: 1, generic: 0 }
- { descr: off, graph: 0, value: 2, generic: 3 }
-
oid: st4InputCordStatus
value: st4InputCordStatus
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.2.
descr: Input Cord Status
index: 'st4InputCordStatus.{{ $index }}'
state_name: st4InputCordStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4InputCordActivePowerStatus
value: st4InputCordActivePowerStatus
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.4.
descr: Input Cord Active Power Status
index: 'st4InputCordActivePowerStatus.{{ $index }}'
state_name: st4InputCordActivePowerStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4InputCordApparentPowerStatus
value: st4InputCordApparentPowerStatus
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.6.
descr: Input Cord Apparent Power Status
index: 'st4InputCordApparentPowerStatus.{{ $index }}'
state_name: st4InputCordApparentPowerStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4InputCordPowerFactorStatus
value: st4InputCordPowerFactorStatus
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.9.
descr: Input Cord Power Factor Status
index: 'st4InputCordPowerFactorStatus.{{ $index }}'
state_name: st4InputCordPowerFactorStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4InputCordOutOfBalanceStatus
value: st4InputCordOutOfBalanceStatus
num_oid: .1.3.6.1.4.1.1718.4.1.3.3.1.13.
descr: Input Out Of Balance Status
index: 'st4InputCordOutOfBalanceStatus.{{ $index }}'
state_name: st4InputCordOutOfBalanceStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4LineState
value: st4LineState
num_oid: .1.3.6.1.4.1.1718.4.1.4.3.1.1.
descr: Line {{ $st4LineLabel }} State
index: 'st4LineState.{{ $index }}'
state_name: st4LineState
states:
- { descr: unknown, graph: 0, value: 0, generic: 3 }
- { descr: on, graph: 0, value: 1, generic: 0 }
- { descr: off, graph: 0, value: 2, generic: 3 }
-
oid: st4LineStatus
value: st4LineStatus
num_oid: .1.3.6.1.4.1.1718.4.1.4.3.1.2.
descr: Line {{ $st4LineLabel }} Status
index: 'st4LineStatus.{{ $index }}'
state_name: st4LineStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4PhaseState
value: st4PhaseState
num_oid: .1.3.6.1.4.1.1718.4.1.5.3.1.1.
descr: Phase {{ $st4PhaseLabel }} State
index: 'st4PhaseState.{{ $index }}'
state_name: st4PhaseState
states:
- { descr: unknown, graph: 0, value: 0, generic: 3 }
- { descr: on, graph: 0, value: 1, generic: 0 }
- { descr: off, graph: 0, value: 2, generic: 3 }
-
oid: st4PhaseStatus
value: st4PhaseStatus
num_oid: .1.3.6.1.4.1.1718.4.1.5.3.1.2.
descr: Phase {{ $st4PhaseLabel }} Status
index: 'st4PhaseStatus.{{ $index }}'
state_name: st4PhaseStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4PhaseVoltageStatus
value: st4PhaseVoltageStatus
num_oid: .1.3.6.1.4.1.1718.4.1.5.3.1.4.
descr: Phase {{ $st4PhaseLabel }} Voltage Status
index: 'st4PhaseVoltageStatus.{{ $index }}'
state_name: st4PhaseVoltageStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4PhasePowerFactorStatus
value: st4PhasePowerFactorStatus
num_oid: .1.3.6.1.4.1.1718.4.1.5.3.1.11.
descr: Phase {{ $st4PhaseLabel }} Power Factor Status
index: 'st4PhasePowerFactorStatus.{{ $index }}'
state_name: st4PhasePowerFactorStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4OcpStatus
value: st4OcpStatus
num_oid: .1.3.6.1.4.1.1718.4.1.6.3.1.1.
descr: Over-current Protector {{ $st4OcpLabel }} Status
index: 'st4OcpStatus.{{ $index }}'
state_name: st4OcpStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4BranchState
value: st4BranchState
num_oid: .1.3.6.1.4.1.1718.4.1.7.3.1.1.
descr: Branch {{ $st4OcpLabel }} State
index: 'st4BranchState.{{ $index }}'
state_name: st4BranchState
states:
- { descr: unknown, graph: 0, value: 0, generic: 3 }
- { descr: on, graph: 0, value: 1, generic: 0 }
- { descr: off, graph: 0, value: 2, generic: 3 }
-
oid: st4BranchStatus
value: st4BranchStatus
num_oid: .1.3.6.1.4.1.1718.4.1.7.3.1.2.
descr: Branch {{ $st4OcpLabel }} Status
index: 'st4BranchStatus.{{ $index }}'
state_name: st4BranchStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }
-
oid: st4BranchCurrentStatus
value: st4BranchCurrentStatus
num_oid: .1.3.6.1.4.1.1718.4.1.7.3.1.4.
descr: Branch Current {{ $st4OcpLabel }} Status
index: 'st4BranchCurrentStatus.{{ $index }}'
state_name: st4BranchCurrentStatus
states:
- { descr: normal, graph: 1, value: 0, generic: 0 }
- { descr: disabled, graph: 1, value: 1, generic: 3 }
- { descr: purged, graph: 1, value: 2, generic: 2 }
- { descr: reading, graph: 1, value: 5, generic: 2 }
- { descr: settle, graph: 1, value: 6, generic: 1 }
- { descr: notFound, graph: 1, value: 7, generic: 3 }
- { descr: lost, graph: 1, value: 8, generic: 1 }
- { descr: readError, graph: 1, value: 9, generic: 1 }
- { descr: noComm, graph: 1, value: 10, generic: 1 }
- { descr: pwrError, graph: 1, value: 11, generic: 2 }
- { descr: breakerTripped, graph: 1, value: 12, generic: 2 }
- { descr: fuseBlown, graph: 1, value: 13, generic: 2 }
- { descr: lowAlarm, graph: 1, value: 14, generic: 2 }
- { descr: lowWarning, graph: 1, value: 15, generic: 1 }
- { descr: highWarning, graph: 1, value: 16, generic: 1 }
- { descr: highAlarm, graph: 1, value: 17, generic: 2 }
- { descr: alarm, graph: 1, value: 18, generic: 2 }
- { descr: underLimit, graph: 1, value: 19, generic: 1 }
- { descr: overLimit, graph: 1, value: 20, generic: 1 }
- { descr: nvmFail, graph: 1, value: 21, generic: 2 }
- { descr: profileError, graph: 1, value: 22, generic: 2 }
- { descr: conflict, graph: 1, value: 23, generic: 2 }

View File

@@ -1,34 +0,0 @@
<?php
/**
* sentry4.inc.php
*
* LibreNMS frequency discovery module for Sentry4
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2017 Neil Lathwood
* @author Neil Lathwood <gh+n@laf.io>
*/
foreach ($pre_cache['sentry4_input'] as $index => $data) {
$descr = $data['st4InputCordName'];
$oid = ".1.3.6.1.4.1.1718.4.1.3.3.1.11.$index";
$current = $data['st4InputCordFrequency'];
$divisor = 10;
if ($current >= 0) {
discover_sensor($valid['sensor'], 'frequency', $device, $oid, "st4InputCord.$index", 'sentry4', $descr, $divisor, 1, null, null, null, null, $current);
}
}

View File

@@ -1,33 +0,0 @@
<?php
/**
* sentry4.inc.php
*
* LibreNMS power discovery module for Sentry4
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package LibreNMS
* @link http://librenms.org
* @copyright 2017 Neil Lathwood
* @author Neil Lathwood <gh+n@laf.io>
*/
foreach ($pre_cache['sentry4_input'] as $index => $data) {
$descr = $data['st4InputCordName'];
$oid = ".1.3.6.1.4.1.1718.4.1.3.3.1.3.$index";
$current = $data['st4InputCordActivePower'];
if ($current >= 0) {
discover_sensor($valid['sensor'], 'power', $device, $oid, "st4InputCord.$index", 'sentry4', $descr, 1, 1, null, null, null, null, $current);
}
}

View File

@@ -22,27 +22,33 @@ $oids = trim($oids);
$divisor = '10'; $divisor = '10';
$multiplier = '1'; $multiplier = '1';
if ($oids) { if ($oids) {
$sentry_temp_scale = snmp_get($device, 'st4TempSensorScale.0', '-Ovq', 'Sentry4-MIB');
if ($sentry_temp_scale == 'fahrenheit') {
$user_func = 'convert_to_celsius';
} else {
$user_func = null;
}
echo 'ServerTech Sentry4 Temperature '; echo 'ServerTech Sentry4 Temperature ';
} foreach (explode("\n", $oids) as $data) {
$data = trim($data);
if ($data) {
list($oid, $descr) = explode(' ', $data, 2);
$split_oid = explode('.', $oid);
$index = $split_oid[(count($split_oid) - 1)];
foreach (explode("\n", $oids) as $data) { // Sentry4-MIB::st4TempSensorValue
$data = trim($data); $temperature_oid = '.1.3.6.1.4.1.1718.4.1.9.3.1.1.1.' . $index;
if ($data) { $descr = 'Removable Sensor ' . $index;
list($oid,$descr) = explode(' ', $data, 2); $low_warn_limit = (snmp_get($device, "st4TempSensorLowWarning.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$split_oid = explode('.', $oid); $low_limit = (snmp_get($device, "st4TempSensorLowAlarm.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$index = $split_oid[(count($split_oid) - 1)]; $high_warn_limit = (snmp_get($device, "st4TempSensorHighWarning.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$high_limit = (snmp_get($device, "st4TempSensorHighAlarm.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$current = (snmp_get($device, "$temperature_oid", '-OvqU', 'Sentry4-MIB') / $divisor);
// Sentry4-MIB::st4TempSensorValue if (is_numeric($current) && $current >= 0) {
$temperature_oid = '.1.3.6.1.4.1.1718.4.1.9.3.1.1.1.'.$index; discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $index, 'sentry4', $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $current, 'snmp', null, null, $user_func);
$descr = 'Removable Sensor '.$index; }
$low_warn_limit = (snmp_get($device, "st4TempSensorLowWarning.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$low_limit = (snmp_get($device, "st4TempSensorLowAlarm.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$high_warn_limit = (snmp_get($device, "st4TempSensorHighWarning.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$high_limit = (snmp_get($device, "st4TempSensorHighAlarm.1.$index", '-Ovq', 'Sentry4-MIB') / $divisor);
$current = (snmp_get($device, "$temperature_oid", '-OvqU', 'Sentry4-MIB') / $divisor);
if (is_numeric($current) && $current >= 0) {
discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $index, 'sentry4', $descr, $divisor, $multiplier, $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $current);
} }
} }
} }

View File

@@ -66,10 +66,6 @@ function poll_sensor($device, $class)
require 'includes/polling/sensors/'. $class .'/'. $device['os'] .'.inc.php'; require 'includes/polling/sensors/'. $class .'/'. $device['os'] .'.inc.php';
} }
if (isset($sensor['user_func']) && function_exists($sensor['user_func'])) {
$sensor_value = $sensor['user_func']($sensor_value);
}
if ($class == 'temperature') { if ($class == 'temperature') {
preg_match('/[\d\.\-]+/', $sensor_value, $temp_response); preg_match('/[\d\.\-]+/', $sensor_value, $temp_response);
if (!empty($temp_response[0])) { if (!empty($temp_response[0])) {
@@ -165,6 +161,10 @@ function record_sensor_data($device, $all_sensors)
$sensor_value = ($sensor_value * $sensor['sensor_multiplier']); $sensor_value = ($sensor_value * $sensor['sensor_multiplier']);
} }
if (isset($sensor['user_func']) && function_exists($sensor['user_func'])) {
$sensor_value = $sensor['user_func']($sensor_value);
}
$rrd_name = get_sensor_rrd_name($device, $sensor); $rrd_name = get_sensor_rrd_name($device, $sensor);
$rrd_def = RrdDefinition::make()->addDataset('sensor', 'GAUGE'); $rrd_def = RrdDefinition::make()->addDataset('sensor', 'GAUGE');

View File

@@ -1,5 +1,5 @@
-- --
-- Copyright(C) 2003-2016 Server Technology, Inc. -- Copyright(C) 2003-2017 Server Technology, Inc.
-- --
Sentry4-MIB DEFINITIONS ::= BEGIN Sentry4-MIB DEFINITIONS ::= BEGIN
@@ -12,7 +12,7 @@
sentry4 MODULE-IDENTITY sentry4 MODULE-IDENTITY
LAST-UPDATED "201611182340Z" -- 18 November 2016 LAST-UPDATED "201706151830Z" -- 15 June 2017
ORGANIZATION "Server Technology, Inc." ORGANIZATION "Server Technology, Inc."
CONTACT-INFO CONTACT-INFO
"Server Technology, Inc. "Server Technology, Inc.
@@ -26,6 +26,12 @@
Sentry product family. This includes the PRO1 and PRO2 Sentry product family. This includes the PRO1 and PRO2
series of Smart and Switched Cabinet Distribution Unit (CDU) series of Smart and Switched Cabinet Distribution Unit (CDU)
and Power Distribution Unit (PDU) products." and Power Distribution Unit (PDU) products."
REVISION "201706151830Z" -- 15 June 2017
DESCRIPTION
"Added support for fan sensors, including objects for installed
count, identification, speed and status monitoring, threshold
and hysteresis configuration, and a notification for events.
Added the st4UnitOutletDisplayOrder object."
REVISION "201611182340Z" -- 18 November 2016 REVISION "201611182340Z" -- 18 November 2016
DESCRIPTION DESCRIPTION
"Added the st4UnitProductMfrDate object. Adjusted the upper "Added the st4UnitProductMfrDate object. Adjusted the upper
@@ -253,12 +259,14 @@
st4UnitProductMfrDate DisplayString, st4UnitProductMfrDate DisplayString,
st4UnitDisplayOrientation INTEGER, st4UnitDisplayOrientation INTEGER,
st4UnitOutletSequenceOrder INTEGER, st4UnitOutletSequenceOrder INTEGER,
st4UnitOutletDisplayOrder INTEGER,
st4UnitInputCordCount Integer32, st4UnitInputCordCount Integer32,
st4UnitTempSensorCount Integer32, st4UnitTempSensorCount Integer32,
st4UnitHumidSensorCount Integer32, st4UnitHumidSensorCount Integer32,
st4UnitWaterSensorCount Integer32, st4UnitWaterSensorCount Integer32,
st4UnitCcSensorCount Integer32, st4UnitCcSensorCount Integer32,
st4UnitAdcSensorCount Integer32 st4UnitAdcSensorCount Integer32,
st4UnitFanSensorCount Integer32
} }
st4UnitIndex OBJECT-TYPE st4UnitIndex OBJECT-TYPE
@@ -340,7 +348,8 @@
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The product manufacture date in YYYY-MM-DD (ISO 8601 format)." "The product manufacture date in YYYY-MM-DD (ISO 8601 format) of
the unit."
::= { st4UnitConfigEntry 9 } ::= { st4UnitConfigEntry 9 }
st4UnitDisplayOrientation OBJECT-TYPE st4UnitDisplayOrientation OBJECT-TYPE
@@ -366,6 +375,18 @@
"The sequencing order of all outlets in the unit." "The sequencing order of all outlets in the unit."
::= { st4UnitConfigEntry 21 } ::= { st4UnitConfigEntry 21 }
st4UnitOutletDisplayOrder OBJECT-TYPE
SYNTAX INTEGER {
normal(0),
reversed(1)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The display order in the user interfaces of all outlets in the
unit."
::= { st4UnitConfigEntry 22 }
st4UnitInputCordCount OBJECT-TYPE st4UnitInputCordCount OBJECT-TYPE
SYNTAX Integer32(0..4) SYNTAX Integer32(0..4)
MAX-ACCESS read-only MAX-ACCESS read-only
@@ -416,6 +437,14 @@
unit." unit."
::= { st4UnitConfigEntry 35 } ::= { st4UnitConfigEntry 35 }
st4UnitFanSensorCount OBJECT-TYPE
SYNTAX Integer32(0..4)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of fan sensors supported by the unit."
::= { st4UnitConfigEntry 36 }
-- Unit Monitor Table -- Unit Monitor Table
st4UnitMonitorTable OBJECT-TYPE st4UnitMonitorTable OBJECT-TYPE
@@ -3415,6 +3444,188 @@
analog-to-digital converter sensor." analog-to-digital converter sensor."
::= { st4AdcSensorEventConfigEntry 5 } ::= { st4AdcSensorEventConfigEntry 5 }
-- Fan Sensors
st4FanSensors OBJECT IDENTIFIER ::= { st4Objects 14 }
-- Fan Sensor Common Configuration
st4FanSensorCommonConfig OBJECT IDENTIFIER ::= { st4FanSensors 1 }
st4FanSensorHysteresis OBJECT-TYPE
SYNTAX Integer32(0..1200)
UNITS "rotations per minute"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The fan speed hysteresis of the sensor in rotations per minute."
::= { st4FanSensorCommonConfig 1 }
-- Fan Sensor Configuration Table
st4FanSensorConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF St4FanSensorConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Fan sensor configuration table."
::= { st4FanSensors 2 }
st4FanSensorConfigEntry OBJECT-TYPE
SYNTAX St4FanSensorConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Configuration objects for a particular fan sensor."
INDEX { st4UnitIndex, st4FanSensorIndex }
::= { st4FanSensorConfigTable 1 }
St4FanSensorConfigEntry ::= SEQUENCE {
st4FanSensorIndex Integer32,
st4FanSensorID DisplayString,
st4FanSensorName DisplayString
}
st4FanSensorIndex OBJECT-TYPE
SYNTAX Integer32(0..4)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Fan sensor index."
::= { st4FanSensorConfigEntry 1 }
st4FanSensorID OBJECT-TYPE
SYNTAX DisplayString(SIZE(2))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The internal ID of the fan sensor. Format=AN."
::= { st4FanSensorConfigEntry 2 }
st4FanSensorName OBJECT-TYPE
SYNTAX DisplayString(SIZE(0..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The name of the fan sensor."
::= { st4FanSensorConfigEntry 3 }
-- Fan Sensor Monitor Table
st4FanSensorMonitorTable OBJECT-TYPE
SYNTAX SEQUENCE OF St4FanSensorMonitorEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Fan sensor monitor table."
::= { st4FanSensors 3 }
st4FanSensorMonitorEntry OBJECT-TYPE
SYNTAX St4FanSensorMonitorEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Objects to monitor for a particular fan sensor."
INDEX { st4UnitIndex, st4FanSensorIndex }
::= { st4FanSensorMonitorTable 1 }
St4FanSensorMonitorEntry ::= SEQUENCE {
st4FanSensorValue Integer32,
st4FanSensorStatus DeviceStatus
}
st4FanSensorValue OBJECT-TYPE
SYNTAX Integer32(-1..15300)
UNITS "rotations per minute"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The measured fan speed of the sensor in rotations per minute."
::= { st4FanSensorMonitorEntry 1 }
st4FanSensorStatus OBJECT-TYPE
SYNTAX DeviceStatus
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The status of the fan sensor."
::= { st4FanSensorMonitorEntry 2 }
-- Fan Sensor Event Configuration Table
st4FanSensorEventConfigTable OBJECT-TYPE
SYNTAX SEQUENCE OF St4FanSensorEventConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Fan sensor event configuration table."
::= { st4FanSensors 4 }
st4FanSensorEventConfigEntry OBJECT-TYPE
SYNTAX St4FanSensorEventConfigEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Event configuration objects for a particular fan sensor."
INDEX { st4UnitIndex, st4FanSensorIndex }
::= { st4FanSensorEventConfigTable 1 }
St4FanSensorEventConfigEntry ::= SEQUENCE {
st4FanSensorNotifications EventNotificationMethods,
st4FanSensorLowAlarm Integer32,
st4FanSensorLowWarning Integer32,
st4FanSensorHighWarning Integer32,
st4FanSensorHighAlarm Integer32
}
st4FanSensorNotifications OBJECT-TYPE
SYNTAX EventNotificationMethods
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The notification methods enabled for fan sensor events."
::= { st4FanSensorEventConfigEntry 1 }
st4FanSensorLowAlarm OBJECT-TYPE
SYNTAX Integer32(0..15300)
UNITS "rotations per minute"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The low alarm threshold of the fan sensor in rotations per
minute."
::= { st4FanSensorEventConfigEntry 2 }
st4FanSensorLowWarning OBJECT-TYPE
SYNTAX Integer32(0..15300)
UNITS "rotations per minute"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The low warning threshold of the fan sensor in rotations per
minute."
::= { st4FanSensorEventConfigEntry 3 }
st4FanSensorHighWarning OBJECT-TYPE
SYNTAX Integer32(0..15300)
UNITS "rotations per minute"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The high warning threshold of the fan sensor in rotations per
minute."
::= { st4FanSensorEventConfigEntry 4 }
st4FanSensorHighAlarm OBJECT-TYPE
SYNTAX Integer32(0..15300)
UNITS "rotations per minute"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The high alarm threshold of the fan sensor in rotations per
minute."
::= { st4FanSensorEventConfigEntry 5 }
-- Event Information -- Event Information
st4EventInformation OBJECT IDENTIFIER ::= { st4Objects 99 } st4EventInformation OBJECT IDENTIFIER ::= { st4Objects 99 }
@@ -4076,6 +4287,32 @@
--#STATE UNKNOWN --#STATE UNKNOWN
::= { st4Events 24 } ::= { st4Events 24 }
st4FanSensorEvent NOTIFICATION-TYPE
OBJECTS {
st4SystemLocation,
st4FanSensorID,
st4FanSensorName,
st4FanSensorValue,
st4FanSensorStatus,
st4EventStatusText,
st4EventStatusCondition
}
STATUS current
DESCRIPTION
"Fan sensor event."
--#TYPE "Sentry: Fan Sensor Event."
--#SUMMARY "Status of Fan Sensor '%s' (%s) is '%s'."
--#ARGUMENTS { 2, 1, 4 }
--#SEVERITY CRITICAL
--#GENERIC 6
--#CATEGORY "Error Events"
--#SOURCE_ID "A"
--#TIMEINDEX 255
--#HELP ""
--#HELPTAG 0
--#STATE UNKNOWN
::= { st4Events 25 }
-- Conformance Definitions -- Conformance Definitions
st4Conformance OBJECT IDENTIFIER ::= { sentry4 200 } st4Conformance OBJECT IDENTIFIER ::= { sentry4 200 }
@@ -4115,12 +4352,14 @@
st4UnitProductMfrDate, st4UnitProductMfrDate,
st4UnitDisplayOrientation, st4UnitDisplayOrientation,
st4UnitOutletSequenceOrder, st4UnitOutletSequenceOrder,
st4UnitOutletDisplayOrder,
st4UnitInputCordCount, st4UnitInputCordCount,
st4UnitTempSensorCount, st4UnitTempSensorCount,
st4UnitHumidSensorCount, st4UnitHumidSensorCount,
st4UnitWaterSensorCount, st4UnitWaterSensorCount,
st4UnitCcSensorCount, st4UnitCcSensorCount,
st4UnitAdcSensorCount, st4UnitAdcSensorCount,
st4UnitFanSensorCount,
st4UnitStatus, st4UnitStatus,
st4UnitNotifications st4UnitNotifications
} }
@@ -4415,6 +4654,24 @@
"Analog-to-digital converter sensor objects group." "Analog-to-digital converter sensor objects group."
::= { st4Groups 13 } ::= { st4Groups 13 }
st4FanSensorObjectsGroup OBJECT-GROUP
OBJECTS {
st4FanSensorHysteresis,
st4FanSensorID,
st4FanSensorName,
st4FanSensorValue,
st4FanSensorStatus,
st4FanSensorNotifications,
st4FanSensorLowAlarm,
st4FanSensorLowWarning,
st4FanSensorHighWarning,
st4FanSensorHighAlarm
}
STATUS current
DESCRIPTION
"Fan sensor objects group."
::= { st4Groups 14 }
st4EventInfoObjectsGroup OBJECT-GROUP st4EventInfoObjectsGroup OBJECT-GROUP
OBJECTS { OBJECTS {
st4EventStatusText, st4EventStatusText,
@@ -4450,7 +4707,8 @@
st4HumidSensorEvent, st4HumidSensorEvent,
st4WaterSensorStatusEvent, st4WaterSensorStatusEvent,
st4CcSensorStatusEvent, st4CcSensorStatusEvent,
st4AdcSensorEvent st4AdcSensorEvent,
st4FanSensorEvent
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
@@ -4505,6 +4763,9 @@
GROUP st4AdcSensorObjectsGroup GROUP st4AdcSensorObjectsGroup
DESCRIPTION DESCRIPTION
"Analog-to-digital converter sensor objects group." "Analog-to-digital converter sensor objects group."
GROUP st4FanSensorObjectsGroup
DESCRIPTION
"Fan sensor objects group."
GROUP st4EventInfoObjectsGroup GROUP st4EventInfoObjectsGroup
DESCRIPTION DESCRIPTION
"Event information objects group." "Event information objects group."

3308
tests/data/sentry4.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,122 @@
1.3.6.1.2.1.1.1.0|4|Sentry Smart PDU
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.1718.4
1.3.6.1.2.1.1.3.0|67|2254567
1.3.6.1.2.1.1.4.0|4|<private>
1.3.6.1.2.1.1.5.0|4|<private>
1.3.6.1.2.1.1.6.0|4|<private>
1.3.6.1.4.1.1718.4.1.2.3.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.2.1.2.1.1|4|AA
1.3.6.1.4.1.1718.4.1.3.2.1.3.1.1|4|Master_Cord_A
1.3.6.1.4.1.1718.4.1.3.2.1.6.1.1|4|L15-30P
1.3.6.1.4.1.1718.4.1.3.2.1.7.1.1|2|2080
1.3.6.1.4.1.1718.4.1.3.2.1.8.1.1|2|200
1.3.6.1.4.1.1718.4.1.3.2.1.9.1.1|2|240
1.3.6.1.4.1.1718.4.1.3.2.1.10.1.1|2|30
1.3.6.1.4.1.1718.4.1.3.2.1.11.1.1|2|30
1.3.6.1.4.1.1718.4.1.3.2.1.12.1.1|2|10807
1.3.6.1.4.1.1718.4.1.3.2.1.20.1.1|2|3
1.3.6.1.4.1.1718.4.1.3.2.1.21.1.1|2|3
1.3.6.1.4.1.1718.4.1.3.2.1.22.1.1|2|3
1.3.6.1.4.1.1718.4.1.3.2.1.23.1.1|2|3
1.3.6.1.4.1.1718.4.1.3.2.1.24.1.1|2|36
1.3.6.1.4.1.1718.4.1.3.3.1.1.1.1|2|1
1.3.6.1.4.1.1718.4.1.3.3.1.2.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.3.1.3.1.1|2|1701
1.3.6.1.4.1.1718.4.1.3.3.1.4.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.3.1.5.1.1|2|1790
1.3.6.1.4.1.1718.4.1.3.3.1.6.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.3.1.7.1.1|2|165
1.3.6.1.4.1.1718.4.1.3.3.1.8.1.1|2|95
1.3.6.1.4.1.1718.4.1.3.3.1.9.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.3.1.10.1.1|2|8937
1.3.6.1.4.1.1718.4.1.3.3.1.11.1.1|2|600
1.3.6.1.4.1.1718.4.1.3.3.1.12.1.1|2|26
1.3.6.1.4.1.1718.4.1.3.3.1.13.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.4.1.1.1.1|4|C0 0 1
1.3.6.1.4.1.1718.4.1.3.4.1.2.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.4.1.3.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.4.1.4.1.1|2|7565
1.3.6.1.4.1.1718.4.1.3.4.1.5.1.1|2|8646
1.3.6.1.4.1.1718.4.1.3.4.1.6.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.4.1.7.1.1|2|0
1.3.6.1.4.1.1718.4.1.3.4.1.8.1.1|2|7565
1.3.6.1.4.1.1718.4.1.3.4.1.9.1.1|2|8646
1.3.6.1.4.1.1718.4.1.3.4.1.10.1.1|2|30
1.3.6.1.4.1.1718.4.1.3.4.1.11.1.1|2|40
1.3.6.1.4.1.1718.4.1.3.4.1.12.1.1|2|15
1.3.6.1.4.1.1718.4.1.3.4.1.13.1.1|2|20
1.3.6.1.4.1.1718.4.1.4.2.1.4.1.1.1|4|AA:L1
1.3.6.1.4.1.1718.4.1.4.2.1.4.1.1.2|4|AA:L2
1.3.6.1.4.1.1718.4.1.4.2.1.4.1.1.3|4|AA:L3
1.3.6.1.4.1.1718.4.1.4.3.1.1.1.1.1|2|1
1.3.6.1.4.1.1718.4.1.4.3.1.1.1.1.2|2|1
1.3.6.1.4.1.1718.4.1.4.3.1.1.1.1.3|2|1
1.3.6.1.4.1.1718.4.1.4.3.1.2.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.4.3.1.2.1.1.2|2|0
1.3.6.1.4.1.1718.4.1.4.3.1.2.1.1.3|2|0
1.3.6.1.4.1.1718.4.1.4.3.1.3.1.1.1|2|560
1.3.6.1.4.1.1718.4.1.4.3.1.3.1.1.2|2|369
1.3.6.1.4.1.1718.4.1.4.3.1.3.1.1.3|2|560
1.3.6.1.4.1.1718.4.1.5.2.1.4.1.1.1|4|AA:L1-L2
1.3.6.1.4.1.1718.4.1.5.2.1.4.1.1.2|4|AA:L2-L3
1.3.6.1.4.1.1718.4.1.5.2.1.4.1.1.3|4|AA:L3-L1
1.3.6.1.4.1.1718.4.1.5.3.1.1.1.1.1|2|1
1.3.6.1.4.1.1718.4.1.5.3.1.1.1.1.2|2|1
1.3.6.1.4.1.1718.4.1.5.3.1.1.1.1.3|2|1
1.3.6.1.4.1.1718.4.1.5.3.1.2.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.2.1.1.2|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.2.1.1.3|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.3.1.1.1|2|2079
1.3.6.1.4.1.1718.4.1.5.3.1.3.1.1.2|2|2089
1.3.6.1.4.1.1718.4.1.5.3.1.3.1.1.3|2|2094
1.3.6.1.4.1.1718.4.1.5.3.1.4.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.4.1.1.2|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.4.1.1.3|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.6.1.1.1|2|209
1.3.6.1.4.1.1718.4.1.5.3.1.6.1.1.2|2|222
1.3.6.1.4.1.1718.4.1.5.3.1.6.1.1.3|2|429
1.3.6.1.4.1.1718.4.1.5.3.1.8.1.1.1|2|415
1.3.6.1.4.1.1718.4.1.5.3.1.8.1.1.2|2|444
1.3.6.1.4.1.1718.4.1.5.3.1.8.1.1.3|2|848
1.3.6.1.4.1.1718.4.1.5.3.1.11.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.11.1.1.2|2|0
1.3.6.1.4.1.1718.4.1.5.3.1.11.1.1.3|2|0
1.3.6.1.4.1.1718.4.1.6.2.1.4.1.1.1|4|AA:L1-L2-BR1
1.3.6.1.4.1.1718.4.1.6.2.1.4.1.1.2|4|AA:L2-L3-BR2
1.3.6.1.4.1.1718.4.1.6.2.1.4.1.1.3|4|AA:L3-L1-BR3
1.3.6.1.4.1.1718.4.1.6.3.1.1.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.6.3.1.1.1.1.2|2|0
1.3.6.1.4.1.1718.4.1.6.3.1.1.1.1.3|2|0
1.3.6.1.4.1.1718.4.1.7.2.1.4.1.1.1|4|AA:L1-L2-BR1
1.3.6.1.4.1.1718.4.1.7.2.1.4.1.1.2|4|AA:L2-L3-BR2
1.3.6.1.4.1.1718.4.1.7.2.1.4.1.1.3|4|AA:L3-L1-BR3
1.3.6.1.4.1.1718.4.1.7.3.1.1.1.1.1|2|1
1.3.6.1.4.1.1718.4.1.7.3.1.1.1.1.2|2|1
1.3.6.1.4.1.1718.4.1.7.3.1.1.1.1.3|2|1
1.3.6.1.4.1.1718.4.1.7.3.1.2.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.7.3.1.2.1.1.2|2|0
1.3.6.1.4.1.1718.4.1.7.3.1.2.1.1.3|2|0
1.3.6.1.4.1.1718.4.1.7.3.1.4.1.1.1|2|0
1.3.6.1.4.1.1718.4.1.7.3.1.4.1.1.2|2|0
1.3.6.1.4.1.1718.4.1.7.3.1.4.1.1.3|2|0
1.3.6.1.4.1.1718.4.1.9.3.1.1.1.1|2|-410
1.3.6.1.4.1.1718.4.1.9.3.1.1.1.2|2|-410
1.3.6.1.4.1.1718.4.1.9.4.1.1.1.1|4|C0 0 1
1.3.6.1.4.1.1718.4.1.9.4.1.1.1.2|4|C0 0 1
1.3.6.1.4.1.1718.4.1.9.4.1.2.1.1|2|1
1.3.6.1.4.1.1718.4.1.9.4.1.2.1.2|2|1
1.3.6.1.4.1.1718.4.1.9.4.1.3.1.1|2|5
1.3.6.1.4.1.1718.4.1.9.4.1.3.1.2|2|5
1.3.6.1.4.1.1718.4.1.9.4.1.4.1.1|2|45
1.3.6.1.4.1.1718.4.1.9.4.1.4.1.2|2|45
1.3.6.1.4.1.1718.4.1.9.4.1.5.1.1|2|50
1.3.6.1.4.1.1718.4.1.9.4.1.5.1.2|2|50
1.3.6.1.4.1.1718.4.1.10.2.1.2.1.1|4|A1
1.3.6.1.4.1.1718.4.1.10.2.1.2.1.2|4|A2
1.3.6.1.4.1.1718.4.1.10.2.1.3.1.1|4|Humid_Sensor_A1
1.3.6.1.4.1.1718.4.1.10.2.1.3.1.2|4|Humid_Sensor_A2
1.3.6.1.4.1.1718.4.1.10.3.1.1.1.1|2|-1
1.3.6.1.4.1.1718.4.1.10.3.1.1.1.2|2|-1
1.3.6.1.4.1.1718.4.1.10.3.1.2.1.1|2|7
1.3.6.1.4.1.1718.4.1.10.3.1.2.1.2|2|7
1.3.6.1.6.3.10.2.1.3.0|2|22555