1 /* apc-mib.c - data to monitor APC SNMP devices (Powernet MIB) with NUT
4 * 2002-2003 - Dmitry Frolov <frolov@riss-telecom.ru>
5 * 2002-2012 - Arnaud Quette <arnaud.quette@free.fr>
6 * 2012 - Chew Hong Gunn <hglinux@gunnet.org> (high precision values)
8 * Sponsored by MGE UPS SYSTEMS <http://www.mgeups.com>
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 #define APCC_MIB_VERSION "1.2"
33 * examples found on the Net and other sources:
34 * 'enterprises.apc.products.system.smartUPS.smartUPS700'
36 * '.1.3.6.1.4.1.318.1.3.4.5': ApcRPDU,
37 * '.1.3.6.1.4.1.318.1.3.4.4': ApcMSP
38 * - from Bill Seligman
39 * .1.3.6.1.4.1.318.1.3.2.11
40 * .1.3.6.1.4.1.318.1.3.2.12
41 * .1.3.6.1.4.1.318.1.3.27
42 * .1.3.6.1.4.1.318.1.3.2.7
43 * .1.3.6.1.4.1.318.1.3.2.8
46 /* TODO: find the right sysOID for this MIB
47 * Ie ".1.3.6.1.4.1.318.1.1.1" or ".1.3.6.1.4.1.318" or? */
49 /* .1.3.6.1.4.1.318.1.1.1
54 * ups ---------------^
55 * ref: ftp://ftp.apc.com/apc/public/software/pnetmib/mib/404/powernet404.mib
60 #define APCC_OID_BATT_STATUS ".1.3.6.1.4.1.318.1.1.1.2.1.1.0"
61 /* Defines for APCC_OID_BATT_STATUS */
62 static info_lkp_t apcc_batt_info
[] = {
63 { 1, "" }, /* unknown */
64 { 2, "" }, /* batteryNormal */
65 { 3, "LB" }, /* batteryLow */
69 #define APCC_OID_POWER_STATUS ".1.3.6.1.4.1.318.1.1.1.4.1.1.0"
70 /* Defines for APCC_OID_POWER_STATUS */
71 static info_lkp_t apcc_pwr_info
[] = {
72 { 1, "" }, /* unknown */
73 { 2, "OL" }, /* onLine */
74 { 3, "OB" }, /* onBattery */
75 { 4, "BOOST" }, /* onSmartBoost */
76 { 5, "OFF" }, /* timedSleeping */
77 { 6, "OFF" }, /* softwareBypass */
78 { 7, "OFF" }, /* off */
79 { 8, "" }, /* rebooting */
80 { 9, "BYPASS" }, /* switchedBypass */
81 { 10, "BYPASS" }, /* hardwareFailureBypass */
82 { 11, "OFF" }, /* sleepingUntilPowerReturn */
83 { 12, "TRIM" }, /* onSmartTrim */
87 #define APCC_OID_CAL_RESULTS ".1.3.6.1.4.1.318.1.1.1.7.2.6.0"
88 static info_lkp_t apcc_cal_info
[] = {
89 { 1, "" }, /* Calibration Successful */
90 { 2, "" }, /* Calibration not done, battery capacity below 100% */
91 { 3, "CAL" }, /* Calibration in progress */
95 #define APCC_OID_NEEDREPLBATT ".1.3.6.1.4.1.318.1.1.1.2.2.4.0"
96 static info_lkp_t apcc_battrepl_info
[] = {
97 { 1, "" }, /* No battery needs replacing */
98 { 2, "RB" }, /* Batteries need to be replaced */
102 #define APCC_OID_TESTDIAGRESULTS ".1.3.6.1.4.1.318.1.1.1.7.2.3.0"
103 static info_lkp_t apcc_testdiag_results
[] = {
106 { 3, "InvalidTest" },
107 { 4, "TestInProgress"},
111 #define APCC_OID_SENSITIVITY ".1.3.6.1.4.1.318.1.1.1.5.2.7.0"
112 static info_lkp_t apcc_sensitivity_modes
[] = {
120 #define APCC_OID_TRANSFERREASON "1.3.6.1.4.1.318.1.1.1.3.2.5.0"
121 static info_lkp_t apcc_transfer_reasons
[] = {
123 { 2, "highLineVoltage" },
126 { 5, "smallMomentarySag" },
127 { 6, "deepMomentarySag" },
128 { 7, "smallMomentarySpike" },
129 { 8, "largeMomentarySpike" },
131 { 10, "rateOfVoltageChange" }
137 #define APCC_OID_REBOOT ".1.3.6.1.4.1.318.1.1.1.6.2.2"
138 #define APCC_REBOOT_DO 2
139 #define APCC_REBOOT_GRACEFUL 3
140 #if 0 /* not used. */
141 #define APCC_OID_SLEEP ".1.3.6.1.4.1.318.1.1.1.6.2.3"
142 #define APCC_SLEEP_ON "2"
143 #define APCC_SLEEP_GRACEFUL "3"
148 static snmp_info_t apcc_mib
[] = {
151 { "ups.mfr", ST_FLAG_STRING
, SU_INFOSIZE
, NULL
, "APC",
152 SU_FLAG_STATIC
| SU_FLAG_ABSENT
| SU_FLAG_OK
, NULL
},
153 { "ups.model", ST_FLAG_STRING
, SU_INFOSIZE
, ".1.3.6.1.4.1.318.1.1.1.1.1.1.0", "Generic Powernet SNMP device", SU_FLAG_STATIC
| SU_FLAG_OK
, NULL
},
154 { "ups.serial", ST_FLAG_STRING
, SU_INFOSIZE
, ".1.3.6.1.4.1.318.1.1.1.1.2.3.0", "", SU_FLAG_STATIC
| SU_FLAG_OK
, NULL
},
155 { "ups.mfr.date", ST_FLAG_STRING
, SU_INFOSIZE
, ".1.3.6.1.4.1.318.1.1.1.1.2.2.0", "", SU_FLAG_OK
| SU_FLAG_STATIC
, NULL
},
156 { "input.voltage", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.3.3.1.0", "", SU_FLAG_OK
| SU_FLAG_NEGINVALID
| SU_FLAG_UNIQUE
, NULL
},
157 { "input.voltage.maximum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.3.3.2.0", "", SU_FLAG_OK
| SU_FLAG_NEGINVALID
| SU_FLAG_UNIQUE
, NULL
},
158 { "input.voltage.minimum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.3.3.3.0", "", SU_FLAG_OK
| SU_FLAG_NEGINVALID
| SU_FLAG_UNIQUE
, NULL
},
159 { "input.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.3.2.1.0", "", SU_FLAG_OK
, NULL
},
160 { "input.voltage.maximum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.3.2.2.0", "", SU_FLAG_OK
, NULL
},
161 { "input.voltage.minimum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.3.2.3.0", "", SU_FLAG_OK
, NULL
},
162 { "input.phases", ST_FLAG_STRING
, 2, ".1.3.6.1.4.1.318.1.1.1.9.2.2.1.2.1", "", SU_FLAG_STATIC
| SU_FLAG_OK
, NULL
},
163 { "input.L1-L2.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
164 { "input.L2-L3.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
165 { "input.L3-L1.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
166 { "input.L1-L2.voltage.maximum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.4.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
167 { "input.L2-L3.voltage.maximum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.4.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
168 { "input.L3-L1.voltage.maximum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.4.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
169 { "input.L1-L2.voltage.minimum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.5.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
170 { "input.L2-L3.voltage.minimum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.5.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
171 { "input.L3-L1.voltage.minimum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.5.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
172 { "input.L1.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
173 { "input.L2.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
174 { "input.L3.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
175 { "input.L1.current.maximum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.7.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
176 { "input.L2.current.maximum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.7.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
177 { "input.L3.current.maximum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.7.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
178 { "input.L1.current.minimum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.8.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
179 { "input.L2.current.minimum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.8.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
180 { "input.L3.current.minimum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.3.1.8.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
181 { "input.frequency", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.2.2.1.4.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
182 { "input.frequency", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.3.3.4.0", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
183 { "input.frequency", 0, 1, ".1.3.6.1.4.1.318.1.1.1.3.2.4.0", "", SU_FLAG_OK
, NULL
},
184 { "input.transfer.low", ST_FLAG_STRING
| ST_FLAG_RW
, 3, ".1.3.6.1.4.1.318.1.1.1.5.2.3.0", "", SU_TYPE_INT
| SU_FLAG_OK
, NULL
},
185 { "input.transfer.high", ST_FLAG_STRING
| ST_FLAG_RW
, 3, ".1.3.6.1.4.1.318.1.1.1.5.2.2.0", "", SU_TYPE_INT
| SU_FLAG_OK
, NULL
},
186 { "input.transfer.reason", ST_FLAG_STRING
, 1, APCC_OID_TRANSFERREASON
, "", SU_TYPE_INT
| SU_FLAG_OK
, apcc_transfer_reasons
},
187 { "input.sensitivity", ST_FLAG_STRING
| ST_FLAG_RW
, 1, APCC_OID_SENSITIVITY
, "", SU_TYPE_INT
| SU_FLAG_OK
, apcc_sensitivity_modes
},
188 { "ups.status", ST_FLAG_STRING
, SU_INFOSIZE
, APCC_OID_POWER_STATUS
, "OFF",
189 SU_FLAG_OK
| SU_STATUS_PWR
, apcc_pwr_info
},
190 { "ups.status", ST_FLAG_STRING
, SU_INFOSIZE
, APCC_OID_BATT_STATUS
, "",
191 SU_FLAG_OK
| SU_STATUS_BATT
, apcc_batt_info
},
192 { "ups.status", ST_FLAG_STRING
, SU_INFOSIZE
, APCC_OID_CAL_RESULTS
, "",
193 SU_FLAG_OK
| SU_STATUS_CAL
, apcc_cal_info
},
194 { "ups.status", ST_FLAG_STRING
, SU_INFOSIZE
, APCC_OID_NEEDREPLBATT
, "",
195 SU_FLAG_OK
| SU_STATUS_RB
, apcc_battrepl_info
},
196 { "ups.temperature", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.2.3.2.0", "", SU_FLAG_OK
|SU_FLAG_UNIQUE
, NULL
},
197 { "ups.temperature", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.2.0", "", SU_FLAG_OK
, NULL
},
198 { "ups.load", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.4.3.3.0", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
199 { "ups.load", 0, 1, ".1.3.6.1.4.1.318.1.1.1.4.2.3.0", "", SU_FLAG_OK
, NULL
},
200 { "ups.firmware", ST_FLAG_STRING
, 16, ".1.3.6.1.4.1.318.1.1.1.1.2.1.0", "", SU_FLAG_STATIC
| SU_FLAG_OK
, NULL
},
201 { "ups.delay.shutdown", ST_FLAG_STRING
| ST_FLAG_RW
, 3, ".1.3.6.1.4.1.318.1.1.1.5.2.10.0", "", SU_FLAG_OK
, NULL
},
202 { "ups.delay.start", ST_FLAG_STRING
| ST_FLAG_RW
, 3, ".1.3.6.1.4.1.318.1.1.1.5.2.9.0", "", SU_FLAG_OK
, NULL
},
203 { "battery.charge", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.2.3.1.0", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
204 { "battery.charge", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.1.0", "", SU_FLAG_OK
, NULL
},
205 { "battery.charge.restart", ST_FLAG_STRING
| ST_FLAG_RW
, 3, ".1.3.6.1.4.1.318.1.1.1.5.2.6.0", "", SU_TYPE_INT
| SU_FLAG_OK
, NULL
},
206 { "battery.runtime", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.3.0", "", SU_FLAG_OK
, NULL
},
207 { "battery.runtime.low", ST_FLAG_STRING
| ST_FLAG_RW
, 3, ".1.3.6.1.4.1.318.1.1.1.5.2.8.0", "", SU_FLAG_OK
, NULL
},
208 { "battery.voltage", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.2.3.4.0", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
209 { "battery.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.8.0", "", SU_FLAG_OK
, NULL
},
210 { "battery.voltage.nominal", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.7.0", "", SU_FLAG_OK
, NULL
},
211 { "battery.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.2.3.5.0", "", SU_FLAG_OK
|SU_FLAG_UNIQUE
, NULL
},
212 { "battery.current", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.9.0", "", SU_FLAG_OK
, NULL
},
213 { "battery.current.total", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.2.3.6.0", "", SU_FLAG_OK
, NULL
},
214 { "battery.packs", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.5.0", "", SU_FLAG_OK
, NULL
},
215 { "battery.packs.bad", 0, 1, ".1.3.6.1.4.1.318.1.1.1.2.2.6.0", "", SU_FLAG_OK
, NULL
},
216 { "battery.date", ST_FLAG_STRING
| ST_FLAG_RW
, 8, ".1.3.6.1.4.1.318.1.1.1.2.1.3.0", "", SU_FLAG_OK
| SU_FLAG_STATIC
| SU_TYPE_STRING
, NULL
},
217 { "ups.id", ST_FLAG_STRING
| ST_FLAG_RW
, 8, ".1.3.6.1.4.1.318.1.1.1.1.1.2.0", "", SU_FLAG_OK
| SU_FLAG_STATIC
| SU_TYPE_STRING
, NULL
},
218 { "ups.test.result", ST_FLAG_STRING
, SU_INFOSIZE
, APCC_OID_TESTDIAGRESULTS
, "", SU_FLAG_OK
, apcc_testdiag_results
},
219 { "ups.test.date", ST_FLAG_STRING
| ST_FLAG_RW
, 8, ".1.3.6.1.4.1.318.1.1.1.7.2.4.0", "", SU_FLAG_OK
| SU_FLAG_STATIC
| SU_TYPE_STRING
, NULL
},
220 { "output.voltage", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.4.3.1.0", "", SU_FLAG_OK
| SU_FLAG_UNIQUE
, NULL
},
221 { "output.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.4.2.1.0", "", SU_FLAG_OK
, NULL
},
222 { "output.phases", ST_FLAG_STRING
, 2, ".1.3.6.1.4.1.318.1.1.1.9.3.2.1.2.1", "", SU_FLAG_STATIC
| SU_FLAG_OK
, NULL
},
223 { "output.frequency", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.2.1.4.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
224 { "output.frequency", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.4.3.2.0", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
225 { "output.frequency", 0, 1, ".1.3.6.1.4.1.318.1.1.1.4.2.2.0", "", SU_FLAG_OK
, NULL
},
226 { "output.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.4.3.4.0", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
|SU_FLAG_UNIQUE
, NULL
},
227 { "output.current", 0, 1, ".1.3.6.1.4.1.318.1.1.1.4.2.4.0", "", SU_FLAG_OK
, NULL
},
228 { "output.L1-L2.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
229 { "output.L2-L3.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
230 { "output.L3-L1.voltage", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
231 { "output.L1.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
232 { "output.L2.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
233 { "output.L3.current", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
234 { "output.L1.current.maximum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.5.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
235 { "output.L2.current.maximum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.5.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
236 { "output.L3.current.maximum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.5.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
237 { "output.L1.current.minimum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.6.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
238 { "output.L2.current.minimum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.6.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
239 { "output.L3.current.minimum", 0, 0.1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.6.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
240 { "output.L1.power", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.7.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
241 { "output.L2.power", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.7.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
242 { "output.L3.power", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.7.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
243 { "output.L1.power.maximum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.8.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
244 { "output.L2.power.maximum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.8.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
245 { "output.L3.power.maximum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.8.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
246 { "output.L1.power.minimum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.9.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
247 { "output.L2.power.minimum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.9.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
248 { "output.L3.power.minimum", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.9.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
249 { "output.L1.power.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
250 { "output.L2.power.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
251 { "output.L3.power.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
252 { "output.L1.power.maximum.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.11.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
253 { "output.L2.power.maximum.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.11.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
254 { "output.L3.power.maximum.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.11.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
255 { "output.L1.power.minimum.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.12.1.1.1", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
256 { "output.L2.power.minimum.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.12.1.1.2", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
257 { "output.L3.power.minimum.percent", 0, 1, ".1.3.6.1.4.1.318.1.1.1.9.3.3.1.12.1.1.3", "", SU_FLAG_OK
|SU_FLAG_NEGINVALID
, NULL
},
258 { "output.voltage.nominal", ST_FLAG_STRING
| ST_FLAG_RW
, 3, ".1.3.6.1.4.1.318.1.1.1.5.2.1.0", "", SU_TYPE_INT
| SU_FLAG_OK
, NULL
},
260 /* Measure-UPS ambient variables */
261 /* Environmental sensors (AP9612TH and others) */
262 { "ambient.temperature", 0, 1, ".1.3.6.1.4.1.318.1.1.2.1.1.0", "", SU_FLAG_OK
, NULL
},
263 { "ambient.1.temperature.alarm.high", 0, 1, ".1.3.6.1.4.1.318.1.1.10.1.2.2.1.3.1", "", SU_FLAG_OK
, NULL
},
264 { "ambient.1.temperature.alarm.low", 0, 1, ".1.3.6.1.4.1.318.1.1.10.1.2.2.1.4.1", "", SU_FLAG_OK
, NULL
},
265 { "ambient.humidity", 0, 1, ".1.3.6.1.4.1.318.1.1.2.1.2.0", "", SU_FLAG_OK
, NULL
},
266 { "ambient.1.humidity.alarm.high", 0, 1, ".1.3.6.1.4.1.318.1.1.10.1.2.2.1.6.1", "", SU_FLAG_OK
, NULL
},
267 { "ambient.1.humidity.alarm.low", 0, 1, ".1.3.6.1.4.1.318.1.1.10.1.2.2.1.7.1", "", SU_FLAG_OK
, NULL
},
269 /* IEM ambient variables */
270 /* IEM: integrated environment monitor probe */
271 #define APCC_OID_IEM_TEMP ".1.3.6.1.4.1.318.1.1.10.2.3.2.1.4.1"
272 #define APCC_OID_IEM_TEMP_UNIT ".1.3.6.1.4.1.318.1.1.10.2.3.2.1.5.1"
273 #define APCC_IEM_FAHRENHEIT 2
274 #define APCC_OID_IEM_HUMID ".1.3.6.1.4.1.318.1.1.10.2.3.2.1.6.1"
275 { "ambient.temperature", 0, 1, APCC_OID_IEM_TEMP
, "", SU_FLAG_OK
, NULL
},
276 { "ambient.humidity", 0, 1, APCC_OID_IEM_HUMID
, "", SU_FLAG_OK
, NULL
},
278 /* instant commands. */
279 { "load.off", 0, 2, ".1.3.6.1.4.1.318.1.1.1.6.2.1.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
280 { "load.on", 0, 2, ".1.3.6.1.4.1.318.1.1.1.6.2.6.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
281 { "shutdown.stayoff", 0, 3, ".1.3.6.1.4.1.318.1.1.1.6.2.1.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
283 /* { CMD_SDRET, 0, APCC_REBOOT_GRACEFUL, APCC_OID_REBOOT, "", SU_TYPE_CMD | SU_FLAG_OK, NULL }, */
285 { "shutdown.return", 0, 2, ".1.3.6.1.4.1.318.1.1.1.6.1.1.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
286 { "test.failure.start", 0, 2, ".1.3.6.1.4.1.318.1.1.1.6.2.4.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
287 { "test.panel.start", 0, 2, ".1.3.6.1.4.1.318.1.1.1.6.2.5.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
288 { "bypass.start", 0, 2, ".1.3.6.1.4.1.318.1.1.1.6.2.7.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
289 { "bypass.stop", 0, 3, ".1.3.6.1.4.1.318.1.1.1.6.2.7.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
290 { "test.battery.start", 0, 2, ".1.3.6.1.4.1.318.1.1.1.7.2.2.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
291 { "calibrate.start", 0, 2, ".1.3.6.1.4.1.318.1.1.1.7.2.5.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
292 { "calibrate.stop", 0, 3, ".1.3.6.1.4.1.318.1.1.1.7.2.5.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
293 { "reset.input.minmax", 0, 2, ".1.3.6.1.4.1.318.1.1.1.9.1.1.0", "", SU_TYPE_CMD
| SU_FLAG_OK
, NULL
},
295 /* end of structure. */
296 { NULL
, 0, 0, NULL
, NULL
, 0, NULL
}
299 mib2nut_info_t apc
= { "apcc", APCC_MIB_VERSION
, APCC_OID_POWER_STATUS
, ".1.3.6.1.4.1.318.1.1.1.1.1.1.0", apcc_mib
};