From 8e2d2fe1345b37eeb61107ebe50d67ebcf96071f Mon Sep 17 00:00:00 2001 From: Shark Date: Tue, 3 Dec 2024 03:17:37 +0300 Subject: [PATCH] Init commit --- .github/workflows/go.yml | 25 + .gitignore | 4 + Dockerfile | 8 + Makefile | 21 + README.md | 29 + config.yml | 14 + dashboard.json | 1290 +++++++++++++++++++++ go.mod | 18 + go.sum | 33 + img/preview.png | Bin 0 -> 428813 bytes main.go | 211 ++++ mibs/EPPC-MIB.yaml | 294 +++++ mibs/EPPC.MIB | 2360 ++++++++++++++++++++++++++++++++++++++ mibs/RFC1628.MIB | 1197 +++++++++++++++++++ 14 files changed, 5504 insertions(+) create mode 100644 .github/workflows/go.yml create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 README.md create mode 100644 config.yml create mode 100644 dashboard.json create mode 100644 go.mod create mode 100644 go.sum create mode 100644 img/preview.png create mode 100644 main.go create mode 100644 mibs/EPPC-MIB.yaml create mode 100644 mibs/EPPC.MIB create mode 100644 mibs/RFC1628.MIB diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..3dd1e82 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,25 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: Go + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.23' + + - name: Build + run: go build -v ./... diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66f310a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +snmp_ex +docker-compose.yml +.idea/* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..481b167 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM alpine:3.20 +WORKDIR / +COPY snmp_ex / +COPY config.yml / +RUN mkdir mibs +COPY ./mibs/EPPC-MIB.yaml /mibs + +CMD ["/snmp_ex"] \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4d6a738 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +MAKEFLAGS += --no-print-directory + +.PHONY: pull +pull: + git pull + +.PHONY: kill +kill: + sudo docker kill ippon + +.PHONY: start +start: + sudo docker-compose up -d + +.PHONY: build +build: + @$(MAKE) pull + go mod download + GOARCH=arm GOARM=7 GOOS=linux go build -o snmp_ex . + chmod +x snmp_ex + sudo docker build -t ippon --no-cache . diff --git a/README.md b/README.md new file mode 100644 index 0000000..5e755a5 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +![snmp_ex](img/preview.png) + + +Simple client to push all data from IPPON UPS with SNMP modules to InfluxDB and Grafana + + +1) make build +2) docker-compose up -d + + +docker-compose.yml +```docker +version: "2.1" +services: + ippon: + image: ippon + container_name: ippon + environment: + - INFLUX_DBURL=http://10.0.0.196:8086 + - INFLUX_TOKEN= + - INFLUX_ORG= + - INFLUX_BUCKET= + read_only: false + stop_grace_period: 30m + network_mode: "host" + tty: true + restart: unless-stopped +``` + diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..a0d5064 --- /dev/null +++ b/config.yml @@ -0,0 +1,14 @@ +snmp: + target: "10.0.0.128" + port: 161 + community: "private" + version: "1" + timeout: 5 + retries: 3 + repeatEverySecond: 5 + +oids: + # - oid: "1.3.6.1.4.1.935.10.1.1" # all upsE + - oid: "1.3.6.1.4.1.935.10.1.1.1" # upsEIdentity + - oid: "1.3.6.1.4.1.935.10.1.1.2" # upsESystemSummary + - oid: "1.3.6.1.4.1.935.10.1.1.3" # upsEBatterySystem diff --git a/dashboard.json b/dashboard.json new file mode 100644 index 0000000..6c6386b --- /dev/null +++ b/dashboard.json @@ -0,0 +1,1290 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 2, + "id": 36, + "links": [], + "liveNow": true, + "panels": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 0, + "y": 0 + }, + "id": 14, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsEIdentityUPSFirmwareVerison$/", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsEIdentityUPSFirmwareVerison\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> yield(name: \"last\")", + "refId": "A" + } + ], + "title": "UPS firmware", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "1": { + "color": "dark-green", + "index": 0, + "text": "Power on" + }, + "2": { + "color": "dark-green", + "index": 1, + "text": "Stand by" + }, + "3": { + "color": "yellow", + "index": 2, + "text": "By pass" + }, + "4": { + "color": "dark-green", + "index": 3, + "text": "Line" + }, + "5": { + "color": "yellow", + "index": 4, + "text": "Battery" + }, + "6": { + "color": "yellow", + "index": 5, + "text": "Battery test" + }, + "7": { + "color": "dark-red", + "index": 6, + "text": "Fault" + }, + "8": { + "color": "yellow", + "index": 7, + "text": "Converter" + }, + "9": { + "color": "green", + "index": 8, + "text": "Eco" + }, + "10": { + "color": "green", + "index": 9, + "text": "Shutdown" + }, + "11": { + "color": "yellow", + "index": 10, + "text": "On booster" + }, + "12": { + "color": "yellow", + "index": 11, + "text": "On reducer" + }, + "13": { + "color": "super-light-blue", + "index": 12, + "text": "Other" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 3, + "y": 0 + }, + "id": 20, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsESystemStatus\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> yield(name: \"last\")", + "refId": "A" + } + ], + "title": "UPS Status", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 8, + "y": 0 + }, + "id": 13, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsEIdentityModel$/", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsEIdentityModel\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> yield(name: \"last\")", + "refId": "A" + } + ], + "title": "UPS Type", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "dark-green", + "value": 215 + }, + { + "color": "dark-red", + "value": 232 + } + ] + }, + "unit": "volt" + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 11, + "y": 0 + }, + "id": 16, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsESystemInputVoltage$/", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsEBatteryEstimatedChargeRemaining\" or r[\"_field\"] == \"upsEPositiveBatteryVoltage\" or r[\"_field\"] == \"upsESystemInputVoltage\" or r[\"_field\"] == \"upsESystemOutputLoad\" or r[\"_field\"] == \"upsESystemOutputVoltage\") \r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: \r\n if r[\"_field\"] == \"upsESystemInputVoltage\" then float(v: r._value) / 10.0 \r\n else float(v: r._value),\r\n _field: r._field,\r\n _measurement: r._measurement\r\n }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n |> yield(name: \"mean\")\r\n", + "refId": "A" + } + ], + "title": "Input Volts", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-green", + "value": null + } + ] + }, + "unit": "rothz" + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 13, + "y": 0 + }, + "id": 17, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsESystemOutputFrequency$/", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsESystemOutputFrequency\" ) \r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: \r\n if r[\"_field\"] == \"upsESystemOutputFrequency\" then float(v: r._value) / 10.0\r\n else float(v: r._value),\r\n _field: r._field,\r\n _measurement: r._measurement\r\n }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n |> yield(name: \"mean\")\r\n", + "refId": "A" + } + ], + "title": "Output Hz", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "max": 41.2, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#d44a3a", + "value": null + }, + { + "color": "#299c46", + "value": 0 + }, + { + "color": "rgba(237, 129, 40, 0.89)", + "value": 60 + }, + { + "color": "dark-red", + "value": 90 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 17, + "y": 0 + }, + "id": 18, + "maxDataPoints": 100, + "options": { + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsESystemOutputLoad$/", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "alias": "$col", + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "synoSystem", + "orderByTime": "ASC", + "policy": "default", + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsESystemOutputLoad\" ) \r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: \r\n if r[\"_field\"] == \"upsESystemOutputLoad\" then float(v: r._value) \r\n else float(v: r._value),\r\n _field: r._field,\r\n _measurement: r._measurement\r\n }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n |> yield(name: \"mean\")\r\n", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "upsBatteryCharge" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [] + } + ], + "title": "UPS Load", + "type": "gauge" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "max": 41.2, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "#d44a3a", + "value": null + }, + { + "color": "rgba(237, 129, 40, 0.89)", + "value": 36 + }, + { + "color": "#299c46", + "value": 40 + } + ] + }, + "unit": "volt" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 19, + "y": 0 + }, + "id": 9, + "maxDataPoints": 100, + "options": { + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsEPositiveBatteryVoltage$/", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "alias": "$col", + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "synoSystem", + "orderByTime": "ASC", + "policy": "default", + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsEBatteryEstimatedChargeRemaining\" or r[\"_field\"] == \"upsEPositiveBatteryVoltage\" or r[\"_field\"] == \"upsESystemInputVoltage\" or r[\"_field\"] == \"upsESystemOutputLoad\" or r[\"_field\"] == \"upsESystemOutputVoltage\") \r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: \r\n if r[\"_field\"] == \"upsEPositiveBatteryVoltage\" then float(v: r._value) / 10.0 \r\n else float(v: r._value),\r\n _field: r._field,\r\n _measurement: r._measurement\r\n }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n |> yield(name: \"mean\")\r\n", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "upsBatteryCharge" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [] + } + ], + "title": "UPS Battery Volts", + "type": "gauge" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "max": 41.2, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "transparent", + "value": null + }, + { + "color": "dark-green", + "value": 0 + }, + { + "color": "dark-orange", + "value": 55 + }, + { + "color": "dark-red", + "value": 75 + } + ] + }, + "unit": "celsius" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 21, + "y": 0 + }, + "id": 21, + "maxDataPoints": 100, + "options": { + "minVizHeight": 75, + "minVizWidth": 75, + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsESystemTemperature$/", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true, + "sizing": "auto" + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "alias": "$col", + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "synoSystem", + "orderByTime": "ASC", + "policy": "default", + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsESystemTemperature\" ) \r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: \r\n if r[\"_field\"] == \"upsESystemTemperature\" then float(v: r._value) / 10.0 \r\n else float(v: r._value),\r\n _field: r._field,\r\n _measurement: r._measurement\r\n }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n |> yield(name: \"mean\")\r\n", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "upsBatteryCharge" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [] + } + ], + "title": "UPS Temp", + "type": "gauge" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 0, + "y": 2 + }, + "id": 12, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsEIdentityAgentSoftwareVerison$/", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsEIdentityAgentSoftwareVerison\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> yield(name: \"last\")", + "refId": "A" + } + ], + "title": "Module firmware", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "1": { + "color": "super-light-blue", + "index": 0, + "text": "Unknown" + }, + "2": { + "color": "dark-green", + "index": 1, + "text": "Normal" + }, + "3": { + "color": "orange", + "index": 2, + "text": "Low" + }, + "4": { + "color": "dark-orange", + "index": 3, + "text": "Depleted" + }, + "5": { + "color": "orange", + "index": 4, + "text": "Discharging" + }, + "6": { + "color": "dark-red", + "index": 5, + "text": "Failure" + } + }, + "type": "value" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 8, + "y": 2 + }, + "id": 8, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsEBatteryStatus\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> yield(name: \"last\")", + "refId": "A" + } + ], + "title": "Battery Status", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-red", + "value": null + }, + { + "color": "dark-green", + "value": 215 + }, + { + "color": "dark-red", + "value": 232 + } + ] + }, + "unit": "volt" + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 11, + "y": 2 + }, + "id": 19, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsESystemOutputVoltage$/", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsESystemOutputVoltage\") \r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: \r\n if r[\"_field\"] == \"upsESystemOutputVoltage\" then float(v: r._value) / 10.0 \r\n else float(v: r._value),\r\n _field: r._field,\r\n _measurement: r._measurement\r\n }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n |> yield(name: \"mean\")\r\n", + "refId": "A" + } + ], + "title": "Output Volts", + "type": "stat" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "description": "", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "dark-green", + "value": null + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 2, + "w": 2, + "x": 13, + "y": 2 + }, + "id": 15, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^upsESecondsOnBattery$/", + "values": false + }, + "showPercentChange": false, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "11.0.0", + "targets": [ + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsESecondsOnBattery\")\r\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\r\n |> yield(name: \"last\")", + "refId": "A" + } + ], + "title": "Time on battery", + "type": "stat" + }, + { + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 4, + "panels": [], + "repeat": "bucket", + "repeatDirection": "h", + "title": "Data", + "type": "row" + }, + { + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": true, + "axisCenteredZero": false, + "axisColorMode": "series", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "log": 2, + "type": "log" + }, + "showPoints": "auto", + "spanNulls": true, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "upsEPositiveBatteryVoltage" + }, + "properties": [ + { + "id": "displayName", + "value": "UPS Battery Voltage" + }, + { + "id": "unit", + "value": "volt" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "upsESystemInputVoltage" + }, + "properties": [ + { + "id": "displayName", + "value": "UPS Input Voltage" + }, + { + "id": "unit", + "value": "volt" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "upsEBatteryEstimatedChargeRemaining" + }, + "properties": [ + { + "id": "displayName", + "value": "UPS Charge Level" + }, + { + "id": "unit", + "value": "percent" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "upsESystemOutputLoad" + }, + "properties": [ + { + "id": "displayName", + "value": "UPS Load" + }, + { + "id": "unit", + "value": "percent" + } + ] + }, + { + "matcher": { + "id": "byName", + "options": "upsESystemOutputVoltage" + }, + "properties": [ + { + "id": "displayName", + "value": "UPS Output Voltage" + }, + { + "id": "unit", + "value": "volt" + } + ] + } + ] + }, + "gridPos": { + "h": 15, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 5, + "options": { + "legend": { + "calcs": [], + "displayMode": "table", + "placement": "right", + "showLegend": false + }, + "tooltip": { + "maxHeight": 600, + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "9.5.2", + "targets": [ + { + "alias": "UPS Load", + "datasource": { + "type": "influxdb", + "uid": "ddp38pe3t92wwc" + }, + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "previous" + ], + "type": "fill" + } + ], + "measurement": "synoSystem", + "orderByTime": "ASC", + "policy": "default", + "query": "from(bucket: \"ups\")\r\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\r\n |> filter(fn: (r) => r[\"_measurement\"] == \"ups_data\")\r\n |> filter(fn: (r) => r[\"_field\"] == \"upsEBatteryEstimatedChargeRemaining\" or r[\"_field\"] == \"upsEPositiveBatteryVoltage\" or r[\"_field\"] == \"upsESystemInputVoltage\" or r[\"_field\"] == \"upsESystemOutputLoad\" or r[\"_field\"] == \"upsESystemOutputVoltage\") \r\n |> map(fn: (r) => ({\r\n _time: r._time,\r\n _value: \r\n if r[\"_field\"] == \"upsEPositiveBatteryVoltage\" then float(v: r._value) / 10.0 \r\n else if r[\"_field\"] == \"upsESystemInputVoltage\" then float(v: r._value) / 10.0 \r\n else if r[\"_field\"] == \"upsESystemOutputVoltage\" then float(v: r._value) / 10.0 \r\n else float(v: r._value),\r\n _field: r._field,\r\n _measurement: r._measurement\r\n }))\r\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\r\n |> yield(name: \"mean\")\r\n", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "upsLoad" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [] + } + ], + "title": "IPPON UPS", + "type": "timeseries" + } + ], + "refresh": "5s", + "schemaVersion": 39, + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timeRangeUpdatedDuringEditOrView": false, + "timepicker": {}, + "timezone": "browser", + "title": "UPS", + "uid": "be5qevsfuwc8we", + "version": 28, + "weekStart": "" +} \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..1856940 --- /dev/null +++ b/go.mod @@ -0,0 +1,18 @@ +module snmp_ex + +go 1.23.0 + +require ( + github.com/gosnmp/gosnmp v1.38.0 + github.com/influxdata/influxdb-client-go/v2 v2.14.0 + github.com/twsnmp/go-mibdb v0.0.0-20210104220414-91387072cee7 + gopkg.in/yaml.v3 v3.0.1 +) + +require ( + github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect + github.com/google/uuid v1.3.1 // indirect + github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839 // indirect + github.com/oapi-codegen/runtime v1.0.0 // indirect + golang.org/x/net v0.23.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..93ee7af --- /dev/null +++ b/go.sum @@ -0,0 +1,33 @@ +github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk= +github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= +github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= +github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gosnmp/gosnmp v1.38.0 h1:I5ZOMR8kb0DXAFg/88ACurnuwGwYkXWq3eLpJPHMEYc= +github.com/gosnmp/gosnmp v1.38.0/go.mod h1:FE+PEZvKrFz9afP9ii1W3cprXuVZ17ypCcyyfYuu5LY= +github.com/influxdata/influxdb-client-go/v2 v2.14.0 h1:AjbBfJuq+QoaXNcrova8smSjwJdUHnwvfjMF71M1iI4= +github.com/influxdata/influxdb-client-go/v2 v2.14.0/go.mod h1:Ahpm3QXKMJslpXl3IftVLVezreAUtBOTZssDrjZEFHI= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839 h1:W9WBk7wlPfJLvMCdtV4zPulc4uCPrlywQOmbFOhgQNU= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= +github.com/oapi-codegen/runtime v1.0.0 h1:P4rqFX5fMFWqRzY9M/3YF9+aPSPPB06IzP2P7oOxrWo= +github.com/oapi-codegen/runtime v1.0.0/go.mod h1:LmCUMQuPB4M/nLXilQXhHw+BLZdDb18B34OO356yJ/A= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/twsnmp/go-mibdb v0.0.0-20210104220414-91387072cee7 h1:FXtkgH4JQh+RygmxCq+P1J+ik61MaoKmZpu/8jMzfw0= +github.com/twsnmp/go-mibdb v0.0.0-20210104220414-91387072cee7/go.mod h1:fqYxYtdzPjVkqu1Dafev4I98LrT/Eg8F0DAnAcnDkkU= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/img/preview.png b/img/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..2a44ba75936088447902ed912a26add0b7eb0ee7 GIT binary patch literal 428813 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
  • +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 %s", name, string(variable.Value.([]byte)))) + switch variable.Type { + case gosnmp.OctetString: + toExport[name] = string(variable.Value.([]byte)) + case gosnmp.Integer: + toExport[name] = gosnmp.ToBigInt(variable.Value).Int64() + + case gosnmp.Counter32, gosnmp.Gauge32, gosnmp.TimeTicks, gosnmp.Counter64: + toExport[name] = gosnmp.ToBigInt(variable.Value).Uint64() + + case gosnmp.OpaqueFloat: + toExport[name] = variable.Value.(float32) + + case gosnmp.OpaqueDouble: + toExport[name] = variable.Value.(float64) + + case gosnmp.IPAddress: + toExport[name] = variable.Value.(string) + + case gosnmp.Opaque, gosnmp.Null, gosnmp.EndOfMibView, gosnmp.NoSuchInstance, gosnmp.NoSuchObject: + toExport[name] = "null" + + default: + bytes, ok := variable.Value.([]byte) + if ok { + toExport[name] = hex.EncodeToString(bytes) + } + toExport[name] = fmt.Sprintf("unknown: %v", variable.Value) + } + + } + + } + + go PushData(toExport, tm) + + time.Sleep(time.Second * time.Duration(config.SNMP.Repeat)) + } +} + +func PushData(data map[string]any, tm time.Time) { + p := influxdb2.NewPointWithMeasurement("ups_data") + p.SetTime(time.Now()) + + for key, value := range data { + p.AddField(key, value) + } + + if err := writeAPI.WritePoint(context.Background(), p); err != nil { + log.Printf("Error writing point to InfluxDB: %v", err) + } +} + +func parseAndReverseYAML(filePath string) (map[string]string, error) { + _, err := os.Stat(filePath) + if os.IsNotExist(err) { + return nil, fmt.Errorf("error reading YAML file: %v", err) + } + + yamlFile, err := ioutil.ReadFile(filePath) + if err != nil { + return nil, fmt.Errorf("error reading YAML file: %v", err) + } + + var data map[string]string + err = yaml.Unmarshal(yamlFile, &data) + if err != nil { + return nil, fmt.Errorf("error unmarshalling YAML: %v", err) + } + + reversedMap := make(map[string]string) + for key, value := range data { + reversedMap[value] = key + } + + return reversedMap, nil +} diff --git a/mibs/EPPC-MIB.yaml b/mibs/EPPC-MIB.yaml new file mode 100644 index 0000000..521d5ca --- /dev/null +++ b/mibs/EPPC-MIB.yaml @@ -0,0 +1,294 @@ +--- +ppc: 1.3.6.1.4.1.935 +device: 1.3.6.1.4.1.935.10 +upsAgent: 1.3.6.1.4.1.935.10.1 +upsE: 1.3.6.1.4.1.935.10.1.1 +upsEIdentity: 1.3.6.1.4.1.935.10.1.1.1 +upsEIdentityManufacturer: 1.3.6.1.4.1.935.10.1.1.1.1 +upsEIdentityModel: 1.3.6.1.4.1.935.10.1.1.1.2 +upsEIdentityUPSFirmwareVerison: 1.3.6.1.4.1.935.10.1.1.1.3 +upsEIndentityUPSSerialNumber: 1.3.6.1.4.1.935.10.1.1.1.4 +upsEIdentityDescription: 1.3.6.1.4.1.935.10.1.1.1.5 +upsEIdentityAgentSoftwareVerison: 1.3.6.1.4.1.935.10.1.1.1.6 +upsEIdentityAttachedDevices: 1.3.6.1.4.1.935.10.1.1.1.7 +upsESystemSummary: 1.3.6.1.4.1.935.10.1.1.2 +upsESystemStatus: 1.3.6.1.4.1.935.10.1.1.2.1 +upsESystemTemperature: 1.3.6.1.4.1.935.10.1.1.2.2 +upsESystemWarningCode: 1.3.6.1.4.1.935.10.1.1.2.3 +upsESystemFaultCode: 1.3.6.1.4.1.935.10.1.1.2.4 +upsESystemConfigInputVoltage: 1.3.6.1.4.1.935.10.1.1.2.5 +upsESystemConfigInputFrequence: 1.3.6.1.4.1.935.10.1.1.2.6 +upsESystemConfigOutputVoltage: 1.3.6.1.4.1.935.10.1.1.2.7 +upsESystemConfigOutputFrequency: 1.3.6.1.4.1.935.10.1.1.2.8 +upsESystemConfigOutputVA: 1.3.6.1.4.1.935.10.1.1.2.9 +upsESystemConfigOutputPower: 1.3.6.1.4.1.935.10.1.1.2.10 +upsESystemConfigOutputLoadHighSetPoint: 1.3.6.1.4.1.935.10.1.1.2.11 +upsESystemConfigOverTemperatureSetPoint: 1.3.6.1.4.1.935.10.1.1.2.12 +upsESystemInputSourceNum: 1.3.6.1.4.1.935.10.1.1.2.13 +upsESystemInputLineBads: 1.3.6.1.4.1.935.10.1.1.2.14 +upsESystemInputNumPhases: 1.3.6.1.4.1.935.10.1.1.2.15 +upsESystemInputTable: 1.3.6.1.4.1.935.10.1.1.2.16 +upsESystemInputEntry: 1.3.6.1.4.1.935.10.1.1.2.16.1 +upsESystemInputPhase: 1.3.6.1.4.1.935.10.1.1.2.16.1.1 +upsESystemInputFrequency: 1.3.6.1.4.1.935.10.1.1.2.16.1.2 +upsESystemInputVoltage: 1.3.6.1.4.1.935.10.1.1.2.16.1.3 +upsESystemInputCurrent: 1.3.6.1.4.1.935.10.1.1.2.16.1.4 +upsESystemInputWatts: 1.3.6.1.4.1.935.10.1.1.2.16.1.5 +upsESystemOutputNumPhase: 1.3.6.1.4.1.935.10.1.1.2.17 +upsESystemOutputTable: 1.3.6.1.4.1.935.10.1.1.2.18 +upsESystemOutputEntry: 1.3.6.1.4.1.935.10.1.1.2.18.1 +upsESystemOutputPhase: 1.3.6.1.4.1.935.10.1.1.2.18.1.1 +upsESystemOutputFrequency: 1.3.6.1.4.1.935.10.1.1.2.18.1.2 +upsESystemOutputVoltage: 1.3.6.1.4.1.935.10.1.1.2.18.1.3 +upsESystemOutputCurrent: 1.3.6.1.4.1.935.10.1.1.2.18.1.4 +upsESystemOutputWatts: 1.3.6.1.4.1.935.10.1.1.2.18.1.5 +upsESystemOutputVA: 1.3.6.1.4.1.935.10.1.1.2.18.1.6 +upsESystemOutputLoad: 1.3.6.1.4.1.935.10.1.1.2.18.1.7 +upsESystemBypassNumPhase: 1.3.6.1.4.1.935.10.1.1.2.19 +upsESystemBypassTable: 1.3.6.1.4.1.935.10.1.1.2.20 +upsESystemBypassEntry: 1.3.6.1.4.1.935.10.1.1.2.20.1 +upsESystemBypassPhase: 1.3.6.1.4.1.935.10.1.1.2.20.1.1 +upsESystemBypassFrequency: 1.3.6.1.4.1.935.10.1.1.2.20.1.2 +upsESystemBypassVoltage: 1.3.6.1.4.1.935.10.1.1.2.20.1.3 +upsESystemBypassCurrent: 1.3.6.1.4.1.935.10.1.1.2.20.1.4 +upsESystemBypassWatts: 1.3.6.1.4.1.935.10.1.1.2.20.1.5 +upsESystemConfigBelowCapacityLimit: 1.3.6.1.4.1.935.10.1.1.2.21 +upsESystemConfigBelowRemainTimeLimit: 1.3.6.1.4.1.935.10.1.1.2.22 +upsEBatterySystem: 1.3.6.1.4.1.935.10.1.1.3 +upsEBatteryStatus: 1.3.6.1.4.1.935.10.1.1.3.1 +upsESecondsOnBattery: 1.3.6.1.4.1.935.10.1.1.3.2 +upsEBatteryEstimatedMinutesRemaining: 1.3.6.1.4.1.935.10.1.1.3.3 +upsEBatteryEstimatedChargeRemaining: 1.3.6.1.4.1.935.10.1.1.3.4 +upsEPositiveBatteryVoltage: 1.3.6.1.4.1.935.10.1.1.3.5 +upsENegativeBatteryVoltage: 1.3.6.1.4.1.935.10.1.1.3.6 +upsEBatteryCellNumber: 1.3.6.1.4.1.935.10.1.1.3.7 +upsEBatteryTemperature: 1.3.6.1.4.1.935.10.1.1.3.8 +upsEBatteryLastReplacedDate: 1.3.6.1.4.1.935.10.1.1.3.9 +upsEBatteryABMStatus: 1.3.6.1.4.1.935.10.1.1.3.10 +upsEChargerModulesNum: 1.3.6.1.4.1.935.10.1.1.3.11 +upsEChargerModulesTable: 1.3.6.1.4.1.935.10.1.1.3.12 +upsEChargerModulesEntry: 1.3.6.1.4.1.935.10.1.1.3.12.1 +chargerModulesNum: 1.3.6.1.4.1.935.10.1.1.3.12.1.1 +chargerModulesAddress: 1.3.6.1.4.1.935.10.1.1.3.12.1.2 +positiveChargeVotlage: 1.3.6.1.4.1.935.10.1.1.3.12.1.3 +negativeChargeVoltage: 1.3.6.1.4.1.935.10.1.1.3.12.1.4 +positiveChargeCurrent: 1.3.6.1.4.1.935.10.1.1.3.12.1.5 +negativeChargeCurrent: 1.3.6.1.4.1.935.10.1.1.3.12.1.6 +chargerModulesTemperature: 1.3.6.1.4.1.935.10.1.1.3.12.1.7 +chargerModulesMode: 1.3.6.1.4.1.935.10.1.1.3.12.1.8 +upsEPowerConverterSystem: 1.3.6.1.4.1.935.10.1.1.4 +upsEUPSModulesNum: 1.3.6.1.4.1.935.10.1.1.4.1 +upsEModulesTable: 1.3.6.1.4.1.935.10.1.1.4.2 +upsEModulesEntry: 1.3.6.1.4.1.935.10.1.1.4.2.1 +upsEModulesNum: 1.3.6.1.4.1.935.10.1.1.4.2.1.1 +upsEModuleAddress: 1.3.6.1.4.1.935.10.1.1.4.2.1.2 +upsEModulePositiveBusVolt: 1.3.6.1.4.1.935.10.1.1.4.2.1.3 +upsEModuleNegativeBusVolt: 1.3.6.1.4.1.935.10.1.1.4.2.1.4 +upsEModuleTemperature: 1.3.6.1.4.1.935.10.1.1.4.2.1.5 +upsEModuleWorkingMode: 1.3.6.1.4.1.935.10.1.1.4.2.1.6 +upsEModuleOutputCurrentR: 1.3.6.1.4.1.935.10.1.1.4.2.1.7 +upsEModuleOutputWattR: 1.3.6.1.4.1.935.10.1.1.4.2.1.8 +upsEModuleOutputLoadR: 1.3.6.1.4.1.935.10.1.1.4.2.1.9 +upsEModuleWarningCode: 1.3.6.1.4.1.935.10.1.1.4.2.1.10 +upsEModuleFaultCode: 1.3.6.1.4.1.935.10.1.1.4.2.1.11 +upsEModuleTrapState: 1.3.6.1.4.1.935.10.1.1.4.2.1.12 +upsEModuleConfigOutputVA: 1.3.6.1.4.1.935.10.1.1.4.2.1.13 +upsEModuleOutputCurrentS: 1.3.6.1.4.1.935.10.1.1.4.2.1.14 +upsEModuleOutputCurrentT: 1.3.6.1.4.1.935.10.1.1.4.2.1.15 +upsEModuleOutputWattS: 1.3.6.1.4.1.935.10.1.1.4.2.1.16 +upsEModuleOutputWattT: 1.3.6.1.4.1.935.10.1.1.4.2.1.17 +upsEModuleOutputLoadS: 1.3.6.1.4.1.935.10.1.1.4.2.1.18 +upsEModuleOutputLoadT: 1.3.6.1.4.1.935.10.1.1.4.2.1.19 +upsEModuleOutputVAR: 1.3.6.1.4.1.935.10.1.1.4.2.1.20 +upsEModuleOutputVAS: 1.3.6.1.4.1.935.10.1.1.4.2.1.21 +upsEModuleOutputVAT: 1.3.6.1.4.1.935.10.1.1.4.2.1.22 +upsELoadSegment: 1.3.6.1.4.1.935.10.1.1.5 +upsELoadSegment1OffDelay: 1.3.6.1.4.1.935.10.1.1.5.1 +upsELoadSegment1OnDelay: 1.3.6.1.4.1.935.10.1.1.5.2 +upsELoadSegment1AutoOffTimer: 1.3.6.1.4.1.935.10.1.1.5.3 +upsELoadSegment1AutoOnTimer: 1.3.6.1.4.1.935.10.1.1.5.4 +upsELoadSegment1State: 1.3.6.1.4.1.935.10.1.1.5.5 +upsELoadSegment2OffDelay: 1.3.6.1.4.1.935.10.1.1.5.6 +upsELoadSegment2OnDelay: 1.3.6.1.4.1.935.10.1.1.5.7 +upsELoadSegment2AutoOffTimer: 1.3.6.1.4.1.935.10.1.1.5.8 +upsELoadSegment2AutoOnTimer: 1.3.6.1.4.1.935.10.1.1.5.9 +upsELoadSegment2State: 1.3.6.1.4.1.935.10.1.1.5.10 +upsEEnvironment: 1.3.6.1.4.1.935.10.1.1.6 +upsEEnvironmentTemperature: 1.3.6.1.4.1.935.10.1.1.6.1 +upsEEnvironmentCurrentTemperature: 1.3.6.1.4.1.935.10.1.1.6.1.1 +upsEEnvironmentTemperatureHighSetPoint: 1.3.6.1.4.1.935.10.1.1.6.1.2 +upsEEnvironmentTemperatureHighStatus: 1.3.6.1.4.1.935.10.1.1.6.1.3 +upsEEnvironmentTemperatureLowSetPoint: 1.3.6.1.4.1.935.10.1.1.6.1.4 +upsEEnvironmentTemperatureLowStatus: 1.3.6.1.4.1.935.10.1.1.6.1.5 +upsEEnvironmentTemperatureOffset: 1.3.6.1.4.1.935.10.1.1.6.1.6 +upsEEnvironmentHumidity: 1.3.6.1.4.1.935.10.1.1.6.2 +upsEEnvironmentCurrentHumidity: 1.3.6.1.4.1.935.10.1.1.6.2.1 +upsEEnvironmentHumidityHighSetPoint: 1.3.6.1.4.1.935.10.1.1.6.2.2 +upsEEnvironmentHumidityHighStatus: 1.3.6.1.4.1.935.10.1.1.6.2.3 +upsEEnvironmentHumidityLowSetPoint: 1.3.6.1.4.1.935.10.1.1.6.2.4 +upsEEnvironmentHumidityLowStatus: 1.3.6.1.4.1.935.10.1.1.6.2.5 +upsEEnvironmentHumidityOffset: 1.3.6.1.4.1.935.10.1.1.6.2.6 +upsEEnvironmentContactsNum: 1.3.6.1.4.1.935.10.1.1.6.3 +upsEEnvironmentContactTable: 1.3.6.1.4.1.935.10.1.1.6.4 +upsEEnvironmentContactEntry: 1.3.6.1.4.1.935.10.1.1.6.4.1 +upsEEnvironmentContactIndex: 1.3.6.1.4.1.935.10.1.1.6.4.1.1 +upsEEnvironmentContactType: 1.3.6.1.4.1.935.10.1.1.6.4.1.2 +upsEEnvironmentContactState: 1.3.6.1.4.1.935.10.1.1.6.4.1.3 +upsEEnvironmentContactDescription: 1.3.6.1.4.1.935.10.1.1.6.4.1.4 +upsEBatteryTest: 1.3.6.1.4.1.935.10.1.1.7 +upsEBatteryTestStart: 1.3.6.1.4.1.935.10.1.1.7.1 +upsEBatteryTestSettingTime: 1.3.6.1.4.1.935.10.1.1.7.2 +upsEBatteryTestResult: 1.3.6.1.4.1.935.10.1.1.7.3 +upsEBatteryTestStartTime: 1.3.6.1.4.1.935.10.1.1.7.4 +upsEBatteryTestElapsedTime: 1.3.6.1.4.1.935.10.1.1.7.5 +upsEBatteryTestScheduleTable: 1.3.6.1.4.1.935.10.1.1.7.6 +upsEBatteryTestScheduleEntry: 1.3.6.1.4.1.935.10.1.1.7.6.1 +upsEBatteryTestScheduleIndex: 1.3.6.1.4.1.935.10.1.1.7.6.1.1 +upsEBatteryTestScheduleDay: 1.3.6.1.4.1.935.10.1.1.7.6.1.2 +upsEBatteryTestScheduleTime: 1.3.6.1.4.1.935.10.1.1.7.6.1.3 +upsEBatteryTestScheduleType: 1.3.6.1.4.1.935.10.1.1.7.6.1.5 +upsEBatteryTestScheduleTestWithTime: 1.3.6.1.4.1.935.10.1.1.7.6.1.6 +upsEBatteryTestScheduleSpecialDay: 1.3.6.1.4.1.935.10.1.1.7.6.1.7 +upsEControl: 1.3.6.1.4.1.935.10.1.1.8 +upsEControlOutputOffDelay: 1.3.6.1.4.1.935.10.1.1.8.1 +upsEControlOutputOnDelay: 1.3.6.1.4.1.935.10.1.1.8.2 +upsEControlOutputOnOffControl: 1.3.6.1.4.1.935.10.1.1.8.3 +upsEShutdownEventsTable: 1.3.6.1.4.1.935.10.1.1.8.4 +upsEShutdownEventsEntry: 1.3.6.1.4.1.935.10.1.1.8.4.1 +upsEShutdownEvent: 1.3.6.1.4.1.935.10.1.1.8.4.1.1 +upsEShutdownEventAction: 1.3.6.1.4.1.935.10.1.1.8.4.1.2 +upsEShutdownwarningPeriodTime: 1.3.6.1.4.1.935.10.1.1.8.4.1.3 +upsEShutdownWarningPeriodInterval: 1.3.6.1.4.1.935.10.1.1.8.4.1.4 +upsEControlWeeklyScheduleTable: 1.3.6.1.4.1.935.10.1.1.8.5 +upsEControlWeeklyScheduleEntry: 1.3.6.1.4.1.935.10.1.1.8.5.1 +upsEControlWeeklyScheduleIndex: 1.3.6.1.4.1.935.10.1.1.8.5.1.1 +upsEWeeklyScheduleShutdownDay: 1.3.6.1.4.1.935.10.1.1.8.5.1.2 +upsEWeeklyScheduleShutdownTime: 1.3.6.1.4.1.935.10.1.1.8.5.1.3 +upsEWeeklyScheduleRestartDay: 1.3.6.1.4.1.935.10.1.1.8.5.1.4 +upsEWeeklyScheduleRestartTime: 1.3.6.1.4.1.935.10.1.1.8.5.1.5 +upsEControlSpecialDayScheduleTable: 1.3.6.1.4.1.935.10.1.1.8.6 +upsEControlSpecialDayScheduleEntry: 1.3.6.1.4.1.935.10.1.1.8.6.1 +upsEControlSpecialDayScheduleIndex: 1.3.6.1.4.1.935.10.1.1.8.6.1.1 +upsESpecialDayScheduleShutdownDay: 1.3.6.1.4.1.935.10.1.1.8.6.1.2 +upsESpecialDayScheduleShutdownTime: 1.3.6.1.4.1.935.10.1.1.8.6.1.3 +upsESpecialDayScheduleRestartDay: 1.3.6.1.4.1.935.10.1.1.8.6.1.4 +upsESpecialDayScheduleRestartTime: 1.3.6.1.4.1.935.10.1.1.8.6.1.5 +upsESystemMasterOffDelay: 1.3.6.1.4.1.935.10.1.1.8.7 +upsESystemMasterOnDelay: 1.3.6.1.4.1.935.10.1.1.8.8 +upsETrapControl: 1.3.6.1.4.1.935.10.1.1.9 +upsETrapsReceiversTable: 1.3.6.1.4.1.935.10.1.1.9.1 +upsETrapsReceiversEntry: 1.3.6.1.4.1.935.10.1.1.9.1.1 +upsETrapsReceiversIndex: 1.3.6.1.4.1.935.10.1.1.9.1.1.1 +upsETrapsReceiverAddress: 1.3.6.1.4.1.935.10.1.1.9.1.1.2 +upsETrapReceiverCommunityString: 1.3.6.1.4.1.935.10.1.1.9.1.1.3 +upsETrapType: 1.3.6.1.4.1.935.10.1.1.9.1.1.4 +upsETrapsSeverityLevel: 1.3.6.1.4.1.935.10.1.1.9.1.1.5 +upsETrapReceiverDescription: 1.3.6.1.4.1.935.10.1.1.9.1.1.6 +upsETrapState: 1.3.6.1.4.1.935.10.1.1.9.2 +upsETraps: 1.3.6.1.4.1.935.10.1.2 +upsEPowerFail: 1.3.6.1.4.1.935.10.1.20.1 +upsEPowerRestored: 1.3.6.1.4.1.935.10.1.20.2 +upsELowBattery: 1.3.6.1.4.1.935.10.1.20.3 +upsEReturnFromLowBattery: 1.3.6.1.4.1.935.10.1.20.4 +upsEFailed: 1.3.6.1.4.1.935.10.1.20.5 +upsEOk: 1.3.6.1.4.1.935.10.1.20.6 +upsEOnBattery: 1.3.6.1.4.1.935.10.1.20.7 +upsENotOnBattery: 1.3.6.1.4.1.935.10.1.20.8 +upsETestInProgress: 1.3.6.1.4.1.935.10.1.20.9 +upsETestOver: 1.3.6.1.4.1.935.10.1.20.10 +upsEBypassOn: 1.3.6.1.4.1.935.10.1.20.11 +upsEOnline: 1.3.6.1.4.1.935.10.1.20.12 +upsECommunicationLost: 1.3.6.1.4.1.935.10.1.20.13 +upsECommunicationEstablished: 1.3.6.1.4.1.935.10.1.20.14 +upsEGoingShutdown: 1.3.6.1.4.1.935.10.1.20.15 +upsEShutdownCancelled: 1.3.6.1.4.1.935.10.1.20.16 +upsEOutlet1GoingShutdown: 1.3.6.1.4.1.935.10.1.20.17 +upsEOutlet1ShutdownCancelled: 1.3.6.1.4.1.935.10.1.20.18 +upsEOutlet2GoingShutdown: 1.3.6.1.4.1.935.10.1.20.19 +upsEOutlet2ShutdownCancelled: 1.3.6.1.4.1.935.10.1.20.20 +upsESleeping: 1.3.6.1.4.1.935.10.1.20.21 +upsEWokeUp: 1.3.6.1.4.1.935.10.1.20.22 +upsEOverTemperature: 1.3.6.1.4.1.935.10.1.20.23 +upsENotOverTemperature: 1.3.6.1.4.1.935.10.1.20.24 +upsEOverLoad: 1.3.6.1.4.1.935.10.1.20.25 +upsENotOverLoad: 1.3.6.1.4.1.935.10.1.20.26 +upsEModuleInserted: 1.3.6.1.4.1.935.10.1.20.27 +upsEModuleRemoved: 1.3.6.1.4.1.935.10.1.20.28 +sensorTemperatureTooHigh: 1.3.6.1.4.1.935.10.1.20.29 +sensorTemperatureNotHigh: 1.3.6.1.4.1.935.10.1.20.30 +sensorTemperatureTooLow: 1.3.6.1.4.1.935.10.1.20.31 +sensorTemperatureNotLow: 1.3.6.1.4.1.935.10.1.20.32 +sensorHumidityTooHigh: 1.3.6.1.4.1.935.10.1.20.33 +sensorHumidityNotHigh: 1.3.6.1.4.1.935.10.1.20.34 +sensorHumidityTooLow: 1.3.6.1.4.1.935.10.1.20.35 +sensorHumidityNotLow: 1.3.6.1.4.1.935.10.1.20.36 +contactAlarm1Active: 1.3.6.1.4.1.935.10.1.20.37 +concactAlarm1Normal: 1.3.6.1.4.1.935.10.1.20.38 +contactAlarm2Active: 1.3.6.1.4.1.935.10.1.20.39 +contactAlarm2Normal: 1.3.6.1.4.1.935.10.1.20.40 +upsEInternalwarning: 1.3.6.1.4.1.935.10.1.20.41 +upsEReturnFromInternalwarning: 1.3.6.1.4.1.935.10.1.20.42 +upsEEPOActive: 1.3.6.1.4.1.935.10.1.20.43 +upsEReturnFromEPOActive: 1.3.6.1.4.1.935.10.1.20.44 +upsEModuleUnlock: 1.3.6.1.4.1.935.10.1.20.45 +upsEReturnFromModuleUnlock: 1.3.6.1.4.1.935.10.1.20.46 +upsEMain1Neutralloss: 1.3.6.1.4.1.935.10.1.20.47 +upsEReturnFromMain1Neutralloss: 1.3.6.1.4.1.935.10.1.20.48 +upsEMain1phaseerror: 1.3.6.1.4.1.935.10.1.20.49 +upsEReturnFromMain1phaseerror: 1.3.6.1.4.1.935.10.1.20.50 +upsESitefault: 1.3.6.1.4.1.935.10.1.20.51 +upsEReturnFromSitefault: 1.3.6.1.4.1.935.10.1.20.52 +upsEBypassAbnormal: 1.3.6.1.4.1.935.10.1.20.53 +upsEReturnFromBypassAbnormal: 1.3.6.1.4.1.935.10.1.20.54 +upsEBypassPhaseError: 1.3.6.1.4.1.935.10.1.20.55 +upsEReturnFromBypassPhaseError: 1.3.6.1.4.1.935.10.1.20.56 +upsEBatteryOpen: 1.3.6.1.4.1.935.10.1.20.57 +upsEReturnFromBatteryOpen: 1.3.6.1.4.1.935.10.1.20.58 +upsEBatteryOverCharge: 1.3.6.1.4.1.935.10.1.20.59 +upsEReturnFromBatteryOverCharge: 1.3.6.1.4.1.935.10.1.20.60 +upsEBatteryReverse: 1.3.6.1.4.1.935.10.1.20.61 +upsEReturnFromBatteryReverse: 1.3.6.1.4.1.935.10.1.20.62 +upsEOverloadforewarning: 1.3.6.1.4.1.935.10.1.20.63 +upsEReturnFromOverloadforewarning: 1.3.6.1.4.1.935.10.1.20.64 +upsEOverloadWarning: 1.3.6.1.4.1.935.10.1.20.65 +upsEReturnFromOverloadWarning: 1.3.6.1.4.1.935.10.1.20.66 +upsEFanLock: 1.3.6.1.4.1.935.10.1.20.67 +upsEReturnFromFanLock: 1.3.6.1.4.1.935.10.1.20.68 +upsEMaintaincoverisopen: 1.3.6.1.4.1.935.10.1.20.69 +upsEReturnFromMaintaincoverisopen: 1.3.6.1.4.1.935.10.1.20.70 +upsEChargerfault: 1.3.6.1.4.1.935.10.1.20.71 +upsEReturnFromChargerfault: 1.3.6.1.4.1.935.10.1.20.72 +upsEModulelocationerror: 1.3.6.1.4.1.935.10.1.20.73 +upsEReturnFromModulelocationerror: 1.3.6.1.4.1.935.10.1.20.74 +upsETurnonabnormal: 1.3.6.1.4.1.935.10.1.20.75 +upsEReturnFromTurnonabnormal: 1.3.6.1.4.1.935.10.1.20.76 +upsERedundancyloss: 1.3.6.1.4.1.935.10.1.20.77 +upsEReturnFromRedundancyloss: 1.3.6.1.4.1.935.10.1.20.78 +upsEHotSwapActived: 1.3.6.1.4.1.935.10.1.20.79 +upsEReturnFromHotSwapActived: 1.3.6.1.4.1.935.10.1.20.80 +upsEBatteryInform: 1.3.6.1.4.1.935.10.1.20.81 +upsEReturnFromBatteryInform: 1.3.6.1.4.1.935.10.1.20.82 +upsEInspectionInform: 1.3.6.1.4.1.935.10.1.20.83 +upsEReturnFromInspectionInform: 1.3.6.1.4.1.935.10.1.20.84 +upsEGuaranteeInform: 1.3.6.1.4.1.935.10.1.20.85 +upsEReturnFromGuaranteeInform: 1.3.6.1.4.1.935.10.1.20.86 +upsETemperatureLow: 1.3.6.1.4.1.935.10.1.20.87 +upsEReturnFromTemperatureLow: 1.3.6.1.4.1.935.10.1.20.88 +upsETemperatureHigh: 1.3.6.1.4.1.935.10.1.20.89 +upsEReturnFromTemperatureHigh: 1.3.6.1.4.1.935.10.1.20.90 +upsEBatteryOverTemperature: 1.3.6.1.4.1.935.10.1.20.91 +upsEReturnFromBatteryOverTemperature: 1.3.6.1.4.1.935.10.1.20.92 +upsEFanMaintainInform: 1.3.6.1.4.1.935.10.1.20.93 +upsEReturnFromFanMaintainInform: 1.3.6.1.4.1.935.10.1.20.94 +upsEBusCapacitanceMaintainInform: 1.3.6.1.4.1.935.10.1.20.95 +upsEReturnFromBusCapacitanceMaintainInform: 1.3.6.1.4.1.935.10.1.20.96 +upsESystemOverCapacity: 1.3.6.1.4.1.935.10.1.20.97 +upsEReturnFromSystemOverCapacity: 1.3.6.1.4.1.935.10.1.20.98 +upsEBelowCapacityLimit: 1.3.6.1.4.1.935.10.1.20.123 +upsENotBelowCapacityLimit: 1.3.6.1.4.1.935.10.1.20.124 +upsEBelowRemainTimeLimit: 1.3.6.1.4.1.935.10.1.20.125 +upsENotBelowRemainTimeLimit: 1.3.6.1.4.1.935.10.1.20.126 +upsELoadSegment1Off: 1.3.6.1.4.1.935.10.1.20.127 +upsELoadSegment1On: 1.3.6.1.4.1.935.10.1.20.128 +upsELoadSegment2Off: 1.3.6.1.4.1.935.10.1.20.129 +upsELoadSegment2On: 1.3.6.1.4.1.935.10.1.20.130 \ No newline at end of file diff --git a/mibs/EPPC.MIB b/mibs/EPPC.MIB new file mode 100644 index 0000000..6df3b94 --- /dev/null +++ b/mibs/EPPC.MIB @@ -0,0 +1,2360 @@ +-- PPC MIB +-- ==================================================================== +-- Revision History +-- v0.13 2011-11-10 Gavin Zhao created, Lilinhua modified +-- *************************NMC v0.0.1.7*********************************** +-- v0.14 2011-11-18 Lilinhua +-- 1. Modify string "ppcTrap" to "eppcTrap" +-- 2012-02-09 Lilinhua +-- 1. Modify upsESystemFaultCode's description "The warning code of UPS" to "The fault code of UPS". +-- *************************NMC v1.1.0.4************************************ +-- v0.15 2012-07-20 Lilinhua +-- 1. upsEShutdownWarningPeriodInterval, modify access from read-only to read-write. +-- 2. upsEShutdownwarningPeriodTime, add unit second. +-- 2012-07-31 Lilinhua +-- 1. Modify upsEBatteryTestElapsedTime's format from hh:mm:ss.ss to hh:mm:ss +-- 2012-08-09 Lilinhua +-- 1. Modify values of upsEModuleWorkingMode as upsESystemStatus's. +-- *************************NMC v1.1.0.6************************************ +-- 2012-08-27 Lilinhua +-- 1. Modify "Moudles" to "Modules", advised by Beth. +-- 2. Modify module name as phase name "upsEModuleOutputCurrentR", "upsEModuleOutputWattR", "upsEModuleOutputLoadR". +-- 3. Add Convert module item "upsEModuleTrapState(12)". +-- 4. Add Convert module item "upsEModuleConfigOutputVA(13)". +-- 5. Add Convert module item "upsEModuleOutputCurrentS(14)", "upsEModuleOutputCurrentT(15)". +-- 6. Add Convert module item "upsEModuleOutputWattS(16)", "upsEModuleOutputWattT(17)". +-- 7. Add Convert module item "upsEModuleOutputLoadS(18)", "upsEModuleOutputLoadT(19)". +-- 8. Add Convert module item "upsEModuleOutputVAR(20)", "upsEModuleOutputVAS(21)", "upsEModuleOutputVAT(22)". +-- 9. Modify upsETrapState max length from 255 to 127. +-- *************************NMC v1.1.0.6************************************ +-- 2012-08-27 Lilinhua +-- 1. Modify trap description of Overload, OverTemperature. +-- *************************NMC v1.3.0.0************************************ +-- 2013-06-21 Lilinhua +-- 1. Add two upsEShutdownEvents: "belowCapacityLimit(11), belowRemainTimeLimit(12)". +-- 2. Add 4 traps: upsEBelowCapacityLimit, upsENotBelowCapacityLimit, upsEBelowRemainTimeLimit, upsENotBelowRemainTimeLimit. +-- 3. Add 2 config data: upsESystemConfigBelowCapacityLimit, upsESystemConfigBelowRemainTimeLimit. +-- 4. Modify upsETrapState's description: "trap 2(battery on)" to "trap 7(battery on)". +-- *************************NMC v1.4.0.3************************************ +-- 2014-10-15 Lilinhua +-- 1. Modify descriptions of "upsEEnvironmentTemperatureHighSetPoint, upsEEnvironmentHumidityHighSetPoint, +-- upsEEnvironmentTemperatureLowSetPoint, upsEEnvironmentHumidityLowSetPoint". +-- *************************NMC v1.5.0.4************************************ +-- v0.16 2015-01-05 Lilinhua +-- 1. Modify MIB for add Load segment. + + +EPPC-MIB DEFINITIONS ::= BEGIN + IMPORTS + TRAP-TYPE + FROM RFC-1215 + DisplayString + FROM SNMPv2-TC + OBJECT-TYPE + FROM RFC-1212 + enterprises,Counter, IpAddress + FROM RFC1155-SMI + PositiveInteger,NonNegativeInteger + FROM UPS-MIB; + +ppc OBJECT IDENTIFIER ::= { enterprises 935 } + +device OBJECT IDENTIFIER ::= { ppc 10 } +upsAgent OBJECT IDENTIFIER ::= { device 1 } + +upsE OBJECT IDENTIFIER ::= { upsAgent 1 } +upsETraps OBJECT IDENTIFIER ::= { upsAgent 2 } +upsEIdentity OBJECT IDENTIFIER ::= { upsE 1 } +upsESystemSummary OBJECT IDENTIFIER ::= { upsE 2 } +upsEBatterySystem OBJECT IDENTIFIER ::= { upsE 3 } +upsEPowerConverterSystem OBJECT IDENTIFIER ::= { upsE 4 } +upsELoadSegment OBJECT IDENTIFIER ::= { upsE 5 } +upsEEnvironment OBJECT IDENTIFIER ::= { upsE 6 } +upsEBatteryTest OBJECT IDENTIFIER ::= { upsE 7 } +upsEControl OBJECT IDENTIFIER ::= { upsE 8 } +upsETrapControl OBJECT IDENTIFIER ::= { upsE 9 } + +--======================================================================== +--upsEIdentity +--======================================================================== + + upsEIdentityManufacturer OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 31 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The name of the UPS manufacturer." + ::= { upsEIdentity 1 } + + upsEIdentityModel OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 63 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The UPS Model designation." + ::= { upsEIdentity 2 } + + upsEIdentityUPSFirmwareVerison OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 31 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The UPS firmware/software version(s)." + ::= { upsEIdentity 3 } + + upsEIndentityUPSSerialNumber OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 31 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "optional. + Most UPS don't supply the value of UPS serial No." + ::= { upsEIdentity 4 } + + upsEIdentityDescription OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 63 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "A string to identify the UPS. This object should be + set by the administrator." + ::= { upsEIdentity 5 } + + upsEIdentityAgentSoftwareVerison OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 31 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The Network Management Card software/firmware version. + This variable may or may not have the same value as + upsEIdentGroupUPSSoftwareVersion in some implementations." + ::= { upsEIdentity 6 } + + upsEIdentityAttachedDevices OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 63 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "A string identifying the devices attached to the output(s) + of the UPS. This object should be set by the administrator" + ::= { upsEIdentity 7 } + +--======================================================================== +--upsESystemSummary +--======================================================================== + + upsESystemStatus OBJECT-TYPE + SYNTAX INTEGER { power-on ( 1 ) , stand-by( 2 ) , by-pass ( 3 ) , + line( 4 ) , battery ( 5 ) , battery-test ( 6 ) , fault ( 7 ) , + converter ( 8 ) , eco ( 9 ) , shutdown ( 10 ) , on-booster ( 11 ) , on-reducer ( 12 ) , other( 13 ) } + ACCESS read-only + STATUS mandatory + DESCRIPTION "The indication of UPS system status." + ::= { upsESystemSummary 1 } + + upsESystemTemperature OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The temperature of UPS presented in 0.1 degree." + ::= { upsESystemSummary 2 } + + upsESystemWarningCode OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 15 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The warning code of UPS. Please refer the warning table + of 'Q6' for details." + ::= { upsESystemSummary 3 } + + upsESystemFaultCode OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 15 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The fault code of UPS.Please refer the fault code + of 'Q6' for details." + ::= { upsESystemSummary 4 } + + upsESystemConfigInputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal input voltage presented in 0.1 V. On those + systems which support read-write access to this object, if there is an + attempt to set this variable to a value that is not supported, + the request must be rejected and the agent shall respond with an + appropriate error message, i.e., badValue for SNMPv1, or + inconsistentValue for SNMPv2." + ::= { upsESystemSummary 5 } + + upsESystemConfigInputFrequence OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The nominal input frequency presented in 0.1 Hz. On those systems which support + read-write access to this object, if there is an attempt to + set this variable to a value that is not supported, the request + must be rejected and the agent shall respond with an appropriate + error message, i.e., badValue for SNMPv1, or inconsistentValue for SNMPv2." + ::= { upsESystemSummary 6 } + + upsESystemConfigOutputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal output voltage presented in 0.1V. On those systems + which support read-write access to this object, if there is an + attempt to set this variable to a value that is not supported, + the request must be rejected and the agent shall respond with an + appropriate error message, i.e., badValue for SNMPv1, or + inconsistentValue for SNMPv2" + ::= { upsESystemSummary 7 } + + upsESystemConfigOutputFrequency OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The nominal output frequency presented in 0.1Hz. On those systems which support + read-write access to this object, if there is an attempt to set + this variable to a value that is not supported, the request must + be rejected and the agent shall respond with an appropriate error + message, i.e., badValue for SNMPv1, or inconsistentValue for SNMPv2." + ::= { upsESystemSummary 8 } + + upsESystemConfigOutputVA OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal Volt-Amp rating presented in VA." + ::= { upsESystemSummary 9 } + + upsESystemConfigOutputPower OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal true power rating presented in W ." + ::= { upsESystemSummary 10 } + + upsESystemConfigOutputLoadHighSetPoint OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The maximum output load allowed before the load is too high for + UPS operation " + ::= { upsESystemSummary 11 } + + upsESystemConfigOverTemperatureSetPoint OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The maximum temperature allowed before the UPS + operation temperature is too high, presented in 0.1 degree." + ::= { upsESystemSummary 12 } + + upsESystemInputSourceNum OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The present external source of input power." + ::= { upsESystemSummary 13 } + + upsESystemInputLineBads OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION "The number of times the Input was out of tolerance in voltage or frequency. + Its value should be initialized 0 after agent restarting. " + ::= { upsESystemSummary 14 } + + upsESystemInputNumPhases OBJECT-TYPE + SYNTAX PositiveInteger ( 1 .. 3 ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The number of input phase utilized is this device, serves as the table index. + This value indicate the device initialized feature." + ::= { upsESystemSummary 15 } + + upsESystemInputTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsSystemInputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "A list of input table entries. The number of entries is given by the + value of upsESystemInputNumPhase." + ::= { upsESystemSummary 16 } + + upsESystemInputEntry OBJECT-TYPE + SYNTAX UpsSystemInputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular input line." + INDEX { upsESystemInputPhase } + ::= { upsESystemInputTable 1 } + + UpsSystemInputEntry ::= SEQUENCE { + upsESystemInputPhase PositiveInteger, + upsESystemInputFrequency NonNegativeInteger, + upsESystemInputVoltage NonNegativeInteger, + upsESystemInputCurrent NonNegativeInteger, + upsESystemInputWatts NonNegativeInteger + } + + + upsESystemInputPhase OBJECT-TYPE + SYNTAX PositiveInteger( 1 .. 3 ) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The number of the phase. Serves as index for input table" + ::= { upsESystemInputEntry 1 } + + + upsESystemInputFrequency OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured input frquency from the UPS meters in 0.1Hz." + ::= { upsESystemInputEntry 2 } + + + upsESystemInputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured input voltage from the UPS meters in 0.1 volts" + ::= { upsESystemInputEntry 3 } + + + upsESystemInputCurrent OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured input mandatory from the UPS meters in 0.1 amps." + ::= { upsESystemInputEntry 4 } + + + upsESystemInputWatts OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured input real power in watts." + ::= { upsESystemInputEntry 5 } + + upsESystemOutputNumPhase OBJECT-TYPE + SYNTAX PositiveInteger ( 1 .. 3 ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The number of metered output phases, serves as the table index. + This value indicate the device initialized feature." + ::= { upsESystemSummary 17 } + + upsESystemOutputTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsSystemOutputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "A list of output table entries. The number of entries is given + by the value of upsESystemOutputNumPhase." + ::= { upsESystemSummary 18 } + + upsESystemOutputEntry OBJECT-TYPE + SYNTAX UpsSystemOutputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular line." + INDEX { upsESystemOutputPhase } + ::= { upsESystemOutputTable 1 } + + UpsSystemOutputEntry ::= SEQUENCE { + upsESystemOutputPhase PositiveInteger, + upsESystemOutputFrequency NonNegativeInteger, + upsESystemOutputVoltage NonNegativeInteger, + upsESystemOutputCurrent NonNegativeInteger, + upsESystemOutputWatts NonNegativeInteger, + upsESystemOutputVA NonNegativeInteger, + upsESystemOutputLoad NonNegativeInteger + } + + + upsESystemOutputPhase OBJECT-TYPE + SYNTAX PositiveInteger ( 1 .. 3 ) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The number of the phase. Serves as index for output table" + ::= { upsESystemOutputEntry 1 } + + + upsESystemOutputFrequency OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured output frequency from the UPS meters in 0.1Hz." + ::= { upsESystemOutputEntry 2 } + + + upsESystemOutputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured output voltage from the UPS meters in 0.1 volts" + ::= { upsESystemOutputEntry 3 } + + + upsESystemOutputCurrent OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured output mandatory from the UPS meters in 0.1 amps." + ::= { upsESystemOutputEntry 4 } + + + upsESystemOutputWatts OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured output real power in watts." + ::= { upsESystemOutputEntry 5 } + + upsESystemOutputVA OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured output real complex power in VA." + ::= { upsESystemOutputEntry 6 } + + + upsESystemOutputLoad OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The UPS output load in percent of rated capacity." + ::= { upsESystemOutputEntry 7 } + + upsESystemBypassNumPhase OBJECT-TYPE + SYNTAX PositiveInteger ( 1 .. 3 ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The number of bypass phases, serves as the table index. + This value indicate the device initialized feature" + ::= { upsESystemSummary 19 } + + upsESystemBypassTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsSystemBypassEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "A list of bypass table entries. The number of entries is given by the + value of upsESystemBypassNumPhase." + ::= { upsESystemSummary 20 } + + + upsESystemBypassEntry OBJECT-TYPE + SYNTAX UpsSystemBypassEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular line." + INDEX { upsESystemBypassPhase } + ::= { upsESystemBypassTable 1 } + + UpsSystemBypassEntry ::= SEQUENCE { + upsESystemBypassPhase PositiveInteger, + upsESystemBypassFrequency NonNegativeInteger, + upsESystemBypassVoltage NonNegativeInteger, + upsESystemBypassCurrent NonNegativeInteger, + upsESystemBypassWatts NonNegativeInteger + } + + + upsESystemBypassPhase OBJECT-TYPE + SYNTAX PositiveInteger ( 1 .. 3 ) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The number of the phase. Serves as index for bypass table" + ::= { upsESystemBypassEntry 1 } + + + upsESystemBypassFrequency OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured bypass frequency from the UPS meters in 0.1 Hz." + ::= { upsESystemBypassEntry 2 } + + + upsESystemBypassVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured bypass voltage from the UPS meters in 0.1 volts" + ::= { upsESystemBypassEntry 3 } + + + upsESystemBypassCurrent OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured bypass mandatory from the UPS meters in 0.1 amps" + ::= { upsESystemBypassEntry 4 } + + + upsESystemBypassWatts OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured bypass input real power in watts." + ::= { upsESystemBypassEntry 5 } + + + upsESystemConfigBelowCapacityLimit OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The UPS batteries capacity(%) limit for shutdown" + ::= { upsESystemSummary 21 } + + upsESystemConfigBelowRemainTimeLimit OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The UPS batteries backup time(minute) limit for shutdown" + ::= { upsESystemSummary 22 } + +--======================================================================== +--upsEBatterySystem +--======================================================================== + + upsEBatteryStatus OBJECT-TYPE + SYNTAX INTEGER { unknown ( 1 ) , batteryNormal ( 2 ) , batteryLow ( 3 ) , + batteryDepleted ( 4 ) , batteryDischarging ( 5 ) , batteryFailure ( 6 ) } + ACCESS read-only + STATUS mandatory + DESCRIPTION " The status of UPS battery, a value of batteryLow indicates + that the battery-low status bit has been set from device. + A value of batteryDepleted indicates that the UPS will be + unable to sustain the present load when and if the utility + power is lost (including the possibility that the utility + power is mandatoryly absent and the UPS is unable to sustain + the output)" + ::= { upsEBatterySystem 1 } + + upsESecondsOnBattery OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "If the unit is on battery power, the elapsed time + since the UPS last switched to battery power, or the + time since the network management subsystem was last + restarted, whichever is less. 0 shall be returned + if the unit is not on battery power" + ::= { upsEBatterySystem 2 } + + upsEBatteryEstimatedMinutesRemaining OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "An estimate of the time to battery charge depletion + under the present load conditions if the utility power + is off and remains off, or if it were to be lost and + remain off." + ::= { upsEBatterySystem 3 } + + upsEBatteryEstimatedChargeRemaining OBJECT-TYPE + SYNTAX Integer32 ( 0 .. 100 ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "An estimate of the battery charge remaining expressed + as a percent of full charge" + ::= { upsEBatterySystem 4 } + + upsEPositiveBatteryVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the present positive battery voltage in 0.1 Volt DC" + ::= { upsEBatterySystem 5 } + + upsENegativeBatteryVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the present negative battery voltage in 0.1 Volt DC" + ::= { upsEBatterySystem 6 } + + upsEBatteryCellNumber OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "This object indicate the cell number of each set." + ::= { upsEBatterySystem 7 } + + upsEBatteryTemperature OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The ambient temperature at or near the UPS Battery + casing in 0.1 degree." + ::= { upsEBatterySystem 8 } + + upsEBatteryLastReplacedDate OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 10 .. 10 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The date when the Batteries in this UPS were last replaced. + The format should be DD/MM/YYYY." + ::= { upsEBatterySystem 9 } + + upsEBatteryABMStatus OBJECT-TYPE + SYNTAX INTEGER { charge ( 1 ) , float ( 2 ) , rest ( 3 ) , + discharge ( 4 ) , disable ( 5 ) } + ACCESS read-only + STATUS mandatory + DESCRIPTION " The status of ABM." + ::= { upsEBatterySystem 10 } + + upsEChargerModulesNum OBJECT-TYPE + SYNTAX NonNegativeInteger ( 0 .. 32 ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The number of charger modules inserted to UPS systems. served + as the index of the upsEChargerModulesTable. + The default value 0 indicate that the UPS system don't have + separate charger module." + ::= { upsEBatterySystem 11 } + + upsEChargerModulesTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsChargerModulesEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "A list of charger modules entries. The number of entries is given + by the value of upsEchargerModulesNum." + ::= { upsEBatterySystem 12 } + + upsEChargerModulesEntry OBJECT-TYPE + SYNTAX UpsChargerModulesEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular charger module." + INDEX { chargerModulesNum } + ::= { upsEChargerModulesTable 1 } + + UpsChargerModulesEntry ::= SEQUENCE { + chargerModulesNum PositiveInteger, + chargerModulesAddress NonNegativeInteger , + positiveChargeVotlage NonNegativeInteger, + negativeChargeVoltage NonNegativeInteger, + positiveChargeCurrent NonNegativeInteger, + negativeChargeCurrent NonNegativeInteger, + chargerModulesTemperature INTEGER, + chargerModulesMode INTEGER + } + + + chargerModulesNum OBJECT-TYPE + SYNTAX PositiveInteger ( 1 .. 32 ) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The number of charger modules. Serves as index for charger module table" + ::= { upsEChargerModulesEntry 1 } + + + chargerModulesAddress OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "Charger Modules' address." + ::= { upsEChargerModulesEntry 2 } + + + positiveChargeVotlage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured positive charger voltage from the UPS meters in 0.1 volts" + ::= { upsEChargerModulesEntry 3 } + + + negativeChargeVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured nepositive charger voltage from the UPS meters in 0.1 volts" + ::= { upsEChargerModulesEntry 4 } + + + positiveChargeCurrent OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured positive charger mandatory from the UPS meters in in 0.1 amps." + ::= { upsEChargerModulesEntry 5 } + + + negativeChargeCurrent OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured nepositive charger mandatory from the UPS meters in 0.1 amps." + ::= { upsEChargerModulesEntry 6 } + + + chargerModulesTemperature OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured charger temperature from the UPS meters in 0.1 degree." + ::= { upsEChargerModulesEntry 7 } + + + chargerModulesMode OBJECT-TYPE + SYNTAX INTEGER { powerOn ( 1 ) , standyby ( 2 ) , fault ( 3 ) , shutdown ( 4 ) , + running ( 5 ) , suicide ( 6 ) , unknown ( 7 ) } + ACCESS read-only + STATUS mandatory + DESCRIPTION "The working mode of charger modules." + ::= { upsEChargerModulesEntry 8 } + +--======================================================================== +--upsEPowerConverterSystem +--======================================================================== + + upsEUPSModulesNum OBJECT-TYPE + SYNTAX NonNegativeInteger ( 0 .. 32 ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The number of UPS modules inserted to UPS systems. + served as the index of the upsEModulesTable. + the default value 0 indicate that the UPS system do not + have separate UPS module." + ::= { upsEPowerConverterSystem 1 } + + upsEModulesTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsModulesEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "A list of UPS modules entries. The number of entries is + given by the value of upsEModulesNum." + ::= { upsEPowerConverterSystem 2 } + + upsEModulesEntry OBJECT-TYPE + SYNTAX UpsModulesEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular upsE module." + INDEX { upsEModulesNum } + ::= { upsEModulesTable 1 } + + UpsModulesEntry ::= SEQUENCE { + upsEModulesNum PositiveInteger, + upsEModuleAddress INTEGER, + upsEModulePositiveBusVolt NonNegativeInteger, + upsEModuleNegativeBusVolt NonNegativeInteger, + upsEModuleTemperature INTEGER, + upsEModuleWorkingMode INTEGER, + upsEModuleOutputCurrentR NonNegativeInteger, + upsEModuleOutputWattR NonNegativeInteger, + upsEModuleOutputLoadR INTEGER, + upsEModuleWarningCode DisplayString, + upsEModuleFaultCode DisplayString, + + upsEModuleTrapState DisplayString, + upsEModuleConfigOutputVA NonNegativeInteger, + upsEModuleOutputCurrentS NonNegativeInteger, + upsEModuleOutputCurrentT NonNegativeInteger, + upsEModuleOutputWattS NonNegativeInteger, + upsEModuleOutputWattT NonNegativeInteger, + upsEModuleOutputLoadS INTEGER, + upsEModuleOutputLoadT INTEGER, + upsEModuleOutputVAR NonNegativeInteger, + upsEModuleOutputVAS NonNegativeInteger, + upsEModuleOutputVAT NonNegativeInteger + } + + + upsEModulesNum OBJECT-TYPE + SYNTAX PositiveInteger ( 1 .. 32 ) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The number of UPS modules. Serves as index for UPS module table" + ::= { upsEModulesEntry 1 } + + + upsEModuleAddress OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "the address of UPS modules." + ::= { upsEModulesEntry 2 } + + + upsEModulePositiveBusVolt OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured positive upsE module voltage from the UPS meters in 0.1 volts" + ::= { upsEModulesEntry 3 } + + + upsEModuleNegativeBusVolt OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured nepositive upsE module voltage from the UPS meters in 0.1 volts" + ::= { upsEModulesEntry 4 } + + + upsEModuleTemperature OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured upsE module temperature from the UPS meters in 0.1 degree." + ::= { upsEModulesEntry 5 } + + + upsEModuleWorkingMode OBJECT-TYPE + SYNTAX INTEGER {power-on ( 1 ) , stand-by( 2 ) , by-pass ( 3 ) , + line( 4 ) , battery ( 5 ) , battery-test ( 6 ) , fault ( 7 ) , + converter ( 8 ) , eco ( 9 ) , shutdown ( 10 ) , on-booster ( 11 ) , on-reducer ( 12 ) , other( 13 ) } + ACCESS read-only + STATUS mandatory + DESCRIPTION "The working mode of UPS modules." + ::= { upsEModulesEntry 6 } + + + upsEModuleOutputCurrentR OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured upsE module output mandatory from the UPS meters in 0.1 A." + ::= { upsEModulesEntry 7 } + + + upsEModuleOutputWattR OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured upsE module output watts from the UPS meters in watts." + ::= { upsEModulesEntry 8 } + + + upsEModuleOutputLoadR OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The output load of UPS modules in %." + ::= { upsEModulesEntry 9 } + + upsEModuleWarningCode OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 15 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The warning code of ups modules.Please refer the warning table of 'QU,XX' for details." + ::= { upsEModulesEntry 10 } + + upsEModuleFaultCode OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 15 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The fault code of ups modules.Please refer command 'QU,XX' for details." + ::= { upsEModulesEntry 11 } + + upsEModuleTrapState OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 127 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "the values indicate the unrestored traps. + For example, after AC fail, so the value of upsETrapState should be '1'. + And then the AC restore, the value of upsEModuleTrapState + should change to empty." + ::= { upsEModulesEntry 12 } + + + upsEModuleConfigOutputVA OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal Volt-Amp rating presented in VA." + ::= { upsEModulesEntry 13 } + + + upsEModuleOutputCurrentS OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured upsE module output mandatory from the UPS meters in 0.1 A." + ::= { upsEModulesEntry 14 } + + upsEModuleOutputCurrentT OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured upsE module output mandatory from the UPS meters in 0.1 A." + ::= { upsEModulesEntry 15 } + + upsEModuleOutputWattS OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured upsE module output watts from the UPS meters in watts." + ::= { upsEModulesEntry 16 } + + upsEModuleOutputWattT OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measured upsE module output watts from the UPS meters in watts." + ::= { upsEModulesEntry 17 } + + upsEModuleOutputLoadS OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The output load of UPS modules in %." + ::= { upsEModulesEntry 18 } + + upsEModuleOutputLoadT OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The output load of UPS modules in %." + ::= { upsEModulesEntry 19 } + + upsEModuleOutputVAR OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal Volt-Amp rating presented in VA." + ::= { upsEModulesEntry 20 } + + upsEModuleOutputVAS OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal Volt-Amp rating presented in VA." + ::= { upsEModulesEntry 21 } + + upsEModuleOutputVAT OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The magnitude of the nominal Volt-Amp rating presented in VA." + ::= { upsEModulesEntry 22 } + +--======================================================================== +--upsELoadSegment +--======================================================================== + upsELoadSegment1OffDelay OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "Setting this object will shutdown the UPS Load Segment output after the indicated number of seconds, or less. + Setting this object to 0 will cause the shutdown to occur immediately. Setting this object to -1 will + abort the countdown. Read this object will get countdown value of the Load Segment." + ::= { upsELoadSegment 1 } + + upsELoadSegment1OnDelay OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "Setting this object will start the Load segment output after the indicated number of seconds, + including starting the UPS, if necessary. Setting this object to 0 will cause the startup + to occur immediately. Setting this object to -1 will abort the countdown." + ::= { upsELoadSegment 2 } + + upsELoadSegment1AutoOffTimer OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The load segment turns automatically off after the delay while the unit operates on battery, + but the shutdown is cancelled if the utility return before the delay has expired." + ::= { upsELoadSegment 3 } + + upsELoadSegment1AutoOnTimer OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The load segment is automatically turned on after a selected delay + if it has been shutdown due to on battery." + ::= { upsELoadSegment 4 } + + upsELoadSegment1State OBJECT-TYPE + SYNTAX INTEGER { off(1), on(2), off-pending(3), on-pending(4), not-support(5) } + ACCESS read-only + STATUS mandatory + DESCRIPTION "Load segment output state." + ::= { upsELoadSegment 5 } + + upsELoadSegment2OffDelay OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "Setting this object will shutdown the UPS Load Segment output after the indicated number of seconds, or less. + Setting this object to 0 will cause the shutdown to occur immediately. Setting this object to -1 will + abort the countdown. Read this object will get countdown value of the Load Segment." + ::= { upsELoadSegment 6 } + + upsELoadSegment2OnDelay OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "Setting this object will start the Load segment output after the indicated number of seconds, + including starting the UPS, if necessary. Setting this object to 0 will cause the startup + to occur immediately. Setting this object to -1 will abort the countdown." + ::= { upsELoadSegment 7 } + + upsELoadSegment2AutoOffTimer OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The load segment turns automatically off after the delay while the unit operates on battery, + but the shutdown is cancelled if the utility return before the delay has expired." + ::= { upsELoadSegment 8 } + + upsELoadSegment2AutoOnTimer OBJECT-TYPE + -- Valid value is from -1 to 32767 + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The load segment is automatically turned on after a selected delay + if it has been shutdown due to on battery." + ::= { upsELoadSegment 9 } + + upsELoadSegment2State OBJECT-TYPE + SYNTAX INTEGER { off(1), on(2), off-pending(3), on-pending(4), not-support(5) } + ACCESS read-only + STATUS mandatory + DESCRIPTION "Load segment output state." + ::= { upsELoadSegment 10 } + +--======================================================================== +--upsEEnvironment +--======================================================================== + + upsEEnvironmentTemperature OBJECT IDENTIFIER ::= { upsEEnvironment 1 } + + upsEEnvironmentCurrentTemperature OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measurement of temperature sensor, in 0.1 degree" + ::= { upsEEnvironmentTemperature 1 } + + upsEEnvironmentTemperatureHighSetPoint OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The set point for high temperature warning, in 0.1 degrees. + This value must be greater than upsEEnvironmentTemperatureLowSetPoint, + and the least significant digit must be zero." + ::= { upsEEnvironmentTemperature 2 } + + upsEEnvironmentTemperatureHighStatus OBJECT-TYPE + SYNTAX INTEGER { enable ( 1 ) , disable ( 2 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "To enable/disable high set point check with sensor temperature." + ::= { upsEEnvironmentTemperature 3 } + + upsEEnvironmentTemperatureLowSetPoint OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The set point for low temperature warning, in 0.1 degrees. + This value must be less than upsEEnvironmentTemperatureHighSetPoint, + and the least significant digit must be zero." + ::= { upsEEnvironmentTemperature 4 } + + upsEEnvironmentTemperatureLowStatus OBJECT-TYPE + SYNTAX INTEGER { enable ( 1 ) , disable ( 2 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "To enable/disable low set point check with sensor temperature." + ::= { upsEEnvironmentTemperature 5 } + + upsEEnvironmentTemperatureOffset OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The offset to calibrate temperature of EMD, in 0.1 degrees" + ::= { upsEEnvironmentTemperature 6 } + + upsEEnvironmentHumidity OBJECT IDENTIFIER ::= { upsEEnvironment 2 } + + upsEEnvironmentCurrentHumidity OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The measurement of sensor humidity present in %." + ::= { upsEEnvironmentHumidity 1 } + + upsEEnvironmentHumidityHighSetPoint OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The set point for high humidity warning, in %. + This value must be greater than upsEEnvironmentHumidityLowSetPoint." + ::= { upsEEnvironmentHumidity 2 } + + upsEEnvironmentHumidityHighStatus OBJECT-TYPE + SYNTAX INTEGER { enable ( 1 ) , disable ( 2 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "To enable/disable high set point check with emd humidity." + ::= { upsEEnvironmentHumidity 3 } + + upsEEnvironmentHumidityLowSetPoint OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The set point for low humidity warning, in %. + This value must be less than upsEEnvironmentHumidityHighSetPoint." + ::= { upsEEnvironmentHumidity 4 } + + upsEEnvironmentHumidityLowStatus OBJECT-TYPE + SYNTAX INTEGER { enable ( 1 ) , disable ( 2 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "To enable/disable high set point check with emd humidity." + ::= { upsEEnvironmentHumidity 5 } + + upsEEnvironmentHumidityOffset OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION "The offset to calibrate humidity of EMD, in %." + ::= { upsEEnvironmentHumidity 6 } + + upsEEnvironmentContactsNum OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION "The number of environment contacts, serves as the table index." + ::= { upsEEnvironment 3 } + + upsEEnvironmentContactTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsEEnvironmentContactEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "A list of contacts table entries. The number of entries is given by the + value of upsEEnvironmentContactsNum" + ::= { upsEEnvironment 4 } + + upsEEnvironmentContactEntry OBJECT-TYPE + SYNTAX UpsEEnvironmentContactEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular contact" + INDEX { upsEEnvironmentContactIndex } + ::= { upsEEnvironmentContactTable 1 } + + UpsEEnvironmentContactEntry ::= SEQUENCE { + upsEEnvironmentContactIndex PositiveInteger, + upsEEnvironmentContactType INTEGER, + upsEEnvironmentContactState INTEGER, + upsEEnvironmentContactDescription DisplayString + } + + + upsEEnvironmentContactIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The number of environment contacts. Serves as index for environment contact table" + ::= { upsEEnvironmentContactEntry 1 } + + + upsEEnvironmentContactType OBJECT-TYPE + SYNTAX INTEGER { normallyOpen ( 1 ) , normallyClosed ( 2 ) , notUsed ( 3 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "operation type" + ::= { upsEEnvironmentContactEntry 2 } + + + upsEEnvironmentContactState OBJECT-TYPE + SYNTAX INTEGER { open ( 1 ) , closed ( 2 ) , openWithNotice ( 3 ) , closedWithNotice ( 4 ) } + ACCESS read-only + STATUS mandatory + DESCRIPTION "The mandatory status." + ::= { upsEEnvironmentContactEntry 3 } + + + upsEEnvironmentContactDescription OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 31 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "Description of environment contact." + ::= { upsEEnvironmentContactEntry 4 } + +--======================================================================== +--upsEBatteryTest +--======================================================================== + + upsEBatteryTestStart OBJECT-TYPE + SYNTAX INTEGER { none ( 1 ) , batteryTest10Sec ( 2 ) , batteryTestUntilLow ( 3 ) , + batteryTestWithTime ( 4 ) , cancelBatteryTest ( 5 ) , clearBatteryInfo ( 6 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "This object specify the battery test type and initiate battery test. + If battTestWithTime selected, the test time is refer to upsEBatteryTestSettingTime." + ::= { upsEBatteryTest 1 } + + upsEBatteryTestSettingTime OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The object specify the test time for battery test in seconds." + ::= { upsEBatteryTest 2 } + + upsEBatteryTestResult OBJECT-TYPE + SYNTAX INTEGER { idle ( 1 ) , processing ( 2 ) , noFailure ( 3 ) , + failureOrWarning ( 4 ) , notPossible ( 5 ) , testCancel ( 6 ) } + ACCESS read-only + STATUS mandatory + DESCRIPTION "This object indicate the test result of battery." + ::= { upsEBatteryTest 3 } + + upsEBatteryTestStartTime OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 19 .. 19 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The value of the time the test in progress was initiated, + or, if no test is in progress, the time the previous test + was initiated. If the value of upsETestBatteryTestResult + is noTestsInitiated(6), upsETestStartTime has the value + 01/01/1970 00:00:00." + ::= { upsEBatteryTest 4 } + + upsEBatteryTestElapsedTime OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 11 .. 11 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "The amount of time in format hh:mm:ss, since the test in progress + was initiated, or, if no test is in progress, the previous + test took to complete. If the value of upsTestResultsSummary + is idle(1), upsTestElapsedTime has the value 00:00:00." + ::= { upsEBatteryTest 5 } + + + upsEBatteryTestScheduleTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsBatteryTestScheduleEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "This table describes the schedule for automatically battery + test." + ::= { upsEBatteryTest 6 } + + upsEBatteryTestScheduleEntry OBJECT-TYPE + SYNTAX UpsBatteryTestScheduleEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to schedule test." + INDEX { upsEBatteryTestScheduleIndex } + ::= { upsEBatteryTestScheduleTable 1 } + + UpsBatteryTestScheduleEntry ::= SEQUENCE { + upsEBatteryTestScheduleIndex PositiveInteger, + upsEBatteryTestScheduleDay INTEGER, + upsEBatteryTestScheduleTime DisplayString, + upsEBatteryTestScheduleType INTEGER, + upsEBatteryTestScheduleTestWithTime NonNegativeInteger, + upsEBatteryTestScheduleSpecialDay DisplayString + } + + + upsEBatteryTestScheduleIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The index of battery test scheduled." + ::= { upsEBatteryTestScheduleEntry 1 } + + + upsEBatteryTestScheduleDay OBJECT-TYPE + SYNTAX INTEGER { monday ( 1 ) , tuesday ( 2 ) , wednsday ( 3 ) , + thusday ( 4 ) , friday ( 5 ) , saturday ( 6 ) , + sunday ( 7 ) , specialday ( 8 ) , none ( 9 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "The weekday or specaial day on which the UPS should start battery test." + ::= { upsEBatteryTestScheduleEntry 2 } + + + upsEBatteryTestScheduleTime OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 5 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The time that the battery test will be initiated in hh:mm format." + ::= { upsEBatteryTestScheduleEntry 3 } + + + upsEBatteryTestScheduleType OBJECT-TYPE + SYNTAX INTEGER { none ( 1 ) , batteryTest10sec ( 2 ) , batteryTestUntilLow ( 3 ) , + batteryTestWithTime ( 4 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "The type of battery test." + ::= { upsEBatteryTestScheduleEntry 5 } + + + upsEBatteryTestScheduleTestWithTime OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The battery time of setting time test in seconds." + ::= { upsEBatteryTestScheduleEntry 6 } + + + upsEBatteryTestScheduleSpecialDay OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 10 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The special day that the battery test will be initiated in dd/mm/yyyy format." + ::= { upsEBatteryTestScheduleEntry 7 } + +--======================================================================== +-- upsEControl +--======================================================================== + + upsEControlOutputOffDelay OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "Setting this value to other than zero will cause the UPS + output to turn off after the number of seconds. " + ::= { upsEControl 1 } + + upsEControlOutputOnDelay OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "Setting this value to other than zero will cause the + UPS output to turn on after the number of seconds. " + ::= { upsEControl 2 } + + upsEControlOutputOnOffControl OBJECT-TYPE + SYNTAX INTEGER { upsEOutputOff ( 1 ) , upsEOutputOffCancel ( 2 ) , upsESleep( 3 ) , none ( 4 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "upsEOutputOff ( 1 ) indicates the shutdown sequence, + upsEOutputOffCancel ( 2 ) indicates cancel the shutdown sequence, + upsESleep( 3 ) indicates shutdown UPS first, then switch on." + ::= { upsEControl 3 } + + upsEShutdownEventsTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsShutdownEventsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "This table describes the parametes for shutdown process + when shutdown event occurs" + ::= { upsEControl 4 } + + upsEShutdownEventsEntry OBJECT-TYPE + SYNTAX UpsShutdownEventsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular shutdown + event line" + INDEX { upsEShutdownEvent } + ::= { upsEShutdownEventsTable 1 } + + UpsShutdownEventsEntry ::= SEQUENCE { + upsEShutdownEvent INTEGER, + upsEShutdownEventAction INTEGER, + upsEShutdownwarningPeriodTime NonNegativeInteger, + upsEShutdownWarningPeriodInterval NonNegativeInteger + } + + + upsEShutdownEvent OBJECT-TYPE + SYNTAX INTEGER { acFail ( 1 ) , batteryLow ( 2 ) , upsEOverLoad ( 3 ) , + upsEOverTemperature ( 4 ) , upsEWeeklySchedule ( 5 ) , + upsESpecialSchedule ( 6 ) , environmentTemperatureOverThreshold ( 7 ) , + environmentHumidityOverThreshold ( 8 ) , environmentContact1Alarm ( 9 ) , + environmentContact2Alarm ( 10 ), belowCapacityLimit( 11 ), belowRemainTimeLimit( 12 )} + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The shutdown event identification" + ::= { upsEShutdownEventsEntry 1 } + + + upsEShutdownEventAction OBJECT-TYPE + SYNTAX INTEGER { disable ( 1 ) , warning ( 2 ) , shutdownClient ( 3 ) , shutdownUPS ( 4 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "Status of the corresponding shutdown Event. + When set to disable(), shutdown process will not start when + corresponding event occured." + ::= { upsEShutdownEventsEntry 2 } + + + upsEShutdownwarningPeriodTime OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The Delay in seconds after the occurance of the curresponding shutdown + event, and warning message should be popped in this period." + ::= { upsEShutdownEventsEntry 3 } + + + upsEShutdownWarningPeriodInterval OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-write + STATUS mandatory + DESCRIPTION "The frequency of sending warning messages to the connected + clients when the curresponding shutdown event occurs. + The value is in units of seconds." + ::= { upsEShutdownEventsEntry 4 } + + upsEControlWeeklyScheduleTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsControlWeeklyScheduleEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The table to schedule shutting down the ups by weekly" + ::= { upsEControl 5 } + + upsEControlWeeklyScheduleEntry OBJECT-TYPE + SYNTAX UpsControlWeeklyScheduleEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular line" + INDEX { upsEControlWeeklyScheduleIndex } + ::= { upsEControlWeeklyScheduleTable 1 } + + UpsControlWeeklyScheduleEntry ::= SEQUENCE { + upsEControlWeeklyScheduleIndex PositiveInteger, + upsEWeeklyScheduleShutdownDay INTEGER, + upsEWeeklyScheduleShutdownTime DisplayString, + upsEWeeklyScheduleRestartDay INTEGER, + upsEWeeklyScheduleRestartTime DisplayString + } + + + upsEControlWeeklyScheduleIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "the index of schedule events." + ::= { upsEControlWeeklyScheduleEntry 1 } + + + upsEWeeklyScheduleShutdownDay OBJECT-TYPE + SYNTAX INTEGER { monday ( 1 ) , tuesday ( 2 ) , wednesday ( 3 ) , + thursday ( 4 ) , friday ( 5 ) , saturday ( 6 ) , + sunday ( 7 ) , none ( 8 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "the weekday on which upsE shoud shutdown" + ::= { upsEControlWeeklyScheduleEntry 2 } + + + upsEWeeklyScheduleShutdownTime OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 5 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The time that the process of shutting down the UPS will be initiated + in hh:mm format." + ::= { upsEControlWeeklyScheduleEntry 3 } + + + upsEWeeklyScheduleRestartDay OBJECT-TYPE + SYNTAX INTEGER { monday ( 1 ) , tuesday ( 2 ) , wednesday ( 3 ) , + thursday ( 4 ) , friday ( 5 ) , saturday ( 6 ) , + sunday ( 7 ) , none ( 8 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "the weekday on which the UPS should restart." + ::= { upsEControlWeeklyScheduleEntry 4 } + + + upsEWeeklyScheduleRestartTime OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 5 .. 5 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The time the UPS will restart in hh:mm format." + ::= { upsEControlWeeklyScheduleEntry 5 } + + upsEControlSpecialDayScheduleTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsControlSpecialDayScheduleEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The table to schedule shutting down the ups." + ::= { upsEControl 6 } + + upsEControlSpecialDayScheduleEntry OBJECT-TYPE + SYNTAX UpsControlSpecialDayScheduleEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular line." + INDEX { upsEControlSpecialDayScheduleIndex } + ::= { upsEControlSpecialDayScheduleTable 1 } + + UpsControlSpecialDayScheduleEntry ::= SEQUENCE { + upsEControlSpecialDayScheduleIndex PositiveInteger, + upsESpecialDayScheduleShutdownDay DisplayString, + upsESpecialDayScheduleShutdownTime DisplayString, + upsESpecialDayScheduleRestartDay DisplayString, + upsESpecialDayScheduleRestartTime DisplayString + } + + + upsEControlSpecialDayScheduleIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The index of special day schedule." + ::= { upsEControlSpecialDayScheduleEntry 1 } + + + upsESpecialDayScheduleShutdownDay OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 10 .. 10 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The special day on which UPS should shutdown with the format + of DD/MM/YYYY." + ::= { upsEControlSpecialDayScheduleEntry 2 } + + + upsESpecialDayScheduleShutdownTime OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 5 .. 5 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The time that the process of shutting down the UPS will be initiated + in hh:mm format." + ::= { upsEControlSpecialDayScheduleEntry 3 } + + + upsESpecialDayScheduleRestartDay OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 10 .. 10 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The special day on which the UPS should restart with the format + of DD/MM/YYYY." + ::= { upsEControlSpecialDayScheduleEntry 4 } + + + upsESpecialDayScheduleRestartTime OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 5 .. 5 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The time the UPS will restart in hh:mm format." + ::= { upsEControlSpecialDayScheduleEntry 5 } + + upsESystemMasterOffDelay OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The UPS output will shutdown after the indicated number of seconds, -1 indicate no action." + ::= { upsEControl 7 } + upsESystemMasterOnDelay OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION "The UPS output will start on after the indicated number of seconds, -1 indicate no action." + ::= { upsEControl 8 } + +--======================================================================== +-- upsETrapControl +--======================================================================== + + upsETrapsReceiversTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsTrapsReceiversEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION " This table list the managers'IP to send traps to." + ::= { upsETrapControl 1 } + + upsETrapsReceiversEntry OBJECT-TYPE + SYNTAX UpsTrapsReceiversEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry containing information applicable to a particular input line." + INDEX { upsETrapsReceiversIndex } + ::= { upsETrapsReceiversTable 1 } + + UpsTrapsReceiversEntry ::= SEQUENCE { + upsETrapsReceiversIndex PositiveInteger, + upsETrapsReceiverAddress DisplayString, + upsETrapReceiverCommunityString DisplayString, + upsETrapType INTEGER, + upsETrapsSeverityLevel INTEGER, + upsETrapReceiverDescription DisplayString + } + + upsETrapsReceiversIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "The index to a trap receiver entry" + ::= { upsETrapsReceiversEntry 1 } + + upsETrapsReceiverAddress OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 45 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The IP address of the manager to send a trap to." + ::= { upsETrapsReceiversEntry 2 } + + upsETrapReceiverCommunityString OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 32 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "The community name to use in the trap when + sent to the manager." + ::= { upsETrapsReceiversEntry 3 } + + upsETrapType OBJECT-TYPE + SYNTAX INTEGER { none ( 1 ) , rfc1628Trap ( 2 ) , eppcTrap ( 3 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "The type of trap to be received by the manager." + ::= { upsETrapsReceiversEntry 4 } + + upsETrapsSeverityLevel OBJECT-TYPE + SYNTAX INTEGER { informational ( 1 ) , warning ( 2 ) , severe ( 3 ) } + ACCESS read-write + STATUS mandatory + DESCRIPTION "The severity level of traps to be received by this manager." + ::= { upsETrapsReceiversEntry 5 } + + upsETrapReceiverDescription OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 63 ) ) + ACCESS read-write + STATUS mandatory + DESCRIPTION "Description of trap receivers" + ::= { upsETrapsReceiversEntry 6 } + + upsETrapState OBJECT-TYPE + SYNTAX DisplayString ( SIZE ( 0 .. 127 ) ) + ACCESS read-only + STATUS mandatory + DESCRIPTION "the values indicate the unrestored traps. + For example, after AC fail, the agent send + the trap 1(AC Fail) and trap 7(battery on) to + NMS. so the value of upsETrapState should be '1,7'. + And then the AC restore, the value of upsETrapState + should change to empty." + ::= { upsETrapControl 2 } + +-- =========================================================================== +-- Trap defination +-- =========================================================================== + +upsEPowerFail TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Utility power not available." + ::= 1 + +upsEPowerRestored TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Utility power has restored." + ::= 2 + +upsELowBattery TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "SEVERE: The UPS batteries are low and will soon be exhausted." + ::= 3 + +upsEReturnFromLowBattery TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS has return from a low battery condition." + ::= 4 + +upsEFailed TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "SEVERE: The UPS is not working fine." + ::= 5 + +upsEOk TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS is working fine." + ::= 6 + +upsEOnBattery TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEBatteryEstimatedMinutesRemaining, + upsESecondsOnBattery + } + DESCRIPTION + "WARNING: The UPS has switched to battery backup power." + ::= 7 + +upsENotOnBattery TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS is not on battery power." + ::= 8 + +upsETestInProgress TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The testing is going on ups." + ::= 9 + +upsETestOver TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEBatteryTestStart, + upsEBatteryTestSettingTime, + upsEBatteryTestResult, + upsEBatteryTestStartTime + } + DESCRIPTION + "INFORMATION: The testing of UPS is completed." + ::= 10 + +upsEBypassOn TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS has enabled bypass." + ::= 11 + +upsEOnline TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS is not on Bypass and return to normal status." + ::= 12 + +upsECommunicationLost TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "SEVERE: Communication to the UPS has been lost." + ::= 13 + +upsECommunicationEstablished TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Communication with the UPS has been established." + ::= 14 + +upsEGoingShutdown TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: The UPS is going to shutdown output." + ::= 15 + +upsEShutdownCancelled TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS is not going to shutdown output." + ::= 16 + +upsEOutlet1GoingShutdown TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: The UPS is going to shutdown outlet1." + ::= 17 + +upsEOutlet1ShutdownCancelled TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS is not going to shutdown outlet1." + ::= 18 + +upsEOutlet2GoingShutdown TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: The UPS is going to shutdown outlet2." + ::= 19 + +upsEOutlet2ShutdownCancelled TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS is not going to shutdown outlet2." + ::= 20 + +upsESleeping TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEControlOutputOnDelay + } + DESCRIPTION + "INFORMATION: UPS has entered sleep mode and power to load has been cut off." + ::= 21 + +upsEWokeUp TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS woke up from sleep mode and power to load has been restored." + ::= 22 + +upsEOverTemperature TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsESystemTemperature, + upsESystemConfigOverTemperatureSetPoint + } + DESCRIPTION + "WARNING: The UPS temperature is over the setting limit." + ::= 23 + +upsENotOverTemperature TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsESystemTemperature, + upsESystemConfigOverTemperatureSetPoint + } + DESCRIPTION + "INFORMATION: The UPS temperature is not over the setting limit." + ::= 24 + +upsEOverLoad TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsESystemOutputLoad, + upsESystemConfigOutputLoadHighSetPoint + } + DESCRIPTION + "WARNING: The UPS load is over the setting limit." + ::= 25 + +upsENotOverLoad TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsESystemOutputLoad, + upsESystemConfigOutputLoadHighSetPoint + } + DESCRIPTION + "INFORMATION: The UPS load is not over the setting limit." + ::= 26 + +upsEModuleInserted TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: UPS module or charger module plug-in." + ::= 27 + +upsEModuleRemoved TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: UPS module or charger module unplugs." + ::= 28 + +sensorTemperatureTooHigh TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentTemperatureHighSetPoint, + upsEEnvironmentCurrentTemperature + } + DESCRIPTION + "WARNING: Sensor Temperature over high Set point." + ::= 29 + +sensorTemperatureNotHigh TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentTemperatureHighSetPoint, + upsEEnvironmentCurrentTemperature + } + DESCRIPTION + "INFORMATION: Sensor Temperature not over high Set point." + ::= 30 + +sensorTemperatureTooLow TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentTemperatureLowSetPoint, + upsEEnvironmentCurrentTemperature + } + DESCRIPTION + "WARNING: Sensor Temperature under low Set point." + ::= 31 + +sensorTemperatureNotLow TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentTemperatureLowSetPoint, + upsEEnvironmentCurrentTemperature + } + DESCRIPTION + "INFORMATION: Sensor Temperature not under low Set point." + ::= 32 + +sensorHumidityTooHigh TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentHumidityHighSetPoint, + upsEEnvironmentCurrentHumidity + } + DESCRIPTION + "WARNING: Sensor Humidity over high Set point." + ::= 33 + +sensorHumidityNotHigh TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentHumidityHighSetPoint, + upsEEnvironmentCurrentHumidity + } + DESCRIPTION + "INFORMATION: Sensor Humidity not over high Set point." + ::= 34 + +sensorHumidityTooLow TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentHumidityLowSetPoint, + upsEEnvironmentCurrentHumidity + } + DESCRIPTION + "WARNING: Sensor Humidity under low Set point." + ::= 35 + +sensorHumidityNotLow TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentHumidityLowSetPoint, + upsEEnvironmentCurrentHumidity + } + DESCRIPTION + "INFORMATION: Sensor Humidity not under low Set point." + ::= 36 + +contactAlarm1Active TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentContactType, + upsEEnvironmentContactDescription + } + DESCRIPTION + "WARNING: Contact Alarm-1 activated." + ::= 37 + +concactAlarm1Normal TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentContactType, + upsEEnvironmentContactDescription + } + DESCRIPTION + "INFORMATION: Contact Alarm-1 not active." + ::= 38 + +contactAlarm2Active TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentContactType, + upsEEnvironmentContactDescription + } + DESCRIPTION + "WARNING: Contact Alarm-2 activated." + ::= 39 + +contactAlarm2Normal TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEEnvironmentContactType, + upsEEnvironmentContactDescription + } + DESCRIPTION + "INFORMATION: Contact Alarm-2 not active." + ::= 40 + +upsEInternalwarning TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Internal warning." + ::= 41 + +upsEReturnFromInternalwarning TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Internal warning." + ::= 42 + +upsEEPOActive TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: EPO Active." + ::= 43 + +upsEReturnFromEPOActive TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from EPO Active." + ::= 44 + +upsEModuleUnlock TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Module Unlock." + ::= 45 + +upsEReturnFromModuleUnlock TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Module Unlock." + ::= 46 + +upsEMain1Neutralloss TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Main 1 Neutral loss." + ::= 47 + +upsEReturnFromMain1Neutralloss TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Main 1 Neutral loss." + ::= 48 + +upsEMain1phaseerror TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Main 1 phase error." + ::= 49 + +upsEReturnFromMain1phaseerror TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Main 1 phase error." + ::= 50 + +upsESitefault TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Site fault." + ::= 51 + +upsEReturnFromSitefault TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Site fault." + ::= 52 + +upsEBypassAbnormal TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Bypass Abnormal." + ::= 53 + +upsEReturnFromBypassAbnormal TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Bypass Abnormal." + ::= 54 + +upsEBypassPhaseError TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Bypass Phase Error." + ::= 55 + +upsEReturnFromBypassPhaseError TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Bypass Phase Error." + ::= 56 + +upsEBatteryOpen TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Battery Open." + ::= 57 + +upsEReturnFromBatteryOpen TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Battery Open." + ::= 58 + +upsEBatteryOverCharge TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Battery Over Charge." + ::= 59 + +upsEReturnFromBatteryOverCharge TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Battery Over Charge." + ::= 60 + +upsEBatteryReverse TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Battery Reverse." + ::= 61 + +upsEReturnFromBatteryReverse TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Battery Reverse." + ::= 62 + +upsEOverloadforewarning TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Overload forewarning." + ::= 63 + +upsEReturnFromOverloadforewarning TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Overload forewarning." + ::= 64 + +upsEOverloadWarning TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Overload Warning." + ::= 65 + +upsEReturnFromOverloadWarning TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Overload Warning." + ::= 66 + +upsEFanLock TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Fan Lock." + ::= 67 + +upsEReturnFromFanLock TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Fan Lock." + ::= 68 + +upsEMaintaincoverisopen TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Maintain cover is open." + ::= 69 + +upsEReturnFromMaintaincoverisopen TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Maintain cover is open." + ::= 70 + +upsEChargerfault TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Charger fault." + ::= 71 + +upsEReturnFromChargerfault TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Charger fault." + ::= 72 + +upsEModulelocationerror TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Module location error." + ::= 73 + +upsEReturnFromModulelocationerror TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Module location error." + ::= 74 + +upsETurnonabnormal TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Turn on abnormal." + ::= 75 + +upsEReturnFromTurnonabnormal TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Turn on abnormal." + ::= 76 + +upsERedundancyloss TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Redundancy loss." + ::= 77 + +upsEReturnFromRedundancyloss TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Redundancy loss." + ::= 78 + +upsEHotSwapActived TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Hot Swap Active." + ::= 79 + +upsEReturnFromHotSwapActived TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Hot Swap Active." + ::= 80 + +upsEBatteryInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Battery Inform." + ::= 81 + +upsEReturnFromBatteryInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Battery Inform." + ::= 82 + +upsEInspectionInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Inspection Inform." + ::= 83 + +upsEReturnFromInspectionInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Inspection Inform." + ::= 84 + +upsEGuaranteeInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Guarantee Inform." + ::= 85 + +upsEReturnFromGuaranteeInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Guarantee Inform." + ::= 86 + +upsETemperatureLow TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Temperature Low." + ::= 87 + +upsEReturnFromTemperatureLow TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Temperature Low." + ::= 88 + +upsETemperatureHigh TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Temperature High." + ::= 89 + +upsEReturnFromTemperatureHigh TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Temperature High." + ::= 90 + +upsEBatteryOverTemperature TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Battery Over Temperature." + ::= 91 + +upsEReturnFromBatteryOverTemperature TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Battery Over Temperature." + ::= 92 + +upsEFanMaintainInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Fan Maintain Inform." + ::= 93 + +upsEReturnFromFanMaintainInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Fan Maintain Inform." + ::= 94 + +upsEBusCapacitanceMaintainInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Bus Capacitance Maintain Inform." + ::= 95 + +upsEReturnFromBusCapacitanceMaintainInform TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from Bus Capacitance Maintain Inform." + ::= 96 + +upsESystemOverCapacity TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: System Over Capacity." + ::= 97 + +upsEReturnFromSystemOverCapacity TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Return from System Over Capacity." + ::= 98 + +-- Trap Id 99-122 is not defined. + +upsEBelowCapacityLimit TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEBatteryEstimatedChargeRemaining, + upsESystemConfigBelowCapacityLimit + } + DESCRIPTION + "SEVERE: The UPS batteries capacity is lower than setting limit." + ::= 123 + +upsENotBelowCapacityLimit TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS batteries capacity is not lower than setting limit." + ::= 124 + +upsEBelowRemainTimeLimit TRAP-TYPE + ENTERPRISE upsETraps + VARIABLES { + upsEBatteryEstimatedMinutesRemaining, + upsESystemConfigBelowRemainTimeLimit + } + DESCRIPTION + "SEVERE: The UPS batteries backup time is below the setting limit." + ::= 125 + +upsENotBelowRemainTimeLimit TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: The UPS batteries backup time is not below the setting limit." + ::= 126 + +upsELoadSegment1Off TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Load segment 1 is off." + ::= 127 +upsELoadSegment1On TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Load segment 1 is on." + ::= 128 + +upsELoadSegment2Off TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "WARNING: Load segment 2 is off." + ::= 129 +upsELoadSegment2On TRAP-TYPE + ENTERPRISE upsETraps + DESCRIPTION + "INFORMATION: Load segment 2 is on." + ::= 130 + +END + diff --git a/mibs/RFC1628.MIB b/mibs/RFC1628.MIB new file mode 100644 index 0000000..2f6db1e --- /dev/null +++ b/mibs/RFC1628.MIB @@ -0,0 +1,1197 @@ + UPS-MIB DEFINITIONS ::= BEGIN + + +IMPORTS + TRAP-TYPE + FROM RFC-1215 + mib-2, DisplayString + FROM RFC1213-MIB + OBJECT-TYPE + FROM RFC-1212 + Gauge, Counter + FROM RFC1155-SMI; +-- AutonomousType, TestAndIncr, TimeInterval, TimeStamp +-- FROM SNMPv2-TC; + +-- created from upsMIB (9402050000Z) + +upsMIB OBJECT IDENTIFIER ::= { mib-2 33 } -- this has to be fixed by hand + +AutonomousType ::= + INTEGER +TestAndIncr ::= + INTEGER +TimeInterval ::= + INTEGER +TimeStamp ::= + INTEGER + +PositiveInteger ::= + INTEGER + +NonNegativeInteger ::= + INTEGER + + + upsObjects OBJECT IDENTIFIER ::= { upsMIB 1 } + + + -- + -- The Device Identification group. + -- All objects in this group except for upsIdentName and + -- upsIdentAttachedDevices are set at device initialization + -- and remain static. + -- + + upsIdent OBJECT IDENTIFIER ::= { upsObjects 1 } + + upsIdentManufacturer OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..31)) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The name of the UPS manufacturer." + ::= { upsIdent 1 } + + upsIdentModel OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..63)) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The UPS Model designation." + ::= { upsIdent 2 } + + upsIdentUPSSoftwareVersion OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..63)) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The UPS firmware/software version(s). This variable + may or may not have the same value as + upsIdentAgentSoftwareVersion in some implementations." + ::= { upsIdent 3 } + + upsIdentAgentSoftwareVersion OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..63)) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The UPS agent software version. This variable may or + may not have the same value as + upsIdentUPSSoftwareVersion in some implementations." + ::= { upsIdent 4 } + + upsIdentName OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..63)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A string identifying the UPS. This object should be + set by the administrator." + ::= { upsIdent 5 } + + upsIdentAttachedDevices OBJECT-TYPE + SYNTAX DisplayString (SIZE(0..63)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A string identifying the devices attached to the + output(s) of the UPS. This object should be set by + the administrator." + ::= { upsIdent 6 } + + + -- + -- Battery Group + -- + + upsBattery OBJECT IDENTIFIER ::= { upsObjects 2 } + + upsBatteryStatus OBJECT-TYPE + SYNTAX INTEGER { + unknown(1), + batteryNormal(2), + batteryLow(3), + batteryDepleted(4) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The indication of the capacity remaining in the UPS + system's batteries. A value of batteryNormal + indicates that the remaining run-time is greater than + upsConfigLowBattTime. A value of batteryLow indicates + that the remaining battery run-time is less than or + equal to upsConfigLowBattTime. A value of + batteryDepleted indicates that the UPS will be unable + to sustain the present load when and if the utility + power is lost (including the possibility that the + utility power is mandatoryly absent and the UPS is + unable to sustain the output)." + ::= { upsBattery 1 } + + upsSecondsOnBattery OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION + "If the unit is on battery power, the elapsed time + since the UPS last switched to battery power, or the + time since the network management subsystem was last + restarted, whichever is less. Zero shall be returned + if the unit is not on battery power." + ::= { upsBattery 2 } + + upsEstimatedMinutesRemaining OBJECT-TYPE + SYNTAX PositiveInteger + -- "minutes" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "An estimate of the time to battery charge depletion + under the present load conditions if the utility power + is off and remains off, or if it were to be lost and + remain off." + ::= { upsBattery 3 } + + upsEstimatedChargeRemaining OBJECT-TYPE + SYNTAX INTEGER (0..100) + -- "percent" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "An estimate of the battery charge remaining expressed + as a percent of full charge." + ::= { upsBattery 4 } + + upsBatteryVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 Volt DC" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The magnitude of the present battery voltage." + ::= { upsBattery 5 } + + upsBatterymandatory OBJECT-TYPE + SYNTAX INTEGER + -- "0.1 Amp DC" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present battery mandatory." + ::= { upsBattery 6 } + + upsBatteryTemperature OBJECT-TYPE + SYNTAX INTEGER + -- "degrees Centigrade" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The ambient temperature at or near the UPS Battery + casing." + ::= { upsBattery 7 } + + + -- + -- Input Group + -- + + upsInput OBJECT IDENTIFIER ::= { upsObjects 3 } + + upsInputLineBads OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "A count of the number of times the input entered an + out-of-tolerance condition as defined by the + manufacturer. This count is incremented by one each + time the input transitions from zero out-of-tolerance + lines to one or more input lines out-of-tolerance." + ::= { upsInput 1 } + + + upsInputNumLines OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The number of input lines utilized in this device. + This variable indicates the number of rows in the + input table." + ::= { upsInput 2 } + + upsInputTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsInputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of input table entries. The number of entries + is given by the value of upsInputNumLines." + ::= { upsInput 3 } + + upsInputEntry OBJECT-TYPE + SYNTAX UpsInputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "An entry containing information applicable to a + particular input line." + INDEX { upsInputLineIndex } + ::= { upsInputTable 1 } + + UpsInputEntry ::= SEQUENCE { + upsInputLineIndex PositiveInteger, + upsInputFrequency NonNegativeInteger, + upsInputVoltage NonNegativeInteger, + upsInputmandatory NonNegativeInteger, + upsInputTruePower NonNegativeInteger + } + + upsInputLineIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The input line identifier." + ::= { upsInputEntry 1 } + + upsInputFrequency OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 Hertz" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present input frequency." + ::= { upsInputEntry 2 } + + upsInputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "RMS Volts" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The magnitude of the present input voltage." + ::= { upsInputEntry 3 } + + upsInputmandatory OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 RMS Amp" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The magnitude of the present input mandatory." + ::= { upsInputEntry 4 } + + upsInputTruePower OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "Watts" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The magnitude of the present input true power." + ::= { upsInputEntry 5 } + + + -- + -- The Output group. + -- + + upsOutput OBJECT IDENTIFIER ::= { upsObjects 4 } + + upsOutputSource OBJECT-TYPE + SYNTAX INTEGER { + other(1), + none(2), + normal(3), + bypass(4), + battery(5), + booster(6), + reducer(7) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present source of output power. The enumeration + none(2) indicates that there is no source of output + power (and therefore no output power), for example, + the system has opened the output breaker." + ::= { upsOutput 1 } + + upsOutputFrequency OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 Hertz" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present output frequency." + ::= { upsOutput 2 } + + upsOutputNumLines OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The number of output lines utilized in this device. + This variable indicates the number of rows in the + output table." + ::= { upsOutput 3 } + + upsOutputTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsOutputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of output table entries. The number of + entries is given by the value of upsOutputNumLines." + ::= { upsOutput 4 } + + upsOutputEntry OBJECT-TYPE + SYNTAX UpsOutputEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "An entry containing information applicable to a + particular output line." + INDEX { upsOutputLineIndex } + ::= { upsOutputTable 1 } + + UpsOutputEntry ::= SEQUENCE { + upsOutputLineIndex PositiveInteger, + upsOutputVoltage NonNegativeInteger, + upsOutputmandatory NonNegativeInteger, + upsOutputPower NonNegativeInteger, + upsOutputPercentLoad INTEGER + } + + upsOutputLineIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The output line identifier." + ::= { upsOutputEntry 1 } + + upsOutputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "RMS Volts" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present output voltage." + ::= { upsOutputEntry 2 } + + upsOutputmandatory OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 RMS Amp" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present output mandatory." + ::= { upsOutputEntry 3 } + + upsOutputPower OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "Watts" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present output true power." + ::= { upsOutputEntry 4 } + + upsOutputPercentLoad OBJECT-TYPE + SYNTAX INTEGER (0..200) + -- "percent" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The percentage of the UPS power capacity presently + being used on this output line, i.e., the greater of + the percent load of true power capacity and the + percent load of VA." + ::= { upsOutputEntry 5 } + + -- + -- The Bypass group. + -- + + upsBypass OBJECT IDENTIFIER ::= { upsObjects 5 } + + upsBypassFrequency OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 Hertz" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present bypass frequency." + ::= { upsBypass 1 } + + upsBypassNumLines OBJECT-TYPE + SYNTAX NonNegativeInteger + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The number of bypass lines utilized in this device. + This entry indicates the number of rows in the bypass + table." + ::= { upsBypass 2 } + + upsBypassTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsBypassEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of bypass table entries. The number of + entries is given by the value of upsBypassNumLines." + ::= { upsBypass 3 } + + upsBypassEntry OBJECT-TYPE + SYNTAX UpsBypassEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "An entry containing information applicable to a + particular bypass input." + INDEX { upsBypassLineIndex } + ::= { upsBypassTable 1 } + + UpsBypassEntry ::= SEQUENCE { + upsBypassLineIndex PositiveInteger, + upsBypassVoltage NonNegativeInteger, + upsBypassmandatory NonNegativeInteger, + upsBypassPower NonNegativeInteger + } + + upsBypassLineIndex OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The bypass line identifier." + ::= { upsBypassEntry 1 } + + upsBypassVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "RMS Volts" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present bypass voltage." + ::= { upsBypassEntry 2 } + + upsBypassmandatory OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 RMS Amp" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present bypass mandatory." + ::= { upsBypassEntry 3 } + + upsBypassPower OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "Watts" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present true power conveyed by the bypass." + ::= { upsBypassEntry 4 } + + + -- + -- The Alarm group. + -- + + upsAlarm OBJECT IDENTIFIER ::= { upsObjects 6 } + + upsAlarmsPresent OBJECT-TYPE + SYNTAX Gauge + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The present number of active alarm conditions." + ::= { upsAlarm 1 } + + upsAlarmTable OBJECT-TYPE + SYNTAX SEQUENCE OF UpsAlarmEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of alarm table entries. The table contains + zero, one, or many rows at any moment, depending upon + the number of alarm conditions in effect. The table + is initially empty at agent startup. The agent + creates a row in the table each time a condition is + detected and deletes that row when that condition no + longer pertains. The agent creates the first row with + upsAlarmId equal to 1, and increments the value of + upsAlarmId each time a new row is created, wrapping to + the first free value greater than or equal to 1 when + the maximum value of upsAlarmId would otherwise be + exceeded. Consequently, after multiple operations, + the table may become sparse, e.g., containing entries + for rows 95, 100, 101, and 203 and the entries should + not be assumed to be in chronological order because + upsAlarmId might have wrapped. + + Alarms are named by an AutonomousType (OBJECT + IDENTIFIER), upsAlarmDescr, to allow a single table to + reflect well known alarms plus alarms defined by a + particular implementation, i.e., as documented in the + private enterprise MIB definition for the device. No + two rows will have the same value of upsAlarmDescr, + since alarms define conditions. In order to meet this + requirement, care should be taken in the definition of + alarm conditions to insure that a system cannot enter + the same condition multiple times simultaneously. + + The number of rows in the table at any given time is + reflected by the value of upsAlarmsPresent." + ::= { upsAlarm 2 } + + upsAlarmEntry OBJECT-TYPE + SYNTAX UpsAlarmEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "An entry containing information applicable to a + particular alarm." + INDEX { upsAlarmId } + ::= { upsAlarmTable 1 } + + UpsAlarmEntry ::= SEQUENCE { + upsAlarmId PositiveInteger, + upsAlarmDescr AutonomousType, + upsAlarmTime TimeStamp + } + + upsAlarmId OBJECT-TYPE + SYNTAX PositiveInteger + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A unique identifier for an alarm condition. This + value must remain constant." + ::= { upsAlarmEntry 1 } + + upsAlarmDescr OBJECT-TYPE + SYNTAX AutonomousType + ACCESS read-only + STATUS mandatory + DESCRIPTION + "A reference to an alarm description object. The + object referenced should not be accessible, but rather + be used to provide a unique description of the alarm + condition." + ::= { upsAlarmEntry 2 } + + upsAlarmTime OBJECT-TYPE + SYNTAX TimeStamp + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The value of sysUpTime when the alarm condition was + detected. If the alarm condition was detected at the + time of agent startup and presumably existed before + agent startup, the value of upsAlarmTime shall equal + 0." + ::= { upsAlarmEntry 3 } + + + -- + -- Well known alarm conditions. + -- + + upsWellKnownAlarms OBJECT IDENTIFIER ::= { upsAlarm 3 } + + upsAlarmBatteryBad OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 1 } + + upsAlarmOnBattery OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 2 } + + upsAlarmLowBattery OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 3 } + + + upsAlarmDepletedBattery OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 4 } + + upsAlarmTempBad OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 5 } + + upsAlarmInputBad OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 6 } + + upsAlarmOutputBad OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 7 } + + upsAlarmOutputOverload OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 8 } + + upsAlarmOnBypass OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 9 } + + upsAlarmBypassBad OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 10 } + + upsAlarmOutputOffAsRequested OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 11 } + + upsAlarmUpsOffAsRequested OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 12 } + + upsAlarmChargerFailed OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 13 } + + upsAlarmUpsOutputOff OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 14 } + + upsAlarmUpsSystemOff OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 15 } + + upsAlarmFanFailure OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 16 } + + upsAlarmFuseFailure OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 17 } + + upsAlarmGeneralFault OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 18 } + + upsAlarmDiagnosticTestFailed OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 19 } + + upsAlarmCommunicationsLost OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 20 } + + upsAlarmAwaitingPower OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 21 } + + upsAlarmShutdownPending OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 22 } + + upsAlarmShutdownImminent OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 23 } + + upsAlarmTestInProgress OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 24 } + + emdTemperatureTooHigh OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 26 } + + emdTemperatureTooLow OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 27 } + + emdHumidityTooHigh OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 28 } + + emdHumidityTooLow OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 29 } + + emdAlarm1Active OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 30 } + + emdAlarm2Active OBJECT IDENTIFIER + ::= { upsWellKnownAlarms 31 } + + -- + -- The Test Group + -- + + upsTest OBJECT IDENTIFIER ::= { upsObjects 7 } + + upsTestId OBJECT-TYPE + SYNTAX OBJECT IDENTIFIER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The test is named by an OBJECT IDENTIFIER which + allows a standard mechanism for the initiation of + tests, including the well known tests identified in + this document as well as those introduced by a + particular implementation, i.e., as documented in the + private enterprise MIB definition for the device. + + Setting this variable initiates the named test. Sets + to this variable require the presence of + upsTestSpinLock in the same SNMP message. + + The set request will be rejected with an appropriate + error message if the requested test cannot be + performed, including attempts to start a test when + another test is already in progress. The status of + the mandatory or last test is maintained in + upsTestResultsSummary. Tests in progress may be + aborted by setting the upsTestId variable to + upsTestAbortTestInProgress. + + Read operations return the value of the name of the + test in progress if a test is in progress or the name + of the last test performed if no test is in progress, + unless no test has been run, in which case the well + known value upsTestNoTestsInitiated is returned." + ::= { upsTest 1 } + + -- see [6] for more information on the semantics of objects with + -- syntax of TestAndIncr + + upsTestSpinLock OBJECT-TYPE + SYNTAX TestAndIncr + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A spin lock on the test subsystem. The spinlock is + used as follows. + + Before starting a test, a manager-station should make + sure that a test is not in progress as follows: + + try_again: + get (upsTestSpinLock) + while (upsTestResultsSummary == inProgress) { + /* loop while a test is running for another + manager */ + short delay + get (upsTestSpinLock) + } + lock_value = upsTestSpinLock + /* no test in progress, start the test */ + set (upsTestSpinLock = lock_value, upsTestId = + requested_test) + if (error_index == 1) { /* (upsTestSpinLock + failed) */ + /* if problem is not access control, then + some other manager slipped in ahead of us + */ + goto try_again + } + if (error_index == 2) { /* (upsTestId) */ + /* cannot perform the test */ + give up + } + /* test started ok */ + /* wait for test completion by polling + upsTestResultsSummary */ + get (upsTestSpinLock, upsTestResultsSummary, + upsTestResultsDetail) + while (upsTestResultsSummary == inProgress) { + short delay + get (upsTestSpinLock, upsTestResultsSummary, + upsTestResultsDetail) + } + /* when test completes, retrieve any additional + test results */ + /* if upsTestSpinLock == lock_value + 1, then + these are our test */ + /* results (as opposed to another manager's */ + The initial value of upsTestSpinLock at agent + initialization shall + be 1." + ::= { upsTest 2 } + + upsTestResultsSummary OBJECT-TYPE + SYNTAX INTEGER { + donePass(1), + doneWarning(2), + doneError(3), + aborted(4), + inProgress(5), + noTestsInitiated(6) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The results of the mandatory or last UPS diagnostics + test performed. The values for donePass(1), + doneWarning(2), and doneError(3) indicate that the + test completed either successfully, with a warning, or + with an error, respectively. The value aborted(4) is + returned for tests which are aborted by setting the + value of upsTestId to upsTestAbortTestInProgress. + Tests which have not yet concluded are indicated by + inProgress(5). The value noTestsInitiated(6) + indicates that no previous test results are available, + such as is the case when no tests have been run since + the last reinitialization of the network management + subsystem and the system has no provision for non- + volatile storage of test results." + ::= { upsTest 3 } + + upsTestResultsDetail OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Additional information about upsTestResultsSummary. + If no additional information available, a zero length + string is returned." + ::= { upsTest 4 } + + upsTestStartTime OBJECT-TYPE + SYNTAX TimeStamp + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The value of sysUpTime at the time the test in + progress was initiated, or, if no test is in progress, + the time the previous test was initiated. If the + value of upsTestResultsSummary is noTestsInitiated(6), + upsTestStartTime has the value 0." + ::= { upsTest 5 } + + upsTestElapsedTime OBJECT-TYPE + SYNTAX TimeInterval + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The amount of time, in TimeTicks, since the test in + progress was initiated, or, if no test is in progress, + the previous test took to complete. If the value of + upsTestResultsSummary is noTestsInitiated(6), + upsTestElapsedTime has the value 0." + ::= { upsTest 6 } + + -- + -- Well known tests. + -- + + upsWellKnownTests OBJECT IDENTIFIER ::= { upsTest 7 } + + + upsTestNoTestsInitiated OBJECT IDENTIFIER + ::= { upsWellKnownTests 1 } + + upsTestAbortTestInProgress OBJECT IDENTIFIER + ::= { upsWellKnownTests 2 } + + upsTestGeneralSystemsTest OBJECT IDENTIFIER + ::= { upsWellKnownTests 3 } + + upsTestQuickBatteryTest OBJECT IDENTIFIER + ::= { upsWellKnownTests 4 } + + upsTestDeepBatteryCalibration OBJECT IDENTIFIER + ::= { upsWellKnownTests 5 } + + + -- + -- The Control group. + -- + + upsControl OBJECT IDENTIFIER ::= { upsObjects 8 } + + upsShutdownType OBJECT-TYPE + SYNTAX INTEGER { + output(1), + system(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "This object determines the nature of the action to be + taken at the time when the countdown of the + upsShutdownAfterDelay and upsRebootWithDuration + objects reaches zero. + + Setting this object to output(1) indicates that + shutdown requests should cause only the output of the + UPS to turn off. Setting this object to system(2) + indicates that shutdown requests will cause the entire + UPS system to turn off." + ::= { upsControl 1 } + + upsShutdownAfterDelay OBJECT-TYPE + SYNTAX INTEGER (-1..2147483647) + -- "seconds" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Setting this object will shutdown (i.e., turn off) + either the UPS output or the UPS system (as determined + by the value of upsShutdownType at the time of + shutdown) after the indicated number of seconds, or + less if the UPS batteries become depleted. Setting + this object to 0 will cause the shutdown to occur + immediately. Setting this object to -1 will abort the + countdown. If the system is already in the desired + state at the time the countdown reaches 0, then + nothing will happen. That is, there is no additional + action at that time if upsShutdownType = system and + the system is already off. Similarly, there is no + additional action at that time if upsShutdownType = + output and the output is already off. When read, + upsShutdownAfterDelay will return the number of + seconds remaining until shutdown, or -1 if no shutdown + countdown is in effect. On some systems, if the agent + is restarted while a shutdown countdown is in effect, + the countdown may be aborted. Sets to this object + override any upsShutdownAfterDelay already in effect." + ::= { upsControl 2 } + + upsStartupAfterDelay OBJECT-TYPE + SYNTAX INTEGER (-1..2147483647) + -- "seconds" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Setting this object will start the output after the + indicated number of seconds, including starting the + UPS, if necessary. Setting this object to 0 will + cause the startup to occur immediately. Setting this + object to -1 will abort the countdown. If the output + is already on at the time the countdown reaches 0, + then nothing will happen. Sets to this object + override the effect of any upsStartupAfterDelay + countdown or upsRebootWithDuration countdown in + progress. When read, upsStartupAfterDelay will return + the number of seconds until startup, or -1 if no + startup countdown is in effect. If the countdown + expires during a utility failure, the startup shall + not occur until the utility power is restored. On + some systems, if the agent is restarted while a + startup countdown is in effect, the countdown is + aborted." + ::= { upsControl 3 } + + upsRebootWithDuration OBJECT-TYPE + SYNTAX INTEGER (-1..300) + -- "seconds" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Setting this object will immediately shutdown (i.e., + turn off) either the UPS output or the UPS system (as + determined by the value of upsShutdownType at the time + of shutdown) for a period equal to the indicated + number of seconds, after which time the output will be + started, including starting the UPS, if necessary. If + the number of seconds required to perform the request + is greater than the requested duration, then the + requested shutdown and startup cycle shall be + performed in the minimum time possible, but in no case + shall this require more than the requested duration + plus 60 seconds. When read, upsRebootWithDuration + shall return the number of seconds remaining in the + countdown, or -1 if no countdown is in progress. If + the startup should occur during a utility failure, the + startup shall not occur until the utility power is + restored." + ::= { upsControl 4 } + + upsAutoRestart OBJECT-TYPE + SYNTAX INTEGER { + on(1), + off(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Setting this object to 'on' will cause the UPS system + to restart after a shutdown if the shutdown occurred + during a power loss as a result of either a + upsShutdownAfterDelay or an internal battery depleted + condition. Setting this object to 'off' will prevent + the UPS system from restarting after a shutdown until + an operator manually or remotely explicitly restarts + it. If the UPS is in a startup or reboot countdown, + then the UPS will not restart until that delay has + been satisfied." + ::= { upsControl 5 } + + + -- + -- The Configuration group. + -- + + upsConfig OBJECT IDENTIFIER ::= { upsObjects 9 } + + upsConfigInputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "RMS Volts" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The magnitude of the nominal input voltage. On those + systems which support read-write access to this + object, if there is an attempt to set this variable to + a value that is not supported, the request must be + rejected and the agent shall respond with an + appropriate error message, i.e., badValue for SNMPv1, + or inconsistentValue for SNMPv2." + ::= { upsConfig 1 } + + upsConfigInputFreq OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 Hertz" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The nominal input frequency. On those systems which + support read-write access to this object, if there is + an attempt to set this variable to a value that is not + supported, the request must be rejected and the agent + shall respond with an appropriate error message, i.e., + badValue for SNMPv1, or inconsistentValue for SNMPv2." + ::= { upsConfig 2 } + + upsConfigOutputVoltage OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "RMS Volts" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The magnitude of the nominal output voltage. On + those systems which support read-write access to this + object, if there is an attempt to set this variable to + a value that is not supported, the request must be + rejected and the agent shall respond with an + appropriate error message, i.e., badValue for SNMPv1, + or inconsistentValue for SNMPv2." + ::= { upsConfig 3 } + + upsConfigOutputFreq OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "0.1 Hertz" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The nominal output frequency. On those systems which + support read-write access to this object, if there is + an attempt to set this variable to a value that is not + supported, the request must be rejected and the agent + shall respond with an appropriate error message, i.e., + badValue for SNMPv1, or inconsistentValue for SNMPv2." + ::= { upsConfig 4 } + + upsConfigOutputVA OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "Volt-Amps" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The magnitude of the nominal Volt-Amp rating." + ::= { upsConfig 5 } + + upsConfigOutputPower OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "Watts" + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The magnitude of the nominal true power rating." + ::= { upsConfig 6 } + + upsConfigLowBattTime OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "minutes" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The value of upsEstimatedMinutesRemaining at which a + lowBattery condition is declared. For agents which + support only discrete (discontinuous) values, then the + agent shall round up to the next supported value. If + the requested value is larger than the largest + supported value, then the largest supported value + shall be selected." + ::= { upsConfig 7 } + + upsConfigAudibleStatus OBJECT-TYPE + SYNTAX INTEGER { + disabled(1), + enabled(2), + muted(3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The requested state of the audible alarm. When in + the disabled state, the audible alarm should never + sound. The enabled state is self-describing. Setting + this object to muted(3) when the audible alarm is + sounding shall temporarily silence the alarm. It will + remain muted until it would normally stop sounding and + the value returned for read operations during this + period shall equal muted(3). At the end of this + period, the value shall revert to enabled(2). Writes + of the value muted(3) when the audible alarm is not + sounding shall be accepted but otherwise shall have no + effect." + ::= { upsConfig 8 } + + upsConfigLowVoltageTransferPoint OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "RMS Volts" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The minimum input line voltage allowed before the UPS + system transfers to battery backup." + ::= { upsConfig 9 } + + upsConfigHighVoltageTransferPoint OBJECT-TYPE + SYNTAX NonNegativeInteger + -- "RMS Volts" + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The maximum line voltage allowed before the UPS + system transfers to battery backup." + ::= { upsConfig 10 } + + + -- + -- notifications, i.e., traps + -- + upsTraps OBJECT IDENTIFIER ::= { upsMIB 2 } + + -- This section defines the well-known notifications sent by + -- UPS agents. + -- Care must be taken to insure that no particular notification + -- is sent to a single receiving entity more often than once + -- every five seconds. + + upsTrapOnBattery TRAP-TYPE + ENTERPRISE upsTraps + VARIABLES { upsEstimatedMinutesRemaining, upsSecondsOnBattery, + upsConfigLowBattTime } + DESCRIPTION + "The UPS is operating on battery power. This trap is + persistent and is resent at one minute intervals until + the UPS either turns off or is no longer running on + battery." + ::= 1 + + upsTrapTestCompleted TRAP-TYPE + ENTERPRISE upsTraps + VARIABLES { upsTestId, upsTestSpinLock, + upsTestResultsSummary, upsTestResultsDetail, + upsTestStartTime, upsTestElapsedTime } + DESCRIPTION + "This trap is sent upon completion of a UPS diagnostic + test." + ::= 2 + + upsTrapAlarmEntryAdded TRAP-TYPE + ENTERPRISE upsTraps + VARIABLES { upsAlarmId, upsAlarmDescr } + DESCRIPTION + "This trap is sent each time an alarm is inserted into + to the alarm table. It is sent on the insertion of + all alarms except for upsAlarmOnBattery and + upsAlarmTestInProgress." + ::= 3 + + upsTrapAlarmEntryRemoved TRAP-TYPE + ENTERPRISE upsTraps + VARIABLES { upsAlarmId, upsAlarmDescr } + DESCRIPTION + "This trap is sent each time an alarm is removed from + the alarm table. It is sent on the removal of all + alarms except for upsAlarmTestInProgress." + ::= 4 + + + END

    }i(2y5%6-?XbwCmT!U+(eQc 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¬H~f(={Ek? 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%0DAm&%-&P4q;$mc$q|TYh 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