Auch ein Projekt, das ich schon lange umsetzen wollte: ich möchte eine USV installieren, um bei einem Stromausfall die Netzwerkverbindungen (Internet!) über Funkfeuer aufrecht zu halten. Es sollen
- das Funkfeuer-Equipment am Dach,
- mein Switch,
- der Router
- und ein Access Point
abgesichert werden.
Die Anforderungen an die Leistung sind also recht gering (jedenfalls weit unter 100W), daher dachte ich mir, dass eine günstigere USV ausreichen müsste.
Gleichzeitig habe ich nicht die Anforderung, dass ein Server oder NAS bei einem Stromausfall heruntergefahren werden muss. Es handelt sich rein um Netzwerkgeräte, die einfach abgeschaltet werden können sobald die Akkus leer sind und auch wieder zuverlässig starten sobald sie wieder Strom erhalten.
Ich habe also die APC Backup-UPS ES 700 mit 700 VA um weniger als € 90,- gekauft.
Die wesentlichen Entscheidungspunkte waren:
- namhafter Hersteller,
- ausreichend Kapazität (700 VA),
- Schuko-Steckdosen in ausreichender Anzahl,
- ausgesprochen preiswert und
- last but not least: sie kann über ein USB-Kabel überwacht werden und ist kompatibel zu gängigen Standards.
Inbetriebnahme
Die USV war rasch in Betrieb genommen. Es muss nur ein Kabel an die Batterie im Batteriefach angeschlossen werden und dann steckt man die USV an die Steckdose. Fertig!
Über zwei LEDs (grün und rot) signalisiert die USV den Zustand und mögliche Defekte.
Überwachung
Es wäre nicht meine Art, die USV einfach vor sich hinlaufen zu lassen und darauf zu hoffen, dass alles in Ordnung ist. Es müssen also eine Überwachung der Funktion sowie ein paar Statistiken her.
Die Daten kann man von der USV über USB abrufen. Server habe ich keinen in der Nähe, also habe ich mich entschieden einen Raspberry Pi der ersten Generation (der schon einige Monate ohne Auftrag herumkugelt) für diese Funktion einzusetzen.
apcupsd auf Raspberry Pi
Als Basissystem habe ich Debian Jessie in der Minimalinstallation (ohne grafischer Oberfläche) gewählt. Mittels
apt-get install apcupsd
ist der Daemon schnell installiert.
Zwei Konfigurationsdateien müssen dann noch angepasst werden:
Die hauptsächliche Konfiguration wird in der Datei /etc/apcupsd/apcupsd.conf vorgenommen. Ich habe nur folgende Zeilen angepasst:
UPSCABLE usb UPSTYPE usb DEVICE
Die Zeile „DEVICE“ bleibt bewusst ohne weitere Angabe. Das ist beim USBTYPE „usb“ so vorgesehen. Damit wird die USV automatisch erkannt.
In der Datei /etc/default/apcupsd muss ISCONFIGURED auf „yes“ gesetzt werden, damit der Dienst (beim Booten) startet.
ISCONFIGURED=yes
Nach dem Aufruf von“service apcupsd start“ startet der Daemon.
Mittels „apcaccess status“ kann auch sofort der Status der USV abgerufen werden:
pi@upsberry:~ $ apcaccess status APC : 001,035,0906 DATE : 2016-12-30 14:58:11 +0100 HOSTNAME : upsberry VERSION : 3.14.12 (29 March 2014) debian UPSNAME : upsberry CABLE : USB Cable DRIVER : USB UPS Driver UPSMODE : Stand Alone STARTTIME: 2016-12-30 10:53:17 +0100 MODEL : Back-UPS ES 700G STATUS : ONLINE LINEV : 228.0 Volts LOADPCT : 0.0 Percent BCHARGE : 100.0 Percent TIMELEFT : 38.4 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds SENSE : Medium LOTRANS : 180.0 Volts HITRANS : 266.0 Volts ALARMDEL : 30 Seconds BATTV : 13.5 Volts LASTXFER : Unacceptable line voltage changes NUMXFERS : 1 XONBATT : 2016-12-30 10:56:54 +0100 TONBATT : 0 Seconds CUMONBATT: 53 Seconds XOFFBATT : 2016-12-30 10:57:47 +0100 STATFLAG : 0x05000008 SERIALNO : 5B16xxx BATTDATE : 2016-08-05 NOMINV : 230 Volts NOMBATTV : 12.0 Volts FIRMWARE : 871.O4 .I USB FW:O4 END APC : 2016-12-30 14:58:53 +0100
Alarmierung per Email
Wie beschrieben benötige ich keine weiteren Maßnahmen bei einem Stromausfall. Es muss also kein Server oder NAS runtergefahren werden. Ich möchte aber schon ein Email erhalten, das mir eine Statusänderung mitteilt.
In meinem Fall habe ich einen lokalen Mailserver installiert, der die Emails direkt zustellt (ohne Smarthost bzw. nicht über einen anderen SMTP-Server).
apt-get install sendmail
Um den Emailversand zu aktivieren, gehören zwei Zeilen in der /etc/apcupsd/apccontrol angepasst:
export SYSADMIN=stefan@schultheis.at export APCUPSD_MAIL="/usr/sbin/sendmail"
Nach dem Neustart des apcupsd habe ich die USV von der Stromversorgung getrennt und kurz darauf ein Email mit der Warnmeldung „UPS Power Failure!!!“ erhalten.
Webinterface
Für die Anzeige von Statistiken am Webinterface gibt es vier CGIs:
- multimon.cgi: hier wird übersichtlich der Status angezeigt. Das ist vor allem sinnvoll, wenn mehrere USVs von einem Daemon überwacht werden sollen:
- upsstats.cgi: detaillierte Statistik zu einer USV (siehe Screenshot oben)
- upsfstats.cgi: textbasierter Output, wie beim CLI Tool „apcaccess status“ (siehe oben)
- upsimage.cgi: hat bei mir nicht funktioniert
Installiert ist das Ganze recht einfach:
apt-get install apcupsd-cgi apache2 a2enmod cgi
Hiermit wird ein Apache Webserver installiert (falls nicht schon vorhanden) und die CGIs im Verzeichnis /usr/lib/cgi-bin/ hinterlegt. Über das a2enmod-Kommando wird CGI am Webserver aktiviert.
Ab sofort kann man mit dem Webbrowser die Statistiken zur USV abrufen. Da der Webserver nur vom internen LAN (nicht im Internet) erreichbar ist und auch auf dem Server keine weiteren Dienste laufen, habe ich mir die index.html im /var/www/html-Verzeichnis mit folgenden Einträgen überschrieben, um die CGIs gemütlich aufrufen zu können:
<title>APC USV Vorzimmer</title> <body> <a href="/cgi-bin/apcupsd/multimon.cgi"> apcupsd MultiMon </a><br> <a href="/cgi-bin/apcupsd/upsstats.cgi"> apcupsd Stats </a><br> <a href="/cgi-bin/apcupsd/upsfstats.cgi"> apcupsd fStats </a><br> <a href="/cgi-bin/apcupsd/upsimage.cgi"> (apcupsd Image) </a> </body>