Заходим Настройки - Автоматизация - Новый скрипт. Внизу слева нажимаем "Загрузить пример" выбираем nut_configuration. Сохраняем счелкаем на другой скрипт и возвращаемся к нашему (появится форма для заполнения данных и пояснение). Перевод:
Этот скрипт предоставляет простой интерфейс для настройки NUT для работы с вашим ИБП. Драйвер: определяет, какая программа будет контролировать этот ИБП. Вам нужно указать ту, которая совместима с вашим оборудованием. Порт: последовательный порт, к которому подключен ИБП. Дополнительные параметры ИБП: дополнительные параметры для вашего ИБП, разделённые запятыми (param1 = "val1",param2 = "val2"). Частота опроса: интервал, который upsmon ожидает между опросами (секунды). Частота опроса при работе от аккумулятора: интервал, который upsmon ожидает между опросами при работе от аккумулятора (секунды). Низкий уровень заряда батареи: оставшийся уровень заряда батареи при переключении ИБП в режим LB (процент). Задержка запуска: интервал, который необходимо подождать перед перезапуском нагрузки (секунды). Задержка выключения: интервал, который необходимо подождать после выключения с помощью команды задержки (секунды). Вход в систему: вход в систему для upsd. Пароль: пароль для upsd. Для получения более подробной информации прочтите руководство NUT: http://networkupstools.org/docs/user-manual.pdf
Что бы зайти в командную строку трассира нужно: https://kvictor077.ru/videonablyudenie/vklyuchenie-ssh-na-servere-trassir
Подключение ИБП Smart Power Pro II Euro 1600
Настройка nut configuration на TOS:
Исходя из информации о поддерживаемых драйверах, можно использовать следующие драйвера:
blazer_usb
bestups
usbhid-ups
использовал драйвер usbhid-ups:
Перейдем к настройке подключение ИБП:
В файле /etc/nut/nut.conf необходимо прописать:
MODE=standalone;
Подключить ИБП usb проводом к серверу.
Меняем разрешения в директории /etc/nut/ командой:
sudo chmod a+rw /etc/nut/*
Редактируем файл /etc/nut/ups.conf , файл должен выглядеть следующим образом:
[myups]
driver = usbhid-ups
port = auto
Изменение владельца директории:
sudo chown -R nut:nut /var/lib/nut
Установка правильных прав доступа:
sudo chmod 755 /var/lib/nut
Проверка результата
После выполнения команд выполните:
ls -ld /var/lib/nut
Должен получиться результат:
drwxr-xr-x 2 nut nut 60 авг. 19 14:40 /var/lib/nut
Выполняем команду lsusb , ищем ИБП среди подключенных устройств. Увидим следующую строку:
Bus 001 Device 002: ID 0483:a430 Phoenixtec Power Co., Ltd
Нас интересуют 0483:a430 (где idVendor:idProduct)
Создаем файл 90-nut-ups.rules с правилом для udev по пути - /etc/udev/rules.d/ командой
sudo mkdir /etc/nut/rules.d
sudo nano /etc/nut/rules.d/90-nut-ups.rules
В него прописываем:
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0483", ATTR{idProduct}=="a430", MODE="0660", GROUP="nut"
Перезагружаем udev.
sudo /etc/init.d/udev restart
Отключаем ИБП и заново подключаем его по usb кабелю.
Запускаем upsdrv.
sudo /etc/init.d/upsdrv start
Должно появиться такое сообщение:
Network UPS Tools - UPS driver controller 2.6.5
Network UPS Tools - Generic HID driver 0.37 (2.6.5)
USB communication driver 0.31
Using subdriver: Liebert HID 0.3
Создаем пользователя upsmonitor с UID меньше 1000, чтобы он считался служебным и его не было на экране входа пользователей в
систему, и с GID'ом группы nut.
Узнаем GID группы nut:
cat /etc/group | grep nut:x:
Получил: nut:x:84:nut
Далее ищем свободный UID (я выбрал 339), проверяем что он ничем не используется:
cat /etc/passwd | grep 339
Если ничего не нашло, значит UID свободен.
Создаем пользователя:
sudo useradd -d /dev/null -s /usr/sbin/nologin -u 339 -g 84 -p UPSPASS upsmonitor (после -p можете задать любой пароль)
Добавляем пользователя в файл профилей пользователей NUT /etc/nut/upsd.users.
Файл должен выглядеть следующим образом:
[upsmonitor]
password = UPSPASS
actions = SET
instcmds = ALL
upsmon master
Настройка ИБП завершена.
Вводим команду: upsc myups@localhost (можно upsc myups), для проверки того, что ИБП присылает нам информацию.
На вывод должна прийти информация:
battery.charge: 100
battery.runtime: 27790
и т.д...
P.S.
С помощью драйвера usbhid-ups мы можем получить информацию от ИБП, но отправление каких либо команд на ИБП невозможно.
Черновик материала:
vms@Malyshevo ~ $ sudo /lib/nut/blazer_usb -a myups -u root -DD Network UPS Tools - Megatec/Q1 protocol USB driver 0.09 (2.6.5) Error: UPS [myups] is for driver usbhid-ups, but I'm blazer_usb!
Error: UPS [myups] is for driver usbhid-ups, but I'm blazer_usb!
означает, что NUT думает, что UPS myups должен использовать драйвер usbhid-ups, а вы запускаете драйвер blazer_usb. То есть есть конфликт в настройках.
Причина ошибки
В конфигурации /etc/nut/ups.conf у вас написано:
[myups]
driver = blazer_usb
port = auto ...
Но драйвер blazer_usb запускается с параметрами, несовместимыми с текущим UPS или с тем, что NUT ожидает.
Как исправить
- Убедитесь, что драйвер выбран правильно
- Для большинства современных UPS APC и подобных чаще используется драйвер usbhid-ups.
- Драйвер blazer_usb подходит для некоторых специализированных устройств (например, CyberPower, MGE и др.)
- Проверьте, какой UPS у вас физически и какой драйвер ему подходит
Для этого посмотрите вывод:
lsusb
и потом ищите по идентификатору устройство.
- Измените драйвер в ups.conf на usbhid-ups
Пример:
[myups]
driver = usbhid-ups
port = auto
desc = "APC01"
- Запустите драйвер правильно:
sudo /lib/nut/usbhid-ups -a myups -u root -DD
- Если хотите проверить, какие драйверы поддерживаются, посмотрите в документацию NUT
Итог
Ошибка означает, что вы запускаете драйвер, не соответствующий определению UPS в конфиге.
Поменяйте в ups.conf драйвер на тот, который подходит UPS, а также запускайте именно его.
Если нужно — могу помочь определить правильный драйвер по выводу lsusb или по модели UPS.
Команда с другим драйвером:
vms@Malyshevo ~ $ sudo /lib/nut/usbhid-ups -a myups -u root -DD
Из вывода логов драйвера usbhid-ups видно:
- Обнаружены USB-устройства с VendorID/ProductID, в том числе ваш UPS:
0483:A430 UPS Manufacturer Smart Power Pro II Euro 1600
- НО драйвер usbhid-ups не смог найти подходящее HID-устройство, т.к. "No matching HID UPS found".
Что это значит
Драйвер usbhid-ups пытается найти среди устройств именно те, которые он умеет поддерживать, по своей внутренней базе (списку VID/PID).
У вас UPS с VID/PID 0483:A430, который он не распознает как поддерживаемый.
Как поступить
- Драйвер blazer_usb скорее подходит именно для этого UPS (Smart Power Pro II).
Потому что usbhid-ups — не подходит, а изначально вы запускали blazer_usb, и это, скорее всего, правильный драйвер.
Решение
- В конфиге /etc/nut/ups.conf для myups нужно написать driver = blazer_usb.
Пример секции:
[myups]
driver = blazer_usb
port = auto
desc = "Smart Power Pro II Euro 1600"
- После этого запускать драйвер:
sudo /lib/nut/blazer_usb -a myups -u root -DD
Судя по всему, драйвер blazer_usb не распознаёт ваше устройство автоматически (UPS Smart Power Pro II Euro 1600 с VID:PID 0483:A430).
Что делать
1. Добавить в конфиг ups.conf параметры vendorid и productid
Пример секции для blazer_usb с явным указанием VID/PID:
[myups]
driver = blazer_usb
port = auto
vendorid = 0483
productid = a430
desc = "Smart Power Pro II Euro 1600"
2. Можно попробовать также указать параметр subdriver — для вашего UPS в документации NUT есть рекомендуемые поддрайверы.
Для Smart Power Pro II обычно подходит:
subdriver = smartpowerpro2
Полный пример:
[myups]
driver = blazer_usb
port = auto
vendorid = 0483
productid = a430
subdriver = smartpowerpro2
desc = "Smart Power Pro II Euro 1600"
3. Перезапустить драйвер:
sudo /lib/nut/blazer_usb -a myups -u root -DD
Что это значит
Драйвер просто не знает ваше устройство, т.к. в версии NUT 2.6.5 отсутствует поддержка вашего UPS.
Варианты решения
Запуск с параметрами вручную
Попробуйте явно указать vendorid и productid при запуске драйвера:
sudo /lib/nut/blazer_usb -a myups -u root -DD -v 0483 -p a430
(Если версия драйвера поддерживает эти параметры)
Использовать параметр port с точным указанием
Вместо port = auto попробуйте:
port = /dev/usb/hiddev0
или /dev/hidraw0, если это устройство USB HID для вашего UPS.
vms@Malyshevo ~ $ sudo /lib/nut/blazer_usb -a myups -u root -DD -v 0483 -p a430
Network UPS Tools - Megatec/Q1 protocol USB driver 0.09 (2.6.5) /lib/nut/blazer_usb: invalid option -- 'v' 0.000000 Error: unknown option -?. Try -h for help. Как узнать какой у меня порт port = /dev/usb/hiddev0 или /dev/hidraw0
Ваша версия blazer_usb (2.6.5) не поддерживает параметры -v и -p — они появились в более новых версиях NUT.
Как узнать, какой у вас порт USB для UPS
1. Посмотреть устройства HID в /dev
Проверьте, какие устройства HID у вас есть:
ls -l /dev/usb/hiddev*
ls -l /dev/hidraw*
Чаще всего UPS подключается к /dev/usb/hiddev0 или /dev/hidraw0, /dev/hidraw1 и т.п.
Определить устройство по USB
Используйте команду dmesg сразу после подключения UPS или перезагрузки, чтобы увидеть, какой hidraw или hiddev связан с вашим UPS:
dmesg | grep -i hid
или
dmesg | grep -i usb
Вы увидите что-то вроде:
[ 123.456789] hid-generic 0003:0483:A430.0001: hiddev0,hidraw0: USB HID v1.11 Device [UPS Manufacturer Smart Power Pro II Euro 1600] on usb-0000:00:14.0-1/input0
Здесь видно, что вашему UPS соответствует /dev/hidraw0 и /dev/usb/hiddev0.
vms@Malyshevo ~ $ ls -l /dev/usb/hiddev
* crw------- 1 root root 180, 96 июля 15 08:17 /dev/usb/hiddev0
vms@Malyshevo ~ $ ls -l /dev/hidraw
* crw-rw-r-- 1 root vms 244, 0 июля 15 08:17 /dev/hidraw0 crw-rw-r-- 1 root vms 244, 1 июля 15 08:17 /dev/hidraw1 crw-rw-r-- 1 root vms 244, 2 июля 15 08:17 /dev/hidraw2
vms@Malyshevo ~ $ dmesg | grep -i hid
[ 0.268695] hid: raw HID events driver (C) Jiri Kosina [ 0.268710] usbcore: registered new interface driver usbhid [ 0.268712] usbhid: USB HID core driver [ 0.691676] hid-generic 0003:248A:8369.0001: input,hidraw0: USB HID v1.11 Mouse [Telink Wireless Receiver] on usb-0000:00:14.0-3/input0 [ 0.745696] hid-generic 0003:248A:8369.0002: input,hidraw1: USB HID v1.11 Keyboard [Telink Wireless Receiver] on usb-0000:00:14.0-3/input1 [ 0.992084] hid-generic 0003:0483:A430.0003: hiddev96,hidraw2: USB HID v1.11 Device [UPS Manufacturer Smart Power Pro II Euro 1600] on usb-0000:00:14.0-4/input0
Отлично! По выводу dmesg и ls:
- Ваш UPS Smart Power Pro II Euro 1600 виден как:
hiddev96, hidraw2: USB HID v1.11 Device [UPS Manufacturer Smart Power Pro II Euro 1600]
- Соответственно, устройство — это /dev/hidraw2 и /dev/usb/hiddev96
Что делать
В конфиг /etc/nut/ups.conf укажите порт именно /dev/hidraw2, так как /dev/hidraw* у вас доступны с правами на чтение для группы vms:
[myups]
driver = blazer_usb
port = /dev/hidraw2
desc = "Smart Power Pro II Euro 1600"
Решение 2: попробовать другие subdriver
Известные subdriver'ы для blazer_usb:
- krauler
- voltronic
- mustek
- fenton
- phoenix
- ippon
Пробуйте по очереди в /etc/nut/ups.conf:
ini
КопироватьРедактировать
[myups] driver = blazer_usb port = /dev/hidraw2 desc = "Smart Power Pro II Euro 1600" vendorid = 0483 productid = a430 subdriver = krauler # ← попробуйте это
И запускайте:
bash
КопироватьРедактировать
sudo /lib/nut/blazer_usb -a myups -u root -DD
Если получите ошибку:
Subdriver "krauler" not found!
то снова — у вас нет этого поддрайвера в сборке.
Временный обход — попробовать usbhid-ups
Удалите subdriver, и временно протестируйте с usbhid-ups:
[myups]
driver = usbhid-ups
port = auto
vendorid = 0483
productid = a430
desc = "Smart Power Pro II Euro 1600"
И запустите:
sudo /lib/nut/usbhid-ups -a myups -u root -DD
Если он не найдёт устройство — только blazer_usb вам подойдёт.
Возможные драйверы:
1. blazer_usb – ты уже пробовал, устройство определяется, но не отвечает.
2. nutdrv_qx – более гибкий и современный драйвер для китайских UPS, особенно Voltronic, Mustek, INVT и подобных.
📌 Попробуй его!
🔧 Настройка nutdrv_qx
Открой файл:
sudo nano /etc/nut/ups.conf
Добавь:
[myups]
driver = nutdrv_qx
port = auto
vendorid = 0483
productid = a430
subdriver = voltronic
desc = "Smart Power Pro II Euro 1600"
Проверь доступность драйвера:
ls /lib/nut/nutdrv_qx
Если есть — запускай:
sudo /lib/nut/nutdrv_qx -a myups -u root -DD
Comments powered by CComment