Nastavení UPS PowerWalker VI 650 LCD v Ubuntu


Tento návod popisuje zprovoznění UPS PowerWalker VI 650 LCD připojené přes USB k Ubuntu serveru. Cílem je monitorovat stav UPS, napětí, zatížení, stav baterie a později případně nastavit bezpečné vypnutí serveru při výpadku napájení.

UPS byla v systému detekována jako zařízení:

ID 0665:5161 Cypress Semiconductor USB to Serial

Nakonec úspěšně fungovala přes NUT – Network UPS Tools s driverem:

nutdrv_qx

Použitý hardware

UPS:

PowerWalker VI 650 LCD
650 VA / 360 W
USB komunikace
1× 12 V 7 Ah AGM/VRLA baterie

Server:

Ubuntu Server
NUT 2.8.1

1. Ověření, že Ubuntu UPS vidí

Nejdříve připojíme UPS USB kabelem k serveru a ověříme ji příkazem:

lsusb

V mém případě byl výstup:

Bus 001 Device 006: ID 0665:5161 Cypress Semiconductor USB to Serial

To je důležité. Tato UPS se nepřihlásila jako běžné HID UPS zařízení, ale jako zařízení s Vendor ID 0665 a Product ID 5161.

Proto se nepoužil driver usbhid-ups, ale nutdrv_qx.


2. Instalace NUT

Nainstalujeme balík NUT:

sudo apt update
sudo apt install nut

Ověříme dostupné služby:

systemctl list-unit-files | grep nut

Na novějších Ubuntu instalacích se může objevit například:

nut-driver-enumerator.path
nut-client.service
nut-driver-enumerator.service
nut-driver@.service
nut-monitor.service
nut-server.service
nut-driver.target
nut.target

Důležité je, že zde není klasická služba nut-driver.service, ale šablonová služba:

nut-driver@.service

Konkrétní UPS se pak spouští například jako:

sudo systemctl restart nut-driver@powerwalker

3. Nastavení režimu NUT

Otevřeme soubor:

sudo nano /etc/nut/nut.conf

Nastavíme standalone režim:

MODE=standalone

Tento režim je vhodný, pokud UPS monitoruje přímo daný server.


4. Konfigurace UPS

Otevřeme konfigurační soubor:

sudo nano /etc/nut/ups.conf

Vložíme konfiguraci:

[powerwalker]
    driver = nutdrv_qx
    port = auto
    vendorid = 0665
    productid = 5161
    desc = "PowerWalker VI 650 LCD"

Název sekce [powerwalker] je důležitý. Podle něj se pak jmenuje systemd služba:

nut-driver@powerwalker

5. První pokus o spuštění driveru

Zkusíme restartovat služby:

sudo systemctl restart nut-driver@powerwalker
sudo systemctl restart nut-server
sudo systemctl restart nut-monitor

V mém případě driver nejdříve nenaběhl. Stav služby ukázal:

systemctl status nut-driver@powerwalker --no-pager

A ruční spuštění driveru:

sudo upsdrvctl -D start powerwalker

vrátilo chybu:

libusb1: Could not open any HID devices: insufficient permissions on everything
No supported devices found. Please check your device availability with 'lsusb'

To znamená, že konfigurace už byla správně nalezena, ale NUT neměl oprávnění přistupovat k USB zařízení.


6. Oprava práv přes udev pravidlo

Nejdříve ověříme, že existuje skupina nut:

getent group nut

Poté vytvoříme udev pravidlo:

sudo nano /etc/udev/rules.d/62-nut-usbups.rules

Do souboru vložíme:

SUBSYSTEM=="usb", ATTR{idVendor}=="0665", ATTR{idProduct}=="5161", MODE="0660", GROUP="nut"

Pravidla znovu načteme:

sudo udevadm control --reload-rules
sudo udevadm trigger

Poté je vhodné fyzicky odpojit a znovu připojit USB kabel UPS.


7. Restart NUT služeb

Po přidání udev pravidla restartujeme služby:

sudo systemctl restart nut-driver-enumerator.service
sudo systemctl restart nut-driver@powerwalker
sudo systemctl restart nut-server
sudo systemctl restart nut-monitor

8. Ověření funkčnosti

Stav UPS ověříme příkazem:

upsc powerwalker@localhost

Po úspěšném zprovoznění byl výstup například:

battery.charge: 100
battery.voltage: 13.5
battery.voltage.high: 13.00
battery.voltage.low: 10.40
battery.voltage.nominal: 12.0
device.type: ups
driver.name: nutdrv_qx
driver.parameter.productid: 5161
driver.parameter.vendorid: 0665
driver.version: 2.8.1
driver.version.data: Voltronic-QS 0.09
input.voltage: 237.1
output.frequency: 50.0
output.voltage: 237.1
ups.load: 17
ups.status: OL
ups.type: offline / line interactive

Tím bylo potvrzeno, že monitoring UPS funguje.


9. Význam důležitých hodnot

ups.status: OL

OL = On Line

UPS běží ze sítě. Vše je v normálním stavu.

ups.status: OB

OB = On Battery

UPS běží z baterie. Tento stav se objeví při výpadku napájení.

battery.charge: 100

Baterie je nabitá na 100 %.

battery.voltage: 13.5

Napětí baterie. U 12V olověné AGM/VRLA baterie je hodnota kolem 13,5 V při udržovacím nabíjení normální.

input.voltage: 237.1

Aktuální vstupní napětí ze sítě.

output.voltage: 237.1

Výstupní napětí z UPS.

ups.load: 17

Zatížení UPS v procentech. U UPS s výkonem 360 W znamená 17 % orientačně asi 60 W.


10. Test přechodu na baterii

Pro sledování hodnot v reálném čase lze použít:

watch -n 1 upsc powerwalker@localhost

Poté opatrně odpojíme UPS ze zásuvky. Stav by se měl změnit z:

ups.status: OL

na:

ups.status: OB

Po opětovném připojení do sítě se stav vrátí zpět na:

ups.status: OL

11. Nastavení uživatele pro automatické vypnutí serveru

Pokud chceme, aby se Ubuntu server při nízké baterii bezpečně vypnul, nastavíme uživatele pro upsmon.

Otevřeme:

sudo nano /etc/nut/upsd.users

Přidáme:

[monuser]
    password = nejake_silne_heslo
    upsmon master

Poté otevřeme:

sudo nano /etc/nut/upsmon.conf

A přidáme nebo upravíme řádek:

MONITOR powerwalker@localhost 1 monuser nejake_silne_heslo master

Restartujeme služby:

sudo systemctl restart nut-server
sudo systemctl restart nut-monitor

Stav monitoru ověříme:

systemctl status nut-monitor --no-pager

12. Shrnutí funkční konfigurace

Finální /etc/nut/nut.conf:

MODE=standalone

Finální /etc/nut/ups.conf:

[powerwalker]
    driver = nutdrv_qx
    port = auto
    vendorid = 0665
    productid = 5161
    desc = "PowerWalker VI 650 LCD"

Udev pravidlo /etc/udev/rules.d/62-nut-usbups.rules:

SUBSYSTEM=="usb", ATTR{idVendor}=="0665", ATTR{idProduct}=="5161", MODE="0660", GROUP="nut"

Restart po změnách:

sudo udevadm control --reload-rules
sudo udevadm trigger
sudo systemctl restart nut-driver-enumerator.service
sudo systemctl restart nut-driver@powerwalker
sudo systemctl restart nut-server
sudo systemctl restart nut-monitor

Ověření:

upsc powerwalker@localhost

Závěr

UPS PowerWalker VI 650 LCD lze v Ubuntu úspěšně monitorovat pomocí NUT. V tomto případě byla UPS detekována jako USB zařízení:

0665:5161 Cypress Semiconductor USB to Serial

Správný driver byl:

nutdrv_qx

Hlavním problémem nebyl samotný driver, ale oprávnění k USB zařízení. Po přidání udev pravidla pro skupinu nut začal monitoring fungovat správně.

Výsledkem je plně funkční čtení stavu UPS, napětí, zátěže, kapacity baterie a možnost nastavit automatické bezpečné vypnutí Ubuntu serveru při delším výpadku napájení.


Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *