From b9c2f750924597ab4fec2ee6b75cb77b138069d2 Mon Sep 17 00:00:00 2001 From: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com> Date: Sat, 16 May 2020 10:14:46 +0200 Subject: [PATCH] Riedo E3Meter PDU (#11624) * e3meter * display * tests --- includes/definitions/discovery/e3meter.yaml | 81 +++++ includes/definitions/e3meter.yaml | 15 + tests/data/e3meter.json | 360 ++++++++++++++++++++ tests/snmpsim/e3meter.snmprec | 70 ++++ 4 files changed, 526 insertions(+) create mode 100644 includes/definitions/discovery/e3meter.yaml create mode 100644 includes/definitions/e3meter.yaml create mode 100644 tests/data/e3meter.json create mode 100644 tests/snmpsim/e3meter.snmprec diff --git a/includes/definitions/discovery/e3meter.yaml b/includes/definitions/discovery/e3meter.yaml new file mode 100644 index 0000000000..71e2245051 --- /dev/null +++ b/includes/definitions/discovery/e3meter.yaml @@ -0,0 +1,81 @@ +mib: NETTRACK-E3METER-SNMP-MIB +modules: + sensors: + pre-cache: + data: + - oid: + - e3IpmLabel + temperature: + data: + - + oid: e3IpmSensorEntry + value: e3IpmSensorTemperatureCelsius + num_oid: '.1.3.6.1.4.1.21695.1.10.7.3.1.4.{{ $index }}' + descr: 'Temperature {{ $e3IpmSensorVersion }}' + index: '{{ $index }}' + divisor: 10 + skip_values: + - + oid: e3IpmSensorType + op: '!=' + value: '1' + - + oid: e3IpmSensorTemperatureCelsius + op: '=' + value: '0' + frequency: + data: + - + oid: e3IpmMeterEntry + value: e3IpmFrequency + num_oid: '.1.3.6.1.4.1.21695.1.10.7.2.1.10.{{ $index }}' + descr: 'Frequency {{ $e3IpmChannelName }}' + index: '{{ $index }}' + divisor: 1000 + skip_values: + - + oid: e3IpmFrequency + op: '=' + value: '0' + power: + data: + - + oid: e3IpmMeterEntry + value: e3IpmPowerP + num_oid: '.1.3.6.1.4.1.21695.1.10.7.2.1.5.{{ $index }}' + descr: 'Power {{ $e3IpmChannelName }}' + index: '{{ $index }}' + skip_values: + - + oid: e3IpmFrequency + op: '=' + value: '0' + voltage: + data: + - + oid: e3IpmMeterEntry + value: e3IpmUrms + num_oid: '.1.3.6.1.4.1.21695.1.10.7.2.1.8.{{ $index }}' + descr: 'Voltage {{ $e3IpmChannelName }}' + index: '{{ $index }}' + divisor: 1000 + skip_values: + - + oid: e3IpmFrequency + op: '=' + value: '0' + current: + data: + - + oid: e3IpmMeterEntry + value: e3IpmIrms + num_oid: '.1.3.6.1.4.1.21695.1.10.7.2.1.9.{{ $index }}' + descr: 'Current {{ $e3IpmChannelName }}' + index: '{{ $index }}' + divisor: 1000 + skip_values: + - + oid: e3IpmFrequency + op: '=' + value: '0' + diff --git a/includes/definitions/e3meter.yaml b/includes/definitions/e3meter.yaml new file mode 100644 index 0000000000..6ad7c3a3b6 --- /dev/null +++ b/includes/definitions/e3meter.yaml @@ -0,0 +1,15 @@ +os: e3meter +text: 'E3 Meter' +type: power +icon: riedo +mib_dir: + - riedo +over: + - { graph: device_power, text: Power } + - { graph: device_voltage, text: Voltage } + - { graph: device_frequency, text: Frequency } + - { graph: device_temperature, text: Temperature } +discovery: + - + sysObjectID: + - '.1.3.6.1.4.1.21695.1.' diff --git a/tests/data/e3meter.json b/tests/data/e3meter.json new file mode 100644 index 0000000000..1c8071a7fb --- /dev/null +++ b/tests/data/e3meter.json @@ -0,0 +1,360 @@ +{ + "os": { + "discovery": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.21695.1.1290", + "sysDescr": "E3METER IPS 1290 #027676 (H4, F4.8, B4, Re73d936)", + "sysContact": null, + "version": null, + "hardware": null, + "features": null, + "os": "e3meter", + "type": "power", + "serial": null, + "icon": "riedo.png", + "location": null + } + ] + }, + "poller": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.21695.1.1290", + "sysDescr": "E3METER IPS 1290 #027676 (H4, F4.8, B4, Re73d936)", + "sysContact": "", + "version": null, + "hardware": null, + "features": null, + "os": "e3meter", + "type": "power", + "serial": null, + "icon": "riedo.png", + "location": "" + } + ] + } + }, + "sensors": { + "discovery": { + "sensors": [ + { + "sensor_deleted": 0, + "sensor_class": "current", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.21695.1.10.7.2.1.9.0", + "sensor_index": "0", + "sensor_type": "e3meter", + "sensor_descr": "Current L1", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 2.066, + "sensor_limit": null, + "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.4.1.21695.1.10.7.2.1.9.1", + "sensor_index": "1", + "sensor_type": "e3meter", + "sensor_descr": "Current L2", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 0.675, + "sensor_limit": null, + "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.4.1.21695.1.10.7.2.1.9.2", + "sensor_index": "2", + "sensor_type": "e3meter", + "sensor_descr": "Current L3", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 0.323, + "sensor_limit": null, + "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.4.1.21695.1.10.7.2.1.10.0", + "sensor_index": "0", + "sensor_type": "e3meter", + "sensor_descr": "Frequency L1", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 49.999, + "sensor_limit": 52.49895, + "sensor_limit_warn": null, + "sensor_limit_low": 47.49905, + "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.4.1.21695.1.10.7.2.1.10.1", + "sensor_index": "1", + "sensor_type": "e3meter", + "sensor_descr": "Frequency L2", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 49.999, + "sensor_limit": 52.49895, + "sensor_limit_warn": null, + "sensor_limit_low": 47.49905, + "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.4.1.21695.1.10.7.2.1.10.2", + "sensor_index": "2", + "sensor_type": "e3meter", + "sensor_descr": "Frequency L3", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 49.954, + "sensor_limit": 52.4517, + "sensor_limit_warn": null, + "sensor_limit_low": 47.4563, + "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.4.1.21695.1.10.7.2.1.5.0", + "sensor_index": "0", + "sensor_type": "e3meter", + "sensor_descr": "Power L1", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 454, + "sensor_limit": null, + "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.4.1.21695.1.10.7.2.1.5.1", + "sensor_index": "1", + "sensor_type": "e3meter", + "sensor_descr": "Power L2", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 154, + "sensor_limit": null, + "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.4.1.21695.1.10.7.2.1.5.2", + "sensor_index": "2", + "sensor_type": "e3meter", + "sensor_descr": "Power L3", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 49, + "sensor_limit": null, + "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": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.21695.1.10.7.3.1.4.0", + "sensor_index": "0", + "sensor_type": "e3meter", + "sensor_descr": "Temperature internal", + "group": null, + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 20.9, + "sensor_limit": 40.9, + "sensor_limit_warn": null, + "sensor_limit_low": 10.9, + "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.4.1.21695.1.10.7.2.1.8.0", + "sensor_index": "0", + "sensor_type": "e3meter", + "sensor_descr": "Voltage L1", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 229.876, + "sensor_limit": 264.3574, + "sensor_limit_warn": null, + "sensor_limit_low": 195.3946, + "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.4.1.21695.1.10.7.2.1.8.1", + "sensor_index": "1", + "sensor_type": "e3meter", + "sensor_descr": "Voltage L2", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 229.333, + "sensor_limit": 263.73295, + "sensor_limit_warn": null, + "sensor_limit_low": 194.93305, + "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.4.1.21695.1.10.7.2.1.8.2", + "sensor_index": "2", + "sensor_type": "e3meter", + "sensor_descr": "Voltage L3", + "group": null, + "sensor_divisor": 1000, + "sensor_multiplier": 1, + "sensor_current": 229.507, + "sensor_limit": 263.93305, + "sensor_limit_warn": null, + "sensor_limit_low": 195.08095, + "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/e3meter.snmprec b/tests/snmpsim/e3meter.snmprec new file mode 100644 index 0000000000..6bf8eeb11e --- /dev/null +++ b/tests/snmpsim/e3meter.snmprec @@ -0,0 +1,70 @@ +1.3.6.1.2.1.1.1.0|4|E3METER IPS 1290 #027676 (H4, F4.8, B4, Re73d936) +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.21695.1.1290 +1.3.6.1.2.1.1.3.0|67|26741286 +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.4.1.21695.1.10.7.1.1|2|27676 +1.3.6.1.4.1.21695.1.10.7.2.1.1.0|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.1.1|2|1 +1.3.6.1.4.1.21695.1.10.7.2.1.1.2|2|2 +1.3.6.1.4.1.21695.1.10.7.2.1.1.3|2|3 +1.3.6.1.4.1.21695.1.10.7.2.1.2.0|2|336317 +1.3.6.1.4.1.21695.1.10.7.2.1.2.1|2|16090 +1.3.6.1.4.1.21695.1.10.7.2.1.2.2|2|89074 +1.3.6.1.4.1.21695.1.10.7.2.1.2.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.3.0|2|-186732 +1.3.6.1.4.1.21695.1.10.7.2.1.3.1|2|-2259 +1.3.6.1.4.1.21695.1.10.7.2.1.3.2|2|-98148 +1.3.6.1.4.1.21695.1.10.7.2.1.3.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.4.0|2|392279 +1.3.6.1.4.1.21695.1.10.7.2.1.4.1|2|16225 +1.3.6.1.4.1.21695.1.10.7.2.1.4.2|2|135690 +1.3.6.1.4.1.21695.1.10.7.2.1.4.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.5.0|2|454 +1.3.6.1.4.1.21695.1.10.7.2.1.5.1|2|154 +1.3.6.1.4.1.21695.1.10.7.2.1.5.2|2|49 +1.3.6.1.4.1.21695.1.10.7.2.1.5.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.6.0|2|-136 +1.3.6.1.4.1.21695.1.10.7.2.1.6.1|2|-22 +1.3.6.1.4.1.21695.1.10.7.2.1.6.2|2|-53 +1.3.6.1.4.1.21695.1.10.7.2.1.6.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.7.0|2|469 +1.3.6.1.4.1.21695.1.10.7.2.1.7.1|2|156 +1.3.6.1.4.1.21695.1.10.7.2.1.7.2|2|74 +1.3.6.1.4.1.21695.1.10.7.2.1.7.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.8.0|2|229876 +1.3.6.1.4.1.21695.1.10.7.2.1.8.1|2|229333 +1.3.6.1.4.1.21695.1.10.7.2.1.8.2|2|229507 +1.3.6.1.4.1.21695.1.10.7.2.1.8.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.9.0|2|2066 +1.3.6.1.4.1.21695.1.10.7.2.1.9.1|2|675 +1.3.6.1.4.1.21695.1.10.7.2.1.9.2|2|323 +1.3.6.1.4.1.21695.1.10.7.2.1.9.3|2|1393 +1.3.6.1.4.1.21695.1.10.7.2.1.10.0|2|49999 +1.3.6.1.4.1.21695.1.10.7.2.1.10.1|2|49999 +1.3.6.1.4.1.21695.1.10.7.2.1.10.2|2|49954 +1.3.6.1.4.1.21695.1.10.7.2.1.10.3|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.11.0|4|L1 +1.3.6.1.4.1.21695.1.10.7.2.1.11.1|4|L2 +1.3.6.1.4.1.21695.1.10.7.2.1.11.2|4|L3 +1.3.6.1.4.1.21695.1.10.7.2.1.11.3|4|N +1.3.6.1.4.1.21695.1.10.7.2.1.12.0|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.12.1|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.12.2|2|0 +1.3.6.1.4.1.21695.1.10.7.2.1.12.3|2|1 +1.3.6.1.4.1.21695.1.10.7.3.1.1.0|2|0 +1.3.6.1.4.1.21695.1.10.7.3.1.1.1|2|1 +1.3.6.1.4.1.21695.1.10.7.3.1.1.2|2|2 +1.3.6.1.4.1.21695.1.10.7.3.1.2.0|2|1 +1.3.6.1.4.1.21695.1.10.7.3.1.2.1|2|0 +1.3.6.1.4.1.21695.1.10.7.3.1.2.2|2|0 +1.3.6.1.4.1.21695.1.10.7.3.1.3.0|4|internal +1.3.6.1.4.1.21695.1.10.7.3.1.3.1|4|none +1.3.6.1.4.1.21695.1.10.7.3.1.3.2|4|none +1.3.6.1.4.1.21695.1.10.7.3.1.4.0|2|209 +1.3.6.1.4.1.21695.1.10.7.3.1.4.1|2|0 +1.3.6.1.4.1.21695.1.10.7.3.1.4.2|2|0 +1.3.6.1.4.1.21695.1.10.7.3.1.5.0|2|0 +1.3.6.1.4.1.21695.1.10.7.3.1.5.1|2|0 +1.3.6.1.4.1.21695.1.10.7.3.1.5.2|2|0