WebTemp.org

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

Version 0.2.0 • 18. Oktober 2009 • Download WTUPS.zip • 266.95 KB


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
United States 10:58:23 up 85 days, 5:59, 0 users, load average: 9.76, 10.06, 10.10 Impressum • Datenschutzerklärung • AGB • Widerrufsbelehrung