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>
Hui,
klasse Beschreibung, werde ich demnächst auch einmal versuchen. Ziel ist bei mir das „ordnungsgemäße“ herunterfahren von NAS und noch ein paar weiteren Geräten 🙂
Cheers,
M.
Hallo,
danke für die Erklärung.
Als Ergänzung: upsimage.cgi wird nur intern genutzt um die Grafiken in upsstats.cgi zu erstellen.
Hallo,
Sehr detaillierter Bericht. Diese Funktion war schon längst überfällig bei mir 🙂
Vielen Dank
Hi,
ich habe dank Deiner Anleitung meine USV ebenfalls erfolgreich in Betrieb genommen. Super Blog! Vielen Dank dafür !!! ;-]
Blöderweise schaltet die USV (hier: Back-UPS BX700U) aber mein Raspi und meine FritzBox bei einem Stromausfall nach exakt 15Minuten ab. Die Begründung findet man im Handbuch: „Wenn sich die USV im Batteriebetrieb befindet und erkennt, dass die angeschlossenen Geräte über einen Zeitraum von mehr als 15 Minuten weniger als 15 W aufnehmen, schaltet sie sich zum Energiesparen aus“.
Hast du hierfür eventuell auch noch einen Tipp? ;-]
Hallo,
danke für die Rückmeldung!
Ohje, da habe ich doch erheblich mehr Verbraucher dranhängen. Leider, das weiß ich auch nicht. Du hast sicher schon beim Hersteller nachgeschaut, ev. frag‘ in USV-einschlägigen Foren nach. Konfigurieren/programmieren müsstest du’s ja über den Raspberry können, nachdem die USV-Anwendung funktioniert.
LgS
Bei vielen APC Modellen kann man das durch eine Tastenkombination oder via Software ändern.
Was Du suchst, nennt sich: Disable the Power-Saving function
bzw.
Power Saving Threshold
Bye
HST
Danke für den Input und die mögliche Lösung!
LgS
Hallo habt Ihr Erfahung/Lösung zum Schalten eines outlets ?
Als Beispiel APC Back UPS 900 die 2 Ausgangsgruppen hat.
Kann man via Rasberry auch gezielt einen aus und wieder einschalten ?
(sozusagen restart eines angeschlossenen Geräts).
Danke
Hallo,
ich glaube nicht, dass man bei dieser USV die Ausgänge (separat) schalten kann. Ich kenne auch keine Funktion, mit der das wählbar wäre.
Zum Schalten von Verbrauchern nutze ich zB. Sonoff, siehe hier: https://stefan.schultheis.at/2018/iot-hausautomatisierung-sonoff/
LgS
Vielen Dank, ist zwar nichts kompliziertes aber doch schön wenn man sich nicht alles selbst zusammen suchen muss. Hier noch eine kleine Ergänzung zu deiner index.html.
Ich habe das so gemacht dann sieht es etwas schöner aus und man brauch eigentlich nur die cgi auf zu rufen dasind dann ja die links zu den anderen Seiten drin.
„iframe“ „width=“900″ height=“600″ src=“http://ups.jacques-hien.com/cgi-bin/apcupsd/multimon.cgi“ frameborder=“0″ allowfullscreen“ „/iframe“
Tags sind entfernt word fence mag ein kein HTML in Kommentaren 🙂
Hallo,
danke für deine Ergänzung und die Codezeilen!
„…“ durch Tags <...> ersetzen.
LgS
Super, vielen Dank für die Anleitung, klappte alles bestens!
VG
Christian Peters
Hallo,
ich überwache mit apcupsd mehrere USVs welche über den Report auch sauber angezeigt werden. Diese sind einzeln konfigueriert als Config und werden beim Start auch eingelesen. Im multimon wird jedoch immer nur die erste USV angezeigt und leider nicht alle drei.
Gibt es spontan eine Idee woran das liegen könnte?