WTUPS (kostenlos, Freeware)
Dieses (Windows-)Projekt ermöglicht die Einbindung von USV-Messdaten (Netzspannung, Belastung, Batteriespannung und -temperatur) in
WebTemp.
Systemvoraussetzungen
Momentan werden die sehr preiswerten
PowerWalker-USVs unterstützt. Der Anschluss wird automatisch erkannt. Am zuverlässigsten arbeitet die Software,
wenn die USV an einem COM-Port hängt. Die Unterstützung für den USB-Port habe ich testweise eingebaut, dieser Teil funktioniert in meiner
USV-Hardware allerdings nur sporadisch, aber immerhin besser als mit der nicht gerade ressourcenschonenden Original-(Java-)Software. Mit dieser ging das
nämlich überhaupt nicht.
Die angezeigten Spannungen und Belastungswerte kommen direkt von der USV. Die Temperatur auch, allerdings ist sie zumindest in meinem Modell
"fest verdrahtet" (also nicht zu gebrauchen). Die Angaben über den Batteriezustand werden vom Programm geschätzt.
Die einzig weitere getestete USV ist eine
APC 800RS (ausschließlich am USB-Port).
Download
Konfiguration
WTUPS führt drei Batchdateien mit den Namen "OnACFail.bat", "OnBatteryLow.bat" und "OnACRestored.bat" je nach eingetretenem Ereignis aus. Über den Inhalt der Dateien
können z.B. Programmstarts ausgelöst werden.
OnACFail.bat
Im Falle fehlender oder sonst unzulässiger (Netz-)Eingangsspannung wird diese Batchdatei ausgeführt. Die USV kann das System in diesem Zustand noch einige Minuten mit
Energie versorgen. Daher bieten sich Backupaufgaben oder zumindest ein sicheres Herunterfahren des Systems an. Dies erreicht man durch die Zeile:
shutdown -f -s -t 180
Es wird ein Countdown von drei Minuten gestartet, an dessen Ende das System herunterfährt. Dies bietet den Vorteil, dass kurze Stromausfälle überbrückt werden können,
das System aber bei längerem Ausbleiben der Netzspannung dennoch nicht einfach abrupt abgeschaltet wird. Zum Abbruch eines laufenden Countdowns bitte weiterlesen.
Hängen an der selben USV noch weitere Systeme, die über das Netzwerk erreicht werden können, so können wir diese über folgende Zeile ebenfalls in drei Minuten
herunterfahren lassen:
shutdown -f -s -t 180 -m \\HOSTNAME
Um Linux-Systeme herunterfahren zu können, benötigt man zusätzlich noch das kostenlose Programm "plink" (mit dem man über das Netzwerk Kommandos ausführen kann):
plink -ssh -pw PASSWORT BENUTZERNAME@HOSTNAME /sbin/shutdown -h +3
Natürlich lassen sich beliebig viele dieser Zeilen kombinieren und noch andere Programme starten (um z.B. einen Backupvorgang anzustoßen).
OnBatteryLow.bat
In manchen Fällen ist der Akku der USV leer, bevor die drei Minuten abgelaufen sind. Selbst in diesem Fall kann man die Systeme noch kontrolliert herunterfahren, da
stetig der Zustand des Akkus der USV abgefragt wird. Kurz vor Schluss sollten also die Systeme ohne Zeitverzögerung heruntergefahren werden. Die entsprechenden Befehle
sind (vgl. dazu den letzten Abschnitt):
shutdown -f -s -t 0
shutdown -f -s -t 0 -m \\HOSTNAME
plink -ssh -pw PASSWORT BENUTZERNAME@HOSTNAME /sbin/shutdown -h now
OnACRestored.bat
Sollte die Netzspannung zurückkehren, bevor das System heruntergefahren wurde, sollten wir den Countdown abbrechen. Dies geht hiermit (wieder basierend auf den drei
erwähnten Fällen):
shutdown -a
shutdown -a -m \\HOSTNAME
plink -ssh -pw PASSWORT BENUTZERNAME@HOSTNAME /sbin/shutdown -c
Integration in WebTemp
Falls
WebTemp gestartet ist, überträgt WTUPS die Messdaten automatisch an dieses. Die USV-Temperatur landet an Slot T1 (leider ist dies bei meiner Powerwalker-USV kein echter Messwert).
Netzspannung ist an V1, Batteriespannung V2 und die USV-Belastung in Prozent an Stelle 3 (im CPU-Diagramm):
Die Belegung kann durch Erstellen und Editieren der Datei WTUPS.ini geändert werden:
[WebTemp]
Temperature = 1
InputVoltage = 1
OutputVoltage = 2
BatteryVoltage = 3
Load = 3