From 5535768d259d9ed812c8967963506b25bb0b6665 Mon Sep 17 00:00:00 2001 From: TheGreatDoc <32565115+TheGreatDoc@users.noreply.github.com> Date: Mon, 25 Mar 2019 00:48:55 +0100 Subject: [PATCH] New Device: ATS - Automatic Transfer Switch (#9889) * New Device: ATS - Automatic Transfer Switch * Small fixes * Fixed test data * More fixes, again * Moved temp to php to retrieve limits from device * Fixed perms again... * Final test file. Or I hope so... --- html/images/logos/ats.png | Bin 0 -> 2440 bytes html/images/os/ats.png | Bin 0 -> 3120 bytes includes/definitions/ats.yaml | 13 + includes/definitions/discovery/ats.yaml | 104 ++ .../discovery/sensors/temperature/ats.inc.php | 18 + includes/polling/os/ats.inc.php | 3 + mibs/ats/ATS-MIB | 1450 +++++++++++++++++ tests/data/ats.json | 551 +++++++ tests/snmpsim/ats.snmprec | 165 ++ 9 files changed, 2304 insertions(+) create mode 100644 html/images/logos/ats.png create mode 100644 html/images/os/ats.png create mode 100755 includes/definitions/ats.yaml create mode 100755 includes/definitions/discovery/ats.yaml create mode 100644 includes/discovery/sensors/temperature/ats.inc.php create mode 100755 includes/polling/os/ats.inc.php create mode 100644 mibs/ats/ATS-MIB create mode 100644 tests/data/ats.json create mode 100644 tests/snmpsim/ats.snmprec diff --git a/html/images/logos/ats.png b/html/images/logos/ats.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd14bf0c47ffcc1ae74f254b122760d074543c6 GIT binary patch literal 2440 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 KMNUMnLSTXtIoJjO literal 0 HcmV?d00001 diff --git a/includes/definitions/ats.yaml b/includes/definitions/ats.yaml new file mode 100755 index 0000000000..9e2fe01877 --- /dev/null +++ b/includes/definitions/ats.yaml @@ -0,0 +1,13 @@ +os: ats +text: Automatic Transfer Switch +type: power +icon: ats +mib_dir: ats +nobulk: true +over: + - { graph: device_current, text: Current } + - { graph: device_voltage, text: Voltage } + - { graph: device_load, text: Load } +discovery: + - sysObjectID: + - .1.3.6.1.4.1.37662.1.2.2.1 diff --git a/includes/definitions/discovery/ats.yaml b/includes/definitions/discovery/ats.yaml new file mode 100755 index 0000000000..09df5e40a2 --- /dev/null +++ b/includes/definitions/discovery/ats.yaml @@ -0,0 +1,104 @@ +mib: ATS-MIB +modules: + sensors: + pre-cache: + data: + - oid: + - atsMiscellaneousGroupSystemMaxCurrent + - atsInputGroupSourceAvoltageUpperLimit + - atsInputGroupSourceAvoltageLowerLimit + - atsInputGroupSourceBvoltageUpperLimit + - atsInputGroupSourceBvoltageLowerLimit + - atsInputGroupSourceAfrequencyUpperLimit + - atsInputGroupSourceAfrequencyLowerLimit + - atsInputGroupSourceBfrequencyUpperLimit + - atsInputGroupSourceBfrequencyLowerLimit + current: + data: + - + oid: atsOutputGroupOutputCurrent + value: atsOutputGroupOutputCurrent + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.3.4.{{ $index }}' + divisor: 10 + descr: 'Output' + index: 'atsOutputGroupOutputCurrent.{{ $index }}' + high_limit: 'atsMiscellaneousGroupSystemMaxCurrent' + load: + data: + - + oid: atsOutputGroupLoad + value: atsOutputGroupLoad + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.3.5.{{ $index }}' + descr: 'Output' + index: 'atsOutputGroupLoad.{{ $index }}' + high_limit: 100 + voltage: + data: + - + oid: atsInputGroupSourceAinputVoltage + value: atsInputGroupSourceAinputVoltage + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.2.3.{{ $index }}' + descr: 'Input A' + index: 'atsInputGroupSourceAinputVoltage.{{ $index }}' + high_limit: 'atsInputGroupSourceAvoltageUpperLimit' + low_limit: 'atsInputGroupSourceAvoltageLowerLimit' + - + oid: atsInputGroupSourceBinputVoltage + value: atsInputGroupSourceBinputVoltage + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.2.6.{{ $index }}' + descr: 'Input B' + index: 'atsInputGroupSourceBinputVoltage.{{ $index }}' + high_limit: 'atsInputGroupSourceBvoltageUpperLimit' + low_limit: 'atsInputGroupSourceBvoltageLowerLimit' + frequency: + data: + - + oid: atsInputGroupSourceAinputFrequency + value: atsInputGroupSourceAinputFrequency + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.2.4.{{ $index }}' + divisor: 10 + descr: 'Input A' + index: 'atsInputGroupSourceAinputFrequency.{{ $index }}' + high_limit: 'atsInputGroupSourceAfrequencyUpperLimit' + low_limit: 'atsInputGroupSourceAfrequencyLowerLimit' + - + oid: atsInputGroupSourceBinputFrequency + value: atsInputGroupSourceBinputFrequency + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.2.4.{{ $index }}' + divisor: 10 + descr: 'Input B' + index: 'atsInputGroupSourceBinputFrequency.{{ $index }}' + high_limit: 'atsInputGroupSourceBfrequencyUpperLimit' + low_limit: 'atsInputGroupSourceBfrequencyLowerLimit' + state: + data: + - + oid: atsInputGroupSourceAstatus + value: atsInputGroupSourceAstatus + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.2.2.{{ $index }}' + descr: 'Input A' + index: 'atsInputGroupSourceAstatus.{{ $index }}' + state_name: atsInputGroupSourceAstatus + states: + - { descr: Ok, graph: 0, value: 2, generic: 0 } + - { descr: Fail, graph: 0, value: 1, generic: 2 } + - + oid: atsInputGroupSourceBstatus + value: atsInputGroupSourceBstatus + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.2.5.{{ $index }}' + descr: 'Input B' + index: 'atsInputGroupSourceBstatus.{{ $index }}' + state_name: atsInputGroupSourceBstatus + states: + - { descr: Ok, graph: 0, value: 2, generic: 0 } + - { descr: Fail, graph: 0, value: 1, generic: 2 } + - + oid: atsHmiSwitchGroupBuzzer + value: atsHmiSwitchGroupBuzzer + num_oid: '.1.3.6.1.4.1.37662.1.2.2.1.1.4.1.{{ $index }}' + descr: 'Buzzer' + index: 'atsHmiSwitchGroupBuzzer.{{ $index }}' + state_name: atsHmiSwitchGroupBuzzer + states: + - { descr: Disabled, graph: 0, value: 1, generic: 0 } + - { descr: Enabled, graph: 0, value: 2, generic: 0 } diff --git a/includes/discovery/sensors/temperature/ats.inc.php b/includes/discovery/sensors/temperature/ats.inc.php new file mode 100644 index 0000000000..31faedecf3 --- /dev/null +++ b/includes/discovery/sensors/temperature/ats.inc.php @@ -0,0 +1,18 @@ +", + "sysObjectID": ".1.3.6.1.4.1.37662.1.2.2.1", + "sysDescr": "SNMP Smart II Card v1.05 (SN 11230031806015)", + "sysContact": null, + "version": null, + "hardware": null, + "features": null, + "os": "ats", + "type": "power", + "serial": null, + "icon": "ats.png", + "location": null + } + ] + }, + "poller": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.37662.1.2.2.1", + "sysDescr": "SNMP Smart II Card v1.05 (SN 11230031806015)", + "sysContact": "", + "version": null, + "hardware": "ATS11747", + "features": null, + "os": "ats", + "type": "power", + "serial": null, + "icon": "ats.png", + "location": "" + } + ] + } + }, + "ports": { + "discovery": { + "ports": [ + { + "port_descr_type": null, + "port_descr_descr": null, + "port_descr_circuit": null, + "port_descr_speed": null, + "port_descr_notes": null, + "ifDescr": "eth0", + "ifName": "eth0", + "portName": null, + "ifIndex": 1, + "ifSpeed": null, + "ifConnectorPresent": null, + "ifPromiscuousMode": null, + "ifHighSpeed": null, + "ifOperStatus": null, + "ifOperStatus_prev": null, + "ifAdminStatus": null, + "ifAdminStatus_prev": null, + "ifDuplex": null, + "ifMtu": null, + "ifType": "iso88023Csmacd", + "ifAlias": "eth0", + "ifPhysAddress": null, + "ifHardType": null, + "ifLastChange": 0, + "ifVlan": "", + "ifTrunk": null, + "counter_in": null, + "counter_out": null, + "ignore": 0, + "disabled": 0, + "detailed": 0, + "deleted": 0, + "pagpOperationMode": null, + "pagpPortState": null, + "pagpPartnerDeviceId": null, + "pagpPartnerLearnMethod": null, + "pagpPartnerIfIndex": null, + "pagpPartnerGroupIfIndex": null, + "pagpPartnerDeviceName": null, + "pagpEthcOperationMode": null, + "pagpDeviceId": null, + "pagpGroupIfIndex": null, + "ifInUcastPkts": null, + "ifInUcastPkts_prev": null, + "ifInUcastPkts_delta": null, + "ifInUcastPkts_rate": null, + "ifOutUcastPkts": null, + "ifOutUcastPkts_prev": null, + "ifOutUcastPkts_delta": null, + "ifOutUcastPkts_rate": null, + "ifInErrors": null, + "ifInErrors_prev": null, + "ifInErrors_delta": null, + "ifInErrors_rate": null, + "ifOutErrors": null, + "ifOutErrors_prev": null, + "ifOutErrors_delta": null, + "ifOutErrors_rate": null, + "ifInOctets": null, + "ifInOctets_prev": null, + "ifInOctets_delta": null, + "ifInOctets_rate": null, + "ifOutOctets": null, + "ifOutOctets_prev": null, + "ifOutOctets_delta": null, + "ifOutOctets_rate": null, + "poll_prev": null, + "ifInNUcastPkts": null, + "ifInNUcastPkts_prev": null, + "ifInNUcastPkts_delta": null, + "ifInNUcastPkts_rate": null, + "ifOutNUcastPkts": null, + "ifOutNUcastPkts_prev": null, + "ifOutNUcastPkts_delta": null, + "ifOutNUcastPkts_rate": null, + "ifInDiscards": null, + "ifInDiscards_prev": null, + "ifInDiscards_delta": null, + "ifInDiscards_rate": null, + "ifOutDiscards": null, + "ifOutDiscards_prev": null, + "ifOutDiscards_delta": null, + "ifOutDiscards_rate": null, + "ifInUnknownProtos": null, + "ifInUnknownProtos_prev": null, + "ifInUnknownProtos_delta": null, + "ifInUnknownProtos_rate": null, + "ifInBroadcastPkts": null, + "ifInBroadcastPkts_prev": null, + "ifInBroadcastPkts_delta": null, + "ifInBroadcastPkts_rate": null, + "ifOutBroadcastPkts": null, + "ifOutBroadcastPkts_prev": null, + "ifOutBroadcastPkts_delta": null, + "ifOutBroadcastPkts_rate": null, + "ifInMulticastPkts": null, + "ifInMulticastPkts_prev": null, + "ifInMulticastPkts_delta": null, + "ifInMulticastPkts_rate": null, + "ifOutMulticastPkts": null, + "ifOutMulticastPkts_prev": null, + "ifOutMulticastPkts_delta": null, + "ifOutMulticastPkts_rate": null + } + ] + }, + "poller": { + "ports": [ + { + "port_descr_type": null, + "port_descr_descr": null, + "port_descr_circuit": null, + "port_descr_speed": null, + "port_descr_notes": null, + "ifDescr": "eth0", + "ifName": "eth0", + "portName": null, + "ifIndex": 1, + "ifSpeed": 1000000000000, + "ifConnectorPresent": "true", + "ifPromiscuousMode": "true", + "ifHighSpeed": 1000000, + "ifOperStatus": "up", + "ifOperStatus_prev": null, + "ifAdminStatus": "up", + "ifAdminStatus_prev": null, + "ifDuplex": null, + "ifMtu": 1500, + "ifType": "iso88023Csmacd", + "ifAlias": "eth0", + "ifPhysAddress": null, + "ifHardType": null, + "ifLastChange": 0, + "ifVlan": "", + "ifTrunk": null, + "counter_in": null, + "counter_out": null, + "ignore": 0, + "disabled": 0, + "detailed": 0, + "deleted": 0, + "pagpOperationMode": null, + "pagpPortState": null, + "pagpPartnerDeviceId": null, + "pagpPartnerLearnMethod": null, + "pagpPartnerIfIndex": null, + "pagpPartnerGroupIfIndex": null, + "pagpPartnerDeviceName": null, + "pagpEthcOperationMode": null, + "pagpDeviceId": null, + "pagpGroupIfIndex": null, + "ifInUcastPkts": 0, + "ifInUcastPkts_prev": 0, + "ifInUcastPkts_delta": null, + "ifInUcastPkts_rate": null, + "ifOutUcastPkts": 0, + "ifOutUcastPkts_prev": 0, + "ifOutUcastPkts_delta": null, + "ifOutUcastPkts_rate": null, + "ifInErrors": 0, + "ifInErrors_prev": 0, + "ifInErrors_delta": null, + "ifInErrors_rate": null, + "ifOutErrors": 0, + "ifOutErrors_prev": 0, + "ifOutErrors_delta": null, + "ifOutErrors_rate": null, + "ifInOctets": 0, + "ifInOctets_prev": 0, + "ifInOctets_delta": null, + "ifInOctets_rate": null, + "ifOutOctets": 0, + "ifOutOctets_prev": 0, + "ifOutOctets_delta": null, + "ifOutOctets_rate": null, + "poll_prev": null, + "ifInNUcastPkts": 0, + "ifInNUcastPkts_prev": 0, + "ifInNUcastPkts_delta": null, + "ifInNUcastPkts_rate": null, + "ifOutNUcastPkts": 0, + "ifOutNUcastPkts_prev": 0, + "ifOutNUcastPkts_delta": null, + "ifOutNUcastPkts_rate": null, + "ifInDiscards": 0, + "ifInDiscards_prev": 0, + "ifInDiscards_delta": null, + "ifInDiscards_rate": null, + "ifOutDiscards": 0, + "ifOutDiscards_prev": 0, + "ifOutDiscards_delta": null, + "ifOutDiscards_rate": null, + "ifInUnknownProtos": 0, + "ifInUnknownProtos_prev": 0, + "ifInUnknownProtos_delta": null, + "ifInUnknownProtos_rate": null, + "ifInBroadcastPkts": 0, + "ifInBroadcastPkts_prev": 0, + "ifInBroadcastPkts_delta": null, + "ifInBroadcastPkts_rate": null, + "ifOutBroadcastPkts": 0, + "ifOutBroadcastPkts_prev": 0, + "ifOutBroadcastPkts_delta": null, + "ifOutBroadcastPkts_rate": null, + "ifInMulticastPkts": 0, + "ifInMulticastPkts_prev": 0, + "ifInMulticastPkts_delta": null, + "ifInMulticastPkts_rate": null, + "ifOutMulticastPkts": 0, + "ifOutMulticastPkts_prev": 0, + "ifOutMulticastPkts_delta": null, + "ifOutMulticastPkts_rate": null + } + ] + } + }, + "sensors": { + "discovery": { + "sensors": [ + { + "sensor_deleted": 0, + "sensor_class": "current", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.37662.1.2.2.1.1.3.4.0", + "sensor_index": "atsOutputGroupOutputCurrent.0", + "sensor_type": "ats", + "sensor_descr": "Output", + "group": "", + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 0.29999999999999999, + "sensor_limit": 16, + "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.37662.1.2.2.1.1.2.4.0", + "sensor_index": "atsInputGroupSourceAinputFrequency.0", + "sensor_type": "ats", + "sensor_descr": "Input A", + "group": "", + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 50, + "sensor_limit": 55, + "sensor_limit_warn": null, + "sensor_limit_low": 45, + "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.37662.1.2.2.1.1.2.4.0", + "sensor_index": "atsInputGroupSourceBinputFrequency.0", + "sensor_type": "ats", + "sensor_descr": "Input B", + "group": "", + "sensor_divisor": 10, + "sensor_multiplier": 1, + "sensor_current": 50, + "sensor_limit": 55, + "sensor_limit_warn": null, + "sensor_limit_low": 45, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "load", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.37662.1.2.2.1.1.3.5.0", + "sensor_index": "atsOutputGroupLoad.0", + "sensor_type": "ats", + "sensor_descr": "Output", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 0, + "sensor_limit": 100, + "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": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.37662.1.2.2.1.1.4.1.0", + "sensor_index": "atsHmiSwitchGroupBuzzer.0", + "sensor_type": "atsHmiSwitchGroupBuzzer", + "sensor_descr": "Buzzer", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "atsHmiSwitchGroupBuzzer" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.37662.1.2.2.1.1.2.2.0", + "sensor_index": "atsInputGroupSourceAstatus.0", + "sensor_type": "atsInputGroupSourceAstatus", + "sensor_descr": "Input A", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "atsInputGroupSourceAstatus" + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.37662.1.2.2.1.1.2.5.0", + "sensor_index": "atsInputGroupSourceBstatus.0", + "sensor_type": "atsInputGroupSourceBstatus", + "sensor_descr": "Input B", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 2, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": "atsInputGroupSourceBstatus" + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.37662.1.2.2.1.1.5.1.0", + "sensor_index": "atsMiscellaneousGroupAtsSystemTemperture", + "sensor_type": "ats", + "sensor_descr": "System", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 29, + "sensor_limit": 40, + "sensor_limit_warn": 35, + "sensor_limit_low": 5, + "sensor_limit_low_warn": 10, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "voltage", + "poller_type": "snmp", + "sensor_oid": ".1.3.6.1.4.1.37662.1.2.2.1.1.2.3.0", + "sensor_index": "atsInputGroupSourceAinputVoltage.0", + "sensor_type": "ats", + "sensor_descr": "Input A", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 235, + "sensor_limit": 264, + "sensor_limit_warn": null, + "sensor_limit_low": 195, + "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.37662.1.2.2.1.1.2.6.0", + "sensor_index": "atsInputGroupSourceBinputVoltage.0", + "sensor_type": "ats", + "sensor_descr": "Input B", + "group": "", + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 236, + "sensor_limit": 264, + "sensor_limit_warn": null, + "sensor_limit_low": 195, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + } + ], + "state_indexes": [ + { + "state_name": "atsHmiSwitchGroupBuzzer", + "state_descr": "Disabled", + "state_draw_graph": 0, + "state_value": 1, + "state_generic_value": 0 + }, + { + "state_name": "atsHmiSwitchGroupBuzzer", + "state_descr": "Enabled", + "state_draw_graph": 0, + "state_value": 2, + "state_generic_value": 0 + }, + { + "state_name": "atsInputGroupSourceAstatus", + "state_descr": "Fail", + "state_draw_graph": 0, + "state_value": 1, + "state_generic_value": 2 + }, + { + "state_name": "atsInputGroupSourceAstatus", + "state_descr": "Ok", + "state_draw_graph": 0, + "state_value": 2, + "state_generic_value": 0 + }, + { + "state_name": "atsInputGroupSourceBstatus", + "state_descr": "Fail", + "state_draw_graph": 0, + "state_value": 1, + "state_generic_value": 2 + }, + { + "state_name": "atsInputGroupSourceBstatus", + "state_descr": "Ok", + "state_draw_graph": 0, + "state_value": 2, + "state_generic_value": 0 + } + ] + }, + "poller": "matches discovery" + } +} diff --git a/tests/snmpsim/ats.snmprec b/tests/snmpsim/ats.snmprec new file mode 100644 index 0000000000..20eeccd726 --- /dev/null +++ b/tests/snmpsim/ats.snmprec @@ -0,0 +1,165 @@ +1.3.6.1.2.1.1.1.0|4|SNMP Smart II Card v1.05 (SN 11230031806015) +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.37662.1.2.2.1 +1.3.6.1.2.1.1.3.0|67|3125594 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.2.1.2.2.1.2.1|4|eth0 +1.3.6.1.2.1.2.2.1.3.1|2|7 +1.3.6.1.2.1.2.2.1.4.1|2|1500 +1.3.6.1.2.1.2.2.1.7.1|2|1 +1.3.6.1.2.1.2.2.1.8.1|2|1 +1.3.6.1.2.1.2.2.1.13.1|65|0 +1.3.6.1.2.1.2.2.1.14.1|65|0 +1.3.6.1.2.1.2.2.1.19.1|65|0 +1.3.6.1.2.1.2.2.1.20.1|65|0 +1.3.6.1.2.1.4.20.1.2.0|2|1 +1.3.6.1.2.1.4.20.1.3.0|65|2 +1.3.6.1.2.1.4.22.1.2.1|4x|FFFFFFFFFFFF +1.3.6.1.2.1.4.22.1.2.2|4x|FFFFFFFFFFFF +1.3.6.1.2.1.4.22.1.2.3|4x|01005E7FFFFA +1.3.6.1.2.1.4.22.1.2.4|4x|0026984D3E01 +1.3.6.1.2.1.4.22.1.2.108|4x|C47D4FC446FF +1.3.6.1.2.1.4.22.1.2.247|4x|C47D4FC446FF +1.3.6.1.2.1.4.31.1.1.1.1|2|1 +1.3.6.1.2.1.4.31.1.1.3.1|65|71672 +1.3.6.1.2.1.4.31.1.1.5.1|65|10372322 +1.3.6.1.2.1.4.31.1.1.7.1|65|0 +1.3.6.1.2.1.4.31.1.1.8.1|65|0 +1.3.6.1.2.1.4.31.1.1.9.1|65|0 +1.3.6.1.2.1.4.31.1.1.10.1|65|0 +1.3.6.1.2.1.4.31.1.1.11.1|65|0 +1.3.6.1.2.1.4.31.1.1.12.1|65|0 +1.3.6.1.2.1.4.31.1.1.14.1|65|0 +1.3.6.1.2.1.4.31.1.1.15.1|65|0 +1.3.6.1.2.1.4.31.1.1.16.1|65|0 +1.3.6.1.2.1.4.31.1.1.17.1|65|0 +1.3.6.1.2.1.4.31.1.1.18.1|65|71684 +1.3.6.1.2.1.4.31.1.1.20.1|65|46188 +1.3.6.1.2.1.4.31.1.1.22.1|65|0 +1.3.6.1.2.1.4.31.1.1.23.1|65|0 +1.3.6.1.2.1.4.31.1.1.25.1|65|0 +1.3.6.1.2.1.4.31.1.1.26.1|65|0 +1.3.6.1.2.1.4.31.1.1.27.1|65|0 +1.3.6.1.2.1.4.31.1.1.28.1|65|0 +1.3.6.1.2.1.4.31.1.1.29.1|65|0 +1.3.6.1.2.1.4.31.1.1.30.1|65|46196 +1.3.6.1.2.1.4.31.1.1.32.1|65|12466372 +1.3.6.1.2.1.4.31.1.1.34.1|65|0 +1.3.6.1.2.1.4.31.1.1.36.1|65|0 +1.3.6.1.2.1.4.31.1.1.38.1|65|0 +1.3.6.1.2.1.4.31.1.1.40.1|65|0 +1.3.6.1.2.1.4.31.1.1.42.1|65|7554 +1.3.6.1.2.1.4.31.1.1.44.1|65|0 +1.3.6.1.2.1.4.31.1.1.46.1|67|0 +1.3.6.1.2.1.4.31.1.1.47.1|66|5000 +1.3.6.1.2.1.4.35.1.5.1.1.1|67|0 +1.3.6.1.2.1.5.1.0|65|1216 +1.3.6.1.2.1.5.2.0|65|0 +1.3.6.1.2.1.5.3.0|65|2 +1.3.6.1.2.1.5.4.0|65|0 +1.3.6.1.2.1.5.5.0|65|0 +1.3.6.1.2.1.5.6.0|65|0 +1.3.6.1.2.1.5.7.0|65|0 +1.3.6.1.2.1.5.8.0|65|1214 +1.3.6.1.2.1.5.9.0|65|0 +1.3.6.1.2.1.5.10.0|65|0 +1.3.6.1.2.1.5.11.0|65|0 +1.3.6.1.2.1.5.12.0|65|0 +1.3.6.1.2.1.5.13.0|65|0 +1.3.6.1.2.1.5.14.0|65|1214 +1.3.6.1.2.1.5.15.0|65|0 +1.3.6.1.2.1.5.16.0|65|0 +1.3.6.1.2.1.5.17.0|65|0 +1.3.6.1.2.1.5.18.0|65|0 +1.3.6.1.2.1.5.19.0|65|0 +1.3.6.1.2.1.5.20.0|65|0 +1.3.6.1.2.1.5.21.0|65|1214 +1.3.6.1.2.1.5.22.0|65|0 +1.3.6.1.2.1.5.23.0|65|0 +1.3.6.1.2.1.5.24.0|65|0 +1.3.6.1.2.1.5.25.0|65|0 +1.3.6.1.2.1.5.26.0|65|0 +1.3.6.1.2.1.5.29.1.1.1|2|1 +1.3.6.1.2.1.5.29.1.2.1|65|1216 +1.3.6.1.2.1.5.29.1.3.1|65|0 +1.3.6.1.2.1.5.29.1.4.1|65|1214 +1.3.6.1.2.1.5.29.1.5.1|65|0 +1.3.6.1.2.1.5.29.1.6.1|5| +1.3.6.1.2.1.5.30.1.1.1.0|2|1 +1.3.6.1.2.1.5.30.1.2.1.0|2|0 +1.3.6.1.2.1.5.30.1.3.1.0|65|0 +1.3.6.1.2.1.5.30.1.4.1.0|65|0 +1.3.6.1.2.1.5.30.1.5.1.0|5| +1.3.6.1.2.1.11.1.0|65|14779 +1.3.6.1.2.1.11.2.0|65|14781 +1.3.6.1.2.1.11.3.0|65|0 +1.3.6.1.2.1.11.4.0|65|0 +1.3.6.1.2.1.11.5.0|65|0 +1.3.6.1.2.1.11.6.0|65|0 +1.3.6.1.2.1.11.8.0|65|0 +1.3.6.1.2.1.11.9.0|65|0 +1.3.6.1.2.1.11.10.0|65|0 +1.3.6.1.2.1.11.11.0|65|0 +1.3.6.1.2.1.11.12.0|65|0 +1.3.6.1.2.1.11.13.0|65|48160 +1.3.6.1.2.1.11.14.0|65|0 +1.3.6.1.2.1.11.15.0|65|8397 +1.3.6.1.2.1.11.16.0|65|6396 +1.3.6.1.2.1.11.17.0|65|0 +1.3.6.1.2.1.11.18.0|65|0 +1.3.6.1.2.1.11.19.0|65|0 +1.3.6.1.2.1.11.20.0|65|0 +1.3.6.1.2.1.11.21.0|65|3146 +1.3.6.1.2.1.11.22.0|65|0 +1.3.6.1.2.1.11.24.0|65|0 +1.3.6.1.2.1.11.25.0|65|0 +1.3.6.1.2.1.11.26.0|65|0 +1.3.6.1.2.1.11.27.0|65|0 +1.3.6.1.2.1.11.28.0|65|14803 +1.3.6.1.2.1.11.29.0|65|2 +1.3.6.1.2.1.11.30.0|2|0 +1.3.6.1.2.1.11.31.0|65|0 +1.3.6.1.2.1.11.32.0|65|0 +1.3.6.1.2.1.31.1.1.1.1.1|4|eth0 +1.3.6.1.2.1.31.1.1.1.2.1|65|0 +1.3.6.1.2.1.31.1.1.1.3.1|65|0 +1.3.6.1.2.1.31.1.1.1.4.1|65|0 +1.3.6.1.2.1.31.1.1.1.5.1|65|0 +1.3.6.1.2.1.31.1.1.1.6.1|70|0 +1.3.6.1.2.1.31.1.1.1.7.1|70|0 +1.3.6.1.2.1.31.1.1.1.8.1|70|0 +1.3.6.1.2.1.31.1.1.1.9.1|70|0 +1.3.6.1.2.1.31.1.1.1.10.1|70|0 +1.3.6.1.2.1.31.1.1.1.11.1|70|0 +1.3.6.1.2.1.31.1.1.1.12.1|70|0 +1.3.6.1.2.1.31.1.1.1.13.1|70|0 +1.3.6.1.2.1.31.1.1.1.14.1|2|1 +1.3.6.1.2.1.31.1.1.1.15.1|66|1000000 +1.3.6.1.2.1.31.1.1.1.16.1|2|1 +1.3.6.1.2.1.31.1.1.1.17.1|2|1 +1.3.6.1.2.1.31.1.1.1.18.1|4|eth0 +1.3.6.1.2.1.31.1.1.1.19.1|67|0 +1.3.6.1.4.1.37662.1.2.2.1.1.1.4.0|4|ATS11747 +1.3.6.1.4.1.37662.1.2.2.1.1.2.2.0|2|2 +1.3.6.1.4.1.37662.1.2.2.1.1.2.3.0|2|235 +1.3.6.1.4.1.37662.1.2.2.1.1.2.4.0|2|500 +1.3.6.1.4.1.37662.1.2.2.1.1.2.5.0|2|2 +1.3.6.1.4.1.37662.1.2.2.1.1.2.6.0|2|236 +1.3.6.1.4.1.37662.1.2.2.1.1.2.7.0|2|500 +1.3.6.1.4.1.37662.1.2.2.1.1.2.8.0|2|264 +1.3.6.1.4.1.37662.1.2.2.1.1.2.9.0|2|195 +1.3.6.1.4.1.37662.1.2.2.1.1.2.10.0|2|550 +1.3.6.1.4.1.37662.1.2.2.1.1.2.11.0|2|450 +1.3.6.1.4.1.37662.1.2.2.1.1.2.12.0|2|264 +1.3.6.1.4.1.37662.1.2.2.1.1.2.13.0|2|195 +1.3.6.1.4.1.37662.1.2.2.1.1.2.14.0|2|550 +1.3.6.1.4.1.37662.1.2.2.1.1.2.15.0|2|450 +1.3.6.1.4.1.37662.1.2.2.1.1.3.4.0|2|3 +1.3.6.1.4.1.37662.1.2.2.1.1.3.5.0|2|0 +1.3.6.1.4.1.37662.1.2.2.1.1.4.1.0|2|2 +1.3.6.1.4.1.37662.1.2.2.1.1.5.1.0|2|29 +1.3.6.1.4.1.37662.1.2.2.1.1.5.2.0|2|160 +1.3.6.1.4.1.37662.1.2.2.1.1.9.3.2.0|2|40 +1.3.6.1.4.1.37662.1.2.2.1.1.9.3.4.0|2|5 +1.3.6.1.6.3.10.2.1.3.0|2|96792