Hier ein kleiner Anfänger Guide/Inspiration für einen automatischen Batterie Test einer USV, welche per NUT Plugin betrieben wird.
Das Script lässt einen lautlosen Batterie schnelltest der USV laufen und gibt das Ergebnis per Standard Unraid Nachricht aus.
Vorab sollte man einmal testen, ob test.battery.start.quick verfügbar ist. Das ganze per folgendem Befehl im Terminal:
upscmd -l UnraidUPS
UnraidUPS steht hier für den UPS Name aus dem NUT Plugin:
Sollte test.battery.start.quick in der Liste auftauschen, kann man recht einfach folgendes Script per User Script Plugin ausführen lassen:
#!/bin/bash
###NUT UPS QUICK BATTERY TEST###
###V1.1
###https://forums.unraid.net/topic/135969-anleitung-simples-usv-batterie-schnelltest-user-script-mit-nut/
################################
#vars###
u="admin" #username
p="adminpass" #password
upshost="UnraidUPS" #UPSname@IP:Port - IP and PORT are optional
########
#battery test
upscmd -u $u -p $p $upshost test.battery.start.quick
upscmd -u $u -p $p $upshost beeper.mute
sleep 2s
#wait for result
result=$(upsc $upshost ups.test.result)
while [[ $result == "In progress"* ]]
do
sleep 0.5s
result=$(upsc $upshost ups.test.result)
done
#unraid notifitcation
result_success="$(echo ${result} | grep -E '\b(passed|success|OK|successful)\b')"
result_warn="$(echo ${result} | grep -E '\b(warning|WARN)\b')"
if [ -n "${result_warn}" ]; then
/usr/local/emhttp/webGui/scripts/notify -s "UPS test passed with warnings." -d "$result" -i warning
elif [ -n "${result_success}" ]; then
/usr/local/emhttp/webGui/scripts/notify -s "UPS test passed." -d "$result" -i normal
else
/usr/local/emhttp/webGui/scripts/notify -s "UPS test failed!" -d "$result" -i alert
fi
u, p und upshost sind in dem Script die default Werte des NUT Plugins, können/sollten jedoch angepasst werden, wenn diese verändert wurden.