Немного о подключении UPS по USB во FreeBSD

APC Smart-UPS 1500Много где используется источник бесперебойного питания APC Smart UPS 1500 (такой, как на картинке). У него есть два способа подключения информационного кабеля – по COM- и по USB-кабелю. Но т.к. COM-порт на серверах встречается всё реже, опишу тут краткую инструкцию, как работать с этой моделью по USB – получение статусных данных и как проводить процедуру калибровки батареи.
Стандартно собираем пакет sysutils/nut, как описано здесь
Конфиг ups.conf такой же:

[server]
    driver = usbhid-ups
    port = "auto"

Конфиг upsd.conf очень простой:

LISTEN 127.0.0.1

Снимаем данные с бесперебойника:

# /usr/local/nut/bin/upsc server@localhost
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.mfr.date: 2005/09/29
battery.runtime: 5460
battery.runtime.low: 120
battery.temperature: 35.5
battery.type: PbAc
battery.voltage: 27.3
battery.voltage.nominal: 24.0
device.mfr: American Power Conversion
device.model: Smart-UPS 1500
device.serial: 04181911
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.6.1
driver.version.data: APC HID 0.95
driver.version.internal: 0.35
input.sensitivity: high
input.transfer.high: 253
input.transfer.low: 208
input.voltage: 226.0
output.current: 0.35
output.frequency: 50.0
output.voltage: 226.0
output.voltage.nominal: 230.0
ups.beeper.status: disabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.firmware: .12.I
ups.firmware.aux: 4.2
ups.load: 7.8
ups.mfr: American Power Conversion
ups.mfr.date: 2005/09/29
ups.model: Smart-UPS 1500
ups.productid: 0002
ups.serial: 04181911
ups.status: OL
ups.test.result: No test initiated
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.timer.start: -1
ups.vendorid: 051d

Величины battery.charge и battery.runtime, например, можно замониторить вашим любимым средством мониторинга.

Список команд, поддерживаемых девайсом, можно увидеть так:

# /usr/local/nut/bin/upscmd -l server@localhost
Instant commands supported on UPS [server]:

beeper.disable - Disable the UPS beeper
beeper.enable - Enable the UPS beeper
beeper.mute - Temporarily mute the UPS beeper
beeper.off - Obsolete (use beeper.disable or beeper.mute)
beeper.on - Obsolete (use beeper.enable)
load.off - Turn off the load immediately
load.off.delay - Turn off the load with a delay (seconds)
load.on - Turn on the load immediately
load.on.delay - Turn on the load with a delay (seconds)
shutdown.reboot - Shut down the load briefly while rebooting the UPS
shutdown.return - Turn off the load and return when power is back
shutdown.stayoff - Turn off the load and remain off
shutdown.stop - Stop a shutdown in progress
test.battery.start.deep - Start a deep battery test
test.battery.start.quick - Start a quick battery test
test.battery.stop - Stop the battery test
test.panel.start - Start testing the UPS panel
test.panel.stop - Stop a UPS panel test

Например, полная калибровка производится так:

# /usr/local/nut/bin/upscmd server@localhost test.battery.start.deep

Похожие статьи

Leave a Reply

Your email address will not be published. Required fields are marked *