105207879

Подключение ИБП (UPS) APC-750 в Proxmox

Подключение ИБП к серверу и его включение. 
Установка NUT:
 
apt install nut
Определение параметров ИБП. В оболочке Proxmox выполните команду lsusb, чтобы найти Bus и Device ID вашего ИБП.
Результат:  Bus 001 Device 003: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Затем используйте для получения детальной информации.
nut-scanner -U
Результат:
Cannot load SNMP library (libnetsnmp.so.40) : file not found. SNMP search disabled.
Cannot load IPMI library (libfreeipmi.so.17) : file not found. IPMI search disabled.
Scanning USB bus.
[nutdev1]
driver = "usbhid-ups"
port = "auto"
vendorid = "051D"
productid = "0002"
product = "Smart-UPS 750 FW:651.13.I USB FW:7.3"
serial = "AS000000000"
vendor = "American Power Conversion"
bus = "001"
device = "003"
busport = "001"
###NOTMATCHED-YET###bcdDevice = "0006"
Настройка /etc/nut/nut.conf. Измените параметр Mode с none на netserver. 
MODE=netserver
Настройка /etc/nut/ups.conf. Очистите файл и добавьте конфигурацию, полученную с помощью nut-scanner. Пример:Значения vendorid и productid можно получить из вывода lsusb. 
 
pollinterval = 15
maxretry = 3
offdelay = 120
ondelay = 240

[apc]
driver = usbhid-ups
port = auto
vendorid = 051D
productid = 0002
serial = ваш_серийный_номер

Настройка /etc/nut/upsd.conf. Очистите файл и добавьте: Это позволит серверу принимать пакеты NUT от любых устройств в сети. 
  
LISTEN 0.0.0.0 3493
LISTEN :: 3493

Предоставим права доступа к USB‑устройству 

Создание udev‑правила для доступа к ИБП

  1. Создайте файл правила:

nano /etc/udev/rules.d/99-nut-ups.rules

  1. Вставьте следующее содержимое, используя данные из вывода nut-scanner:

SUBSYSTEM=="usb", ATTR{idVendor}=="051D", ATTR{idProduct}=="0002", MODE="0666", GROUP="nut"

  1. Сохраните файл (в nano: Ctrl+O, Enter, затем Ctrl+X).
  2. Примените правило:

udevadm control --reload-rules
udevadm trigger

Проверка и настройка пользователя и группы NUT

Убедитесь, что существует пользователь и группа nut:

id nut

Если команда выдаёт ошибку, создайте пользователя и группу:

groupadd nut useradd -r -g nut nut

Добавьте пользователя nut в группу dialout (для доступа к USB):

usermod -a -G dialout nut

Настройка upsd.users

Отредактируйте файл /etc/nut/upsd.users:

nano /etc/nut/upsd.users

Добавьте пользователя для мониторинга:

[monuser]
password = changeme
upsmon master

Важно: замените changeme на надёжный пароль.

Настройка upsmon.conf

Отредактируйте /etc/nut/upsmon.conf:

nano /etc/nut/upsmon.conf

Добавьте строку для мониторинга ИБП:

MONITOR apc@localhost 1 monuser changeme master

Настройка расписания команд

Назначение файла  /etc/nut/upssched-cmd это исполняемый скрипт, который обрабатывает события от демона upssched (планировщика событий NUT). 
Он определяет, какие действия выполнять при наступлении определённых состояний ИБП (например, переход на батарею, низкий заряд и т. д.).

в /etc/nut/upssched-cmd. Пример содержимого:

#!/bin/sh
case $1 in
  onbatt)
    logger -t upssched-cmd "UPS running on battery"
    ;;
  earlyshutdown)
    logger -t upssched-cmd "UPS on battery too long, early shutdown"
    /usr/sbin/upsmon -c fsd
    ;;
  shutdowncritical)
    logger -t upssched-cmd "UPS on battery critical, forced shutdown"
    /usr/sbin/upsmon -c fsd
    ;;
  upsgone)
    logger -t upssched-cmd "UPS has been gone too long, can't reach"
    ;;
  *)
    logger -t upssched-cmd "Unrecognized command: $1"
    ;;
esac

Сделайте файл исполняемым: 
chmod +x /etc/nut/upssched-cmd

Перезапуск служб NUT

Выполните команды в указанном порядке:

systemctl stop nut-monitor

systemctl stop nut-server
systemctl stop nut-client
upsdrvctl stop
upsdrvctl start

systemctl start nut-server
systemctl start nut-client
systemctl start nut-monitor

Проверка работы

Проверьте статус ИБП:

upsc apc@localhost

Если команда возвращает параметры ИБП (заряд батареи, напряжение и т. д.), драйвер работает корректно.

Проверьте статус служб:
systemctl status nut-server nut-client nut-monitor
Проверьте логи на наличие ошибок:
journalctl -u nut-monitor -f

Интеграция UPS APC в Home Assistant


Добавить комментарий