device: Update hwg-ste and add hwg-ste-plus support (#7610)

* update hwg-ste and add hwg-ste-plus support

* remove humidity graph over
This commit is contained in:
tomarch
2017-11-04 22:18:02 +01:00
committed by Neil Lathwood
parent 54b476c769
commit 100995294e
5 changed files with 158 additions and 74 deletions

View File

@@ -0,0 +1,50 @@
mib: STE-MIB
modules:
sensors:
temperature:
data:
-
oid: sensTable
value: sensValue
num_oid: .1.3.6.1.4.1.21796.4.1.3.1.5.
divisor: 10
descr: sensName
index: 'sensTable.{{ $index }}'
state:
data:
-
oid: inpTable
value: inpValue
num_oid: .1.3.6.1.4.1.21796.4.1.1.1.2.
descr: inpName
index: 'inpValue.{{ $index }}'
state_name: inpValue
states:
- { descr: open, graph: 0, value: 0, generic: 0 }
- { descr: closed, graph: 0, value: 1, generic: 2 }
-
oid: inpTable
value: inpAlarmState
num_oid: .1.3.6.1.4.1.21796.4.1.1.1.4.
descr: 'alarm : {{ $inpName }}'
index: 'inpAlarmState.{{ $index }}'
state_name: inpAlarmState
states:
- { descr: normal, graph: 0, value: 0, generic: 0 }
- { descr: alarm, graph: 0, value: 1, generic: 2 }
-
oid: sensTable
value: sensState
num_oid: .1.3.6.1.4.1.21796.4.1.3.1.3.
descr: sensName
index: 'sensState.{{ $index }}'
state_name: sensName
states:
- { descr: invalid, graph: 0, value: 0, generic: 2 }
- { descr: normal, graph: 0, value: 1, generic: 0 }
- { descr: outofrangelo, graph: 0, value: 2, generic: 2 }
- { descr: outofrangehi, graph: 0, value: 3, generic: 2 }
- { descr: alarmlo, graph: 0, value: 4, generic: 2 }
- { descr: alarmhi, graph: 0, value: 5, generic: 2 }

View File

@@ -3,9 +3,38 @@ text: 'HWg STE'
type: environment type: environment
icon: hwg icon: hwg
over: over:
- { graph: device_bits, text: Traffic } - { graph: device_temperature, text: Temperature }
mib_dir: mib_dir:
- hwg - hwg
nobulk: 1
poller_modules:
applications : 0
bgp-peers: 0
ipmi : 0
ospf: 0
stp: 0
netstats: 0
discovery_modules:
applications: 0
arp-table : 0
bgp-peers: 0
cisco-vrf-lite : 0
discovery-protocols : 0
fdb-table : 0
hr-device: 0
ipv4-addresses : 0
ipv6-addresses : 0
mempools : 0
ntp : 0
ports : 0
ports-stack : 0
processors : 0
services: 0
storage : 0
stp: 0
ucd-diskio : 0
vlans : 0
wireless : 0
discovery: discovery:
- sysObjectId: - sysObjectId:
- .1.3.6.1.4.1.21796.4.1 - .1.3.6.1.4.1.21796.4.1

View File

@@ -1,49 +0,0 @@
<?php
/*
* LibreNMS
*
* Copyright (c) 2016 Søren Friis Rosiak <sorenrosiak@gmail.com>
* 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. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
$temp = snmpwalk_cache_multi_oid($device, 'sensTable', array(), 'STE-MIB');
$cur_oid = '.1.3.6.1.4.1.21796.4.1.3.1.5.';
if (is_array($temp)) {
//Create State Index
$state_name = 'sensState';
$state_index_id = create_state_index($state_name);
//Create State Translation
if ($state_index_id !== null) {
$states = array(
array($state_index_id, 'invalid', 0, 0, 3),
array($state_index_id, 'normal', 0, 1, 0),
array($state_index_id, 'alarmstate', 0, 2, 1),
array($state_index_id, 'alarm', 0, 3, 2)
);
foreach ($states as $value) {
$insert = array(
'state_index_id' => $value[0],
'state_descr' => $value[1],
'state_draw_graph' => $value[2],
'state_value' => $value[3],
'state_generic_value' => $value[4]
);
dbInsert($insert, 'state_translations');
}
}
foreach ($temp as $index => $entry) {
$descr = $temp[$index]['sensName'];
//Discover Sensors
discover_sensor($valid['sensor'], 'state', $device, $cur_oid . $index, $index, $state_name, $descr, '1', '1', null, null, null, null, $temp[$index]['sensState'], 'snmp', $index);
//Create Sensor To State Index
create_sensor_to_state_index($device, $state_name, $index);
}
}

View File

@@ -1,20 +0,0 @@
<?php
/*
* LibreNMS
*
* Copyright (c) 2016 Søren Friis Rosiak <sorenrosiak@gmail.com>
* 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. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
$temp = snmpwalk_cache_multi_oid($device, 'sensTable', array(), 'STE-MIB');
$cur_oid = '.1.3.6.1.4.1.21796.4.1.3.1.5.';
if (is_array($temp)) {
foreach ($temp as $index => $entry) {
discover_sensor($valid['sensor'], 'temperature', $device, $cur_oid.$index, $index, 'hwg-ste', $temp[$index]['sensName'], '10', '1', null, null, null, null, $temp[$index]['sensValue'], 'snmp', $index);
}
}

View File

@@ -4,14 +4,14 @@
-- 1.00 08.12.2008 Marek Hummel - Created -- 1.00 08.12.2008 Marek Hummel - Created
-- 1.01 03.08.2009 Marek Hummel - Add SensorID, Change SensorState values -- 1.01 03.08.2009 Marek Hummel - Add SensorID, Change SensorState values
-- 1.02 14.05.2010 Marek Hummel - Fix Syntax -- 1.02 14.05.2010 Marek Hummel - Fix Syntax
-- 1.03 17.07.2013 Marek Hummel - Add Dry Input contac for HWg-STE Plus
-- --
STE-MIB DEFINITIONS ::= BEGIN STE-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
OBJECT-TYPE FROM RFC-1212 OBJECT-TYPE FROM RFC-1212
enterprises FROM RFC1155-SMI enterprises FROM RFC1155-SMI
DisplayString,sysName FROM RFC1213-MIB DisplayString FROM RFC1213-MIB;
TRAP-TYPE FROM RFC-1215;
-- --
-- Type Definitions -- Type Definitions
@@ -26,6 +26,18 @@ UnitType ::= INTEGER {
percent(4) percent(4)
} }
OnOff ::= INTEGER {
off (0),
on (1)
}
InputAlarmState ::= INTEGER {
normal (0),
alarm (1)
}
IOName ::= DisplayString (SIZE (0..16))
SensorState ::= INTEGER { SensorState ::= INTEGER {
invalid (0), invalid (0),
normal (1), normal (1),
@@ -49,7 +61,8 @@ hwgroup OBJECT IDENTIFIER ::= { enterprises 21796 }
x390 OBJECT IDENTIFIER ::= { hwgroup 4 } x390 OBJECT IDENTIFIER ::= { hwgroup 4 }
ste OBJECT IDENTIFIER ::= { x390 1 } ste OBJECT IDENTIFIER ::= { x390 1 }
-- Application Info -- Application Info ------------------------------------------------------------
info OBJECT IDENTIFIER ::= { ste 70 } info OBJECT IDENTIFIER ::= { ste 70 }
infoAddressMAC OBJECT-TYPE infoAddressMAC OBJECT-TYPE
@@ -61,7 +74,67 @@ infoAddressMAC OBJECT-TYPE
It is here to distinguish devices in trap messages." It is here to distinguish devices in trap messages."
::= { info 1 } ::= { info 1 }
-- Table has to be last in a branch to satisfy snmp walk engine implementation -- Input Dry Contacts ----------------------------------------------------------
inpTable OBJECT-TYPE
SYNTAX SEQUENCE OF InpEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of binary input entries."
::= { ste 1 }
inpEntry OBJECT-TYPE
SYNTAX InpEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry containing information applicable
to a particular binary input."
INDEX { inpIndex }
::= { inpTable 1 }
InpEntry ::= SEQUENCE {
inpIndex PositiveInteger,
inpValue OnOff,
inpName IOName,
inpAlarmState InputAlarmState
}
inpIndex OBJECT-TYPE
SYNTAX PositiveInteger
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"The binary input index."
::= { inpEntry 1 }
inpValue OBJECT-TYPE
SYNTAX OnOff
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The binary input value."
::= { inpEntry 2 }
inpName OBJECT-TYPE
SYNTAX IOName
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The binary input name."
::= { inpEntry 3 }
inpAlarmState OBJECT-TYPE
SYNTAX InputAlarmState
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The binary input alarm state."
::= { inpEntry 4 }
-- Sensors ---------------------------------------------------------------------
sensTable OBJECT-TYPE sensTable OBJECT-TYPE
SYNTAX SEQUENCE OF SensEntry SYNTAX SEQUENCE OF SensEntry
ACCESS not-accessible ACCESS not-accessible
@@ -158,3 +231,4 @@ sensID OBJECT-TYPE
::= { sensEntry 8 } ::= { sensEntry 8 }
END END