From d69810b3c3286bfaa3642142a13bc27c99fbca87 Mon Sep 17 00:00:00 2001 From: martinberg Date: Mon, 18 Oct 2021 10:35:30 +0200 Subject: [PATCH] Add support for NTI Enviromux (#13373) * Updated mib * Add support for IOS/IOSXE PoE stats * Added testdata * Better titles for Power-tab in Health * Added low_limit for iosxe * Basic support for Enviromux devices * Fixes * Revert "Added low_limit for iosxe" This reverts commit 645e3b423a79cca36ec8da9d77dfefe881b5a14f. * Removed commits from wrong branch * Removed limits due to not working, need php * Added testdata * Update nti.svg Co-authored-by: Jellyfrog --- html/images/os/nti.svg | 4 + includes/definitions/discovery/nti.yaml | 31 ++ includes/definitions/nti.yaml | 12 + mibs/nti/ENVIROMUX-1W-MIB | 534 ++++++++++++++++++++++++ tests/data/nti_e1w.json | 127 ++++++ tests/snmpsim/nti_e1w.snmprec | 125 ++++++ 6 files changed, 833 insertions(+) create mode 100644 html/images/os/nti.svg create mode 100644 includes/definitions/discovery/nti.yaml create mode 100644 includes/definitions/nti.yaml create mode 100644 mibs/nti/ENVIROMUX-1W-MIB create mode 100644 tests/data/nti_e1w.json create mode 100644 tests/snmpsim/nti_e1w.snmprec diff --git a/html/images/os/nti.svg b/html/images/os/nti.svg new file mode 100644 index 0000000000..400af137db --- /dev/null +++ b/html/images/os/nti.svg @@ -0,0 +1,4 @@ + + + + diff --git a/includes/definitions/discovery/nti.yaml b/includes/definitions/discovery/nti.yaml new file mode 100644 index 0000000000..c72d021c1b --- /dev/null +++ b/includes/definitions/discovery/nti.yaml @@ -0,0 +1,31 @@ +mib: ENVIROMUX-1W-MIB +modules: + sensors: + temperature: + data: + - + oid: extSensorTable + value: extSensorValue + num_oid: '.1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.{{ $index }}' + index: 'extSensorValue.{{ $index }}' + descr: "{{ $extSensorDescription }}" + divisor: 10 + skip_values: + - + oid: extSensorType + op: 'not_in_array' + value: ['1', '24'] + humidity: + data: + - + oid: extSensorTable + value: extSensorValue + num_oid: '.1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.{{ $index }}' + index: 'extSensorValue.{{ $index }}' + descr: "{{ $extSensorDescription }}" + divisor: 10 + skip_values: + - + oid: extSensorType + op: 'not_in_array' + value: ['2'] diff --git a/includes/definitions/nti.yaml b/includes/definitions/nti.yaml new file mode 100644 index 0000000000..831bf5c507 --- /dev/null +++ b/includes/definitions/nti.yaml @@ -0,0 +1,12 @@ +os: nti +text: 'NTI' +type: environment +icon: nti +over: + - { graph: device_bits, text: 'Device Traffic' } + - { graph: device_processor, text: 'CPU Usage' } + - { graph: device_mempool, text: 'Memory Usage' } +discovery: + - sysObjectID: + - .1.3.6.1.4.1.3699.1.1.12 +mib_dir: nti diff --git a/mibs/nti/ENVIROMUX-1W-MIB b/mibs/nti/ENVIROMUX-1W-MIB new file mode 100644 index 0000000000..06bc5451f8 --- /dev/null +++ b/mibs/nti/ENVIROMUX-1W-MIB @@ -0,0 +1,534 @@ +ENVIROMUX-1W-MIB DEFINITIONS ::= BEGIN +IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, + enterprises, + Integer32 FROM SNMPv2-SMI + DisplayString FROM SNMPv2-TC; + +enviromux1W MODULE-IDENTITY + LAST-UPDATED "202012110200Z" + ORGANIZATION "Network Technologies Inc." + CONTACT-INFO + "Network Technologies Inc. + + Postal: 1275 Danner Dr, + Aurora, OH 442022 + US + + Tel: 330-562-7070 + Fax: 330-562-1999 + + WEB: www.networktechinc.com" + + DESCRIPTION + "E-1W MIB file." + REVISION "202012110200Z" + DESCRIPTION "Rev. 1.02 - Updated Digital Input 2 SNMP Trap ID" + REVISION "202008181400Z" + DESCRIPTION "Rev. 1.01 - Adding extended external sensor trap OIDs" + REVISION "201602031400Z" + DESCRIPTION "Rev. 1.00 - Initial version" + ::= { hardware 12 } + +-- the root of the subtree for Network Technologies Inc +nti OBJECT IDENTIFIER ::= { enterprises 3699 } + +-- subtree for products +products OBJECT IDENTIFIER ::= { nti 1 } +hardware OBJECT IDENTIFIER ::= { products 1 } +software OBJECT IDENTIFIER ::= { products 2 } +otherProduct OBJECT IDENTIFIER ::= { hardware 200 } + +-- e-1w subtree +masterUnit OBJECT IDENTIFIER ::= { enviromux1W 1 } +extSensors OBJECT IDENTIFIER ::= { masterUnit 2 } +digInputs OBJECT IDENTIFIER ::= { masterUnit 3 } +ipDevices OBJECT IDENTIFIER ::= { masterUnit 4 } +eAlerts OBJECT IDENTIFIER ::= { masterUnit 5 } +smAlerts OBJECT IDENTIFIER ::= { masterUnit 6 } +enviromux1WTraps OBJECT IDENTIFIER ::= { enviromux1W 100 } + +-- external sensors description + +extSensorTable OBJECT-TYPE + SYNTAX SEQUENCE OF ExtSensorEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Table of external Sensors entries" + ::= { extSensors 1 } + +extSensorEntry OBJECT-TYPE + SYNTAX ExtSensorEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "An external sensor entry" + INDEX { extSensorIndex } + ::= { extSensorTable 1 } + +ExtSensorEntry ::= + SEQUENCE { + extSensorIndex + Integer32, + extSensorType + INTEGER, + extSensorDescription + DisplayString, + extSensorValue + INTEGER, + extSensorUnit + Integer32 + } + +extSensorIndex OBJECT-TYPE + SYNTAX Integer32 (1..6) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "The index of the external sensor entry 1..6" + ::= { extSensorEntry 1 } + +extSensorType OBJECT-TYPE + SYNTAX INTEGER { undefined(0), temperature(1), humidity(2), dewPoint(24) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Sensor Type" + ::= { extSensorEntry 2 } + +extSensorDescription OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Sensor Description" + ::= { extSensorEntry 3 } + +extSensorValue OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The value of the external sensor reading. For temperature, voltage, current or low voltage, it is presented in tenths of degrees/volts" + ::= { extSensorEntry 4 } + +extSensorUnit OBJECT-TYPE + SYNTAX Integer32 (0..1) + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The measuremnet unit for this sensor in numeric format. It is important only for temperature" + ::= { extSensorEntry 5 } + +-- digital inputs description + +digInputTable OBJECT-TYPE + SYNTAX SEQUENCE OF DigInputEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Table of digital input entries" + ::= { digInputs 1 } + +digInputEntry OBJECT-TYPE + SYNTAX DigInputEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A digital input entry" + INDEX { digInputIndex } + ::= { digInputTable 1 } + +DigInputEntry ::= + SEQUENCE { + digInputIndex + Integer32, + digInputDescription + DisplayString, + digInputValue + INTEGER + } + +digInputIndex OBJECT-TYPE + SYNTAX Integer32 (1..2) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "The index of the digital input entry 1..2" + ::= { digInputEntry 1 } + +digInputDescription OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Sensor Description" + ::= { digInputEntry 2 } + +digInputValue OBJECT-TYPE + SYNTAX INTEGER { closed(0), open(1) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The value of the digital reading" + ::= { digInputEntry 3 } + +-- ip devices description + +ipDeviceTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpDeviceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Table of digital input entries" + ::= { ipDevices 1 } + +ipDeviceEntry OBJECT-TYPE + SYNTAX IpDeviceEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A digital input entry" + INDEX { ipDeviceIndex } + ::= { ipDeviceTable 1 } + +IpDeviceEntry ::= + SEQUENCE { + ipDeviceIndex + Integer32, + ipDeviceDescription + DisplayString, + ipDeviceValue + INTEGER + } + +ipDeviceIndex OBJECT-TYPE + SYNTAX Integer32 (1..4) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "The index of the ip device entry 1..4" + ::= { ipDeviceEntry 1 } + +ipDeviceDescription OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Sensor Description" + ::= { ipDeviceEntry 2 } + +ipDeviceValue OBJECT-TYPE + SYNTAX INTEGER { notResponding(0), responding(1) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The result of the ip device ping test" + ::= { ipDeviceEntry 3 } + +-- alerts description + +alertTable OBJECT-TYPE + SYNTAX SEQUENCE OF AlertEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Table of alert entries" + ::= { eAlerts 1 } + +alertEntry OBJECT-TYPE + SYNTAX AlertEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "An alert entry" + INDEX { alertIndex } + ::= { alertTable 1 } + +AlertEntry ::= + SEQUENCE { + alertIndex + Integer32, + alertEnabled + Integer32, + alertSensor + DisplayString, + alertSensorValue + INTEGER, + alertThreshold + INTEGER, + alertThresholdType + INTEGER, + alertStatus + INTEGER + } + +alertIndex OBJECT-TYPE + SYNTAX Integer32 (1..32) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "The index of the alert entry 1..32" + ::= { alertEntry 1 } + +alertEnabled OBJECT-TYPE + SYNTAX INTEGER { false(0), true(1)} + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Shows if alert is enabled 0..1" + ::= { alertEntry 2 } + +alertSensor OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Alert Sensor Description" + ::= { alertEntry 3 } + +alertSensorValue OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The value of the sensor for analog sensors or open/closed for digital inputs" + ::= { alertEntry 4 } + +alertThreshold OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The value of the alert threshold for analog sensors, irrelevant for alerts for digital inputs" + ::= { alertEntry 5 } + +alertThresholdType OBJECT-TYPE + SYNTAX INTEGER { lessThan(0), greaterThan(1) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The type of the alert threshold for analog sensors, irrelevant for alerts for digital inputs" + ::= { alertEntry 6 } + +alertStatus OBJECT-TYPE + SYNTAX INTEGER { normal(0), enteringCritical(1), critical(2), exitingCritical(3), waitingAckDismiss(4), acknowledged(5), dismissed(6), disconnected(7) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The current status of the alert" + ::= { alertEntry 7 } + +-- smart alerts description + +smAlertTable OBJECT-TYPE + SYNTAX SEQUENCE OF SmAlertEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "Table of alert entries" + ::= { smAlerts 1 } + +smAlertEntry OBJECT-TYPE + SYNTAX SmAlertEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "A smart alert entry" + INDEX { smAlertIndex } + ::= { smAlertTable 1 } + +SmAlertEntry ::= + SEQUENCE { + smAlertIndex + Integer32, + smAlertEnabled + Integer32, + smAlertStatus + INTEGER + } + +smAlertIndex OBJECT-TYPE + SYNTAX Integer32 (1..1) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION "The index of the alert entry (only one)" + ::= { smAlertEntry 1 } + +smAlertEnabled OBJECT-TYPE + SYNTAX INTEGER { false(0), true(1)} + MAX-ACCESS read-only + STATUS current + DESCRIPTION "Shows if alert is enabled 0..1" + ::= { smAlertEntry 2 } + +smAlertStatus OBJECT-TYPE + SYNTAX INTEGER { normal(0), enteringCritical(1), critical(2), exitingCritical(3), waitingAckDismiss(4), acknowledged(5), dismissed(6), disconnected(7) } + MAX-ACCESS read-only + STATUS current + DESCRIPTION "The current status of the alert" + ::= { smAlertEntry 3 } + + +-- Trap Definitions + +extSensorsTraps OBJECT IDENTIFIER ::= { enviromux1WTraps 2 } +digitalInputsTraps OBJECT IDENTIFIER ::= { enviromux1WTraps 3 } +ipDevicesTraps OBJECT IDENTIFIER ::= { enviromux1WTraps 4 } + + +extSensor1Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 1 has a notification to send" + ::= {extSensorsTraps 1 } + +extSensor2Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 2 has a notification to send" + ::= {extSensorsTraps 2 } + +extSensor3Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 3 has a notification to send" + ::= {extSensorsTraps 3 } + +extSensor4Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 4 has a notification to send" + ::= {extSensorsTraps 4 } + +extSensor5Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 5 has a notification to send" + ::= {extSensorsTraps 5 } + +extSensor6Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 6 } + +extSensor7Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 7 } + +extSensor8Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 8 } + +extSensor9Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 9 } + +extSensor10Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 10 } + +extSensor11Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 11 } + +extSensor12Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 12 } + +extSensor13Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 13 } + +extSensor14Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 14 } + +extSensor15Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 15 } + +extSensor16Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 16 } + +extSensor17Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 17 } + +extSensor18Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 18 } + +extSensor19Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 19 } + +extSensor20Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 20 } + +extSensor21Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 21 } + +extSensor22Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 22 } + +extSensor23Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 23 } + +extSensor24Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, extSensorValue, extSensorUnit } + STATUS current + DESCRIPTION "Trap issued when external sensor 6 has a notification to send" + ::= {extSensorsTraps 24 } + +digInput1Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, digInputValue } + STATUS current + DESCRIPTION "Trap issued when digital input 1 has a notification to send" + ::= {digitalInputsTraps 1 } + +digInput2Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, digInputValue } + STATUS current + DESCRIPTION "Trap issued when digital input 2 has a notification to send" + ::= {digitalInputsTraps 2 } + +ipDevice1Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, ipDeviceValue } + STATUS current + DESCRIPTION "Trap issued when IP device 1 has a notification to send" + ::= {ipDevicesTraps 1 } + +ipDevice2Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, ipDeviceValue } + STATUS current + DESCRIPTION "Trap issued when IP device 2 has a notification to send" + ::= {ipDevicesTraps 2 } + +ipDevice3Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, ipDeviceValue } + STATUS current + DESCRIPTION "Trap issued when IP device 3 has a notification to send" + ::= {ipDevicesTraps 3 } + +ipDevice4Trap NOTIFICATION-TYPE + OBJECTS { alertStatus, ipDeviceValue } + STATUS current + DESCRIPTION "Trap issued when IP device 4 has a notification to send" + ::= {ipDevicesTraps 4 } + + +END diff --git a/tests/data/nti_e1w.json b/tests/data/nti_e1w.json new file mode 100644 index 0000000000..e3891bfbef --- /dev/null +++ b/tests/data/nti_e1w.json @@ -0,0 +1,127 @@ +{ + "os": { + "discovery": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.3699.1.1.12", + "sysDescr": "ENVIROMUX-MICRO", + "sysContact": "", + "version": null, + "hardware": null, + "features": null, + "os": "nti", + "type": "environment", + "serial": null, + "icon": "nti.svg", + "location": null + } + ] + }, + "poller": "matches discovery" + }, + "sensors": { + "discovery": { + "sensors": [ + { + "sensor_deleted": 0, + "sensor_class": "humidity", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.2", + "sensor_index": "extSensorValue.2", + "sensor_type": "nti", + "sensor_descr": "Luftfuktighet Skrivbord", + "group": null, + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 21.9, + "sensor_limit": 70, + "sensor_limit_warn": null, + "sensor_limit_low": 30, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.1", + "sensor_index": "extSensorValue.1", + "sensor_type": "nti", + "sensor_descr": "Temp Skrivbord", + "group": null, + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 20.6, + "sensor_limit": 40.6, + "sensor_limit_warn": null, + "sensor_limit_low": 10.6, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.3", + "sensor_index": "extSensorValue.3", + "sensor_type": "nti", + "sensor_descr": "Daggpunkt Skrivbord", + "group": null, + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": -1.8, + "sensor_limit": 18.2, + "sensor_limit_warn": null, + "sensor_limit_low": -11.8, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.4", + "sensor_index": "extSensorValue.4", + "sensor_type": "nti", + "sensor_descr": "Extra Temp Skrivbord", + "group": null, + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 20.3, + "sensor_limit": 40.3, + "sensor_limit_warn": null, + "sensor_limit_low": 10.3, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + } + ], + "state_indexes": [] + }, + "poller": "matches discovery" + } +} diff --git a/tests/snmpsim/nti_e1w.snmprec b/tests/snmpsim/nti_e1w.snmprec new file mode 100644 index 0000000000..407d980527 --- /dev/null +++ b/tests/snmpsim/nti_e1w.snmprec @@ -0,0 +1,125 @@ +1.3.6.1.2.1.1.1.0|4|ENVIROMUX-MICRO +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.3699.1.1.12 +1.3.6.1.2.1.1.3.0|67|49677900 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.1|2|1 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.2|2|2 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.3|2|3 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.4|2|4 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.5|2|5 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.6|2|6 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.7|2|7 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.8|2|8 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.9|2|9 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.10|2|10 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.11|2|11 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.12|2|12 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.13|2|13 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.14|2|14 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.15|2|15 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.16|2|16 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.17|2|17 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.18|2|18 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.19|2|19 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.20|2|20 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.21|2|21 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.22|2|22 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.23|2|23 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.1.24|2|24 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.1|2|1 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.2|2|2 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.3|2|24 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.4|2|1 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.5|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.6|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.7|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.8|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.9|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.10|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.11|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.12|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.13|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.14|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.15|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.16|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.17|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.18|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.19|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.20|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.21|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.22|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.23|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.2.24|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.1|4|Temp Skrivbord +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.2|4|Luftfuktighet Skrivbord +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.3|4|Daggpunkt Skrivbord +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.4|4|Extra Temp Skrivbord +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.5|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.6|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.7|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.8|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.9|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.10|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.11|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.12|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.13|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.14|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.15|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.16|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.17|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.18|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.19|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.20|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.21|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.22|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.23|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.3.24|4| +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.1|2|206 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.2|2|219 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.3|2|-18 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.4|2|203 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.5|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.6|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.7|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.8|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.9|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.10|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.11|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.12|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.13|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.14|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.15|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.16|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.17|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.18|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.19|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.20|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.21|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.22|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.23|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.4.24|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.1|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.2|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.3|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.4|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.5|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.6|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.7|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.8|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.9|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.10|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.11|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.12|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.13|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.14|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.15|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.16|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.17|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.18|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.19|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.20|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.21|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.22|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.23|2|0 +1.3.6.1.4.1.3699.1.1.12.1.2.1.1.5.24|2|0