Translation(s): ?English - Русский
Данное руководство адаптировано специально для Debian и описывает настройку источника бесперебойного питания (ИБП) на примере Volta 650 LED.
Для начала нам необходимо узнать идентификаторы устройства, используя команду lsusb
*** Bus 001 Device 002: ID 0665:5161 Cypress Semiconductor USB to Serial ***
Например из строки "Bus 002 Device 005: ID 0665:5161 Cypress Semiconductor USB to Serial" можно узнать, что VendorID = 0665 ProductID = 5161 относятся к моему ИБП.
Установка
Далее установим NUT:
sudo apt-get install nut
Настройка правил UDEV
После этого создаем файл (в случае USB подключения ИБП) в /lib/udev/rules.d/52-nut-usbups.rules со следующим содержанием:
# Volta 650 VA LED ATTR{idVendor}=="Ваш_VendorID", ATTR{idProduct}=="Ваш_ProductID", MODE="664", GROUP="nut"
Если ваш ИБП использует для подключения RS232 (аля COM-порт), то создаем файл /etc/udev/rules.d/52_nut-serialups.rules содержащий следующее:
# Volta 650 VA LED KERNEL=="ttyS0", GROUP="nut"
где ttyS0 - номер COM-порта к которому подключен ИБП (в данном случае COM1)
Далее для USB достаточно вынуть разъем из порта и снова воткнуть. А для COM-порта выполнить перезагрузку системы.
Настройка NUT
NUT может управлять множеством ИБП в сети, но мы будем использовать простую конфигурацию для 1 компьютера. Для этого в файле /etc/nut/nut.conf выставим соответствующий режим:
MODE=standalone
В файле /etc/nut/ups.conf укажем параметры подключения к нашему ИБП:
[volta-650] driver = blazer_usb port = /dev/ttyS0 desc = "Volta 650 VA LED" default.battery.voltage.high = 13.60 default.battery.voltage.low = 10.60 offdelay = 6 ondelay = 7
где [volta-650] - имя нашего ИБП в системе NUT, оно может быть любым;
driver - имя драйвера для подключения к ИБП, смотрим его тут http://www.networkupstools.org/stable-hcl.html, для моего ИБП это blazer_usb и
blazer_serial в зависимости от порта подключения;
port - имя файла порта, для USB можно просто "auto", для COM1-порта "/dev/ttyS0"
desc - комментарий;
default.battery.voltage.high - максимальное напряжение батареи при полном заряде, необходимо для расчета остаточного заряда батареи;
default.battery.voltage.low - минимальное напряжение батареи при полном разряде;
offdelay - команда ИБП перейти в режим ожидания через 6 минут
Далее в файле /etc/nut/upsd.conf мы пропишем контроль доступа:
ACL all 0.0.0.0/0 ACL localnet 192.168.1.0/24 ACL localhost 127.0.0.1/32 ACCEPT localhost localnet REJECT all
Здесь мы разрешили подключение к службе для локального компьютера и локальной сети, и отвергли всех остальных. Кстати по умолчанию NUT слушает все интерфейсы по 3493 порту.
Далее заводим пользователей, которые могут контролировать ИБП в файле /etc/upsd.users:
[имя_пользователя] password = пароль_пользователя allowfrom = localnet upsmon master actions = SET instcmds = ALL
где
allowfrom - параметр определяющий источник подключения;
upsmon master - параметр дающий права на управление ИБП.
И последнее, осталось настроить службу мониторинга в файле /etc/nut/upsmon.conf пишем:
RUN_AS_USER nut MONITOR имя_ибп@localhost 1 имя_пользователя пароль_пользователя master MINSUPPLIES 1 POWERDOWNFLAG /etc/killpower SHUTDOWNCMD "sbin/shutdown -Ph +0" POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5
где SHUTDOWNCMD "sbin/shutdown -Ph +0" - команда на завершение работы компьютера.
Все. Теперь запустим nut командой:
# /etc/init.d/nut start
можно запросить статус ИБП командой:
upsc имя_ибп
в ответ вам система выдать примерно следующее:
Init SSL without certificate database battery.charge: 100 battery.voltage: 13.50 battery.voltage.high: 13.00 battery.voltage.low: 10.40 battery.voltage.nominal: 12.0 device.type: ups driver.name: blazer_usb driver.parameter.pollinterval: 2 driver.parameter.port: /dev/ttyS0 driver.version: 2.7.2 driver.version.internal: 0.11 input.current.nominal: 2.0 input.frequency: 50.0 input.frequency.nominal: 50 input.voltage: 207.6 input.voltage.fault: 207.6 input.voltage.nominal: 220 output.voltage: 207.6 ups.beeper.status: enabled ups.delay.shutdown: 30 ups.delay.start: 180 ups.load: 22 ups.productid: 5161 ups.status: FSD OL ups.type: offline / line interactive ups.vendorid: 0665