sonic6 Posted March 5, 2023 Share Posted March 5, 2023 (edited) 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. Edited March 6, 2023 by sonic6 3 Quote Link to comment
sonic6 Posted March 5, 2023 Author Share Posted March 5, 2023 (edited) Da ich mit Skripten etc nicht viel Erfahrung habe, bin ich für Kritik und Anmerkungen offen. Um das Script aktuell zu halten und zu erweitern, teilt mir bitte mit, wenn ihr es mit euer USV getestet habt und/oder abweichende Meldungen für Bestandene oder Fehlgeschlagene Tests bekommt. Getestet wurde das Script mit folgenden USVen: - CyberPower CP900EPFCLCD Changelog/Anpassungen 06.03.2023 - V1.1 (danke an @Anym001 und @ich777 fürs Notification IF), getestete USVen, Anpassung der Beschreibung Edited March 6, 2023 by sonic6 Quote Link to comment
Anym001 Posted March 6, 2023 Share Posted March 6, 2023 (edited) Vorschlag für die Unraid Notification: #unraid notification result=$(upsc $upshost ups.test.result) if [[ $result == "Done and passed" ]]; then /usr/local/emhttp/webGui/scripts/notify -i normal -s "USV test passed." -d "$result" else /usr/local/emhttp/webGui/scripts/notify -i alert -s "USV test failed!" -d "$result" exit 1 fi Edited March 6, 2023 by Anym001 1 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.