Vor einiger Zeit habe ich mir für unsere Wohnung hier in Bern zwei USVs angeschafft.
Als IT-Supporter der alten Schule kommt mir beim Begriff USV spontan APC in den Sinn. Doch diese Teile sind teuer, weshalb ich mich im letzten Jahr je für eine Eaton 3S550IEC (550VA) sowie eine Eaton 3S700IEC (700VA) entschieden habe.
Im Büro hängt die USV an meiner Synology DS413, welche es mir erlaubt, die Vitaldaten mit Cacti aufzuzeichnen sowie das NAS herunterzufahren, wenn der Strom für längere Zeit ausfällt.
Im Wohnzimmer hatte ich ursprünglich keinen Server stehen, sondern nur einen Turris Omnia. Wie sollte ich also die Daten dieser USV aufzeichnen? Alsbald stellte sich heraus, dass das überhaupt keine Hexerei ist:
Man schliesst die USV per USB-Kabel (B auf A) an einen der USB-Port des Turris Omnia an, installiert über das LuCI-Interface die Pakete nut (Network UPS Tools) sowie nut-driver-usbhid-ups (beide in der Version 2.7.4-2) auf dem Turris Omnia.
Installiert man nut-driver-usbhid-ups nicht, sieht man in den Logs (ich glaube unter /tmp/log/messages, bin mir aber nicht mehr sicher) folgende Fehlermeldung:
2017-10-22T11:00:47+02:00 info upsd[30497]: listening on 0.0.0.0 port 3493 2017-10-22T11:00:47+02:00 warning upsd[30497]: /var/run is world readable 2017-10-22T11:00:47+02:00 err upsd[30497]: Can't connect to UPS [ups] (usbhid-ups-ups): No such file or directory 2017-10-22T11:00:47+02:00 info upsd[30498]: Startup successful
Sobald der Treiber installiert ist, lesen sich die Logs beruhigender:
2017-10-22T11:05:17+02:00 info usbhid-ups[558]: Startup successful 2017-10-22T11:05:17+02:00 info upsd[559]: listening on 0.0.0.0 port 3493 2017-10-22T11:05:17+02:00 warning upsd[559]: /var/run is world readable 2017-10-22T11:05:17+02:00 info upsd[559]: Connected to UPS [ups]: usbhid-ups-ups 2017-10-22T11:05:17+02:00 info upsd[560]: Startup successful
Der wichtigste Part kommt jetzt aber: Nun gilt es, von einem Linux-System die folgenden Konfigurationsdateien als Basis zu nehmen, zu kopieren und für den Turris Omnia zu adaptieren:
/etc/nut/hosts.conf /etc/nut/nut.conf /etc/nut/ups.conf /etc/nut/upsd.conf /etc/nut/upsd.users /etc/nut/upsmon.conf /etc/nut/upsset.conf
Angepasst habe ich schlussendlich nur folgende Dateien:
/etc/nut/upsd.users
[monuser] password = s1kr1t upsmon master
Mit diesem Benutzer und Passwort kann ich über das Netzwerk mit nut kommunizieren.
/etc/nut/upsd.conf
LISTEN 0.0.0.0
Dank dieser Konfigurationsdatei akzeptiert nut Anfragen von beliebigen Hosts im Netzwerk.
/etc/nut/ups.conf
pollinterval = 5 [ups] driver = usbhid-ups port = auto
Hier wähle ich den richtigen Treiber für die Kommunikation zwischen Turris Omnia und USV aus sowie lege fest, wie oft der Status der USV abgefragt wird.
/etc/nut/nut.conf
MODE=netserver
Sobald die Dateien installiert sind, startet man nut unter LuCI > System > Startup mit „Restart“ neu.
Der erste Ernstfall
Lustigerweise produzierte ich erst vorgestern Abend den ersten mir bewussten Ernstfall, als ich das Netzteil eines FLEXSON 3 INPUT HDMI SWITCH & AUDIO CONVERTER FOR SONOS PLAYBAR / PLAYBASE in die Steckerleiste einsteckte, den runden, geräteseitigen Ausgang aber noch nicht im Flexson-Gerät selber stecken hatte, sondern irgendwo auf unserem Fernsehmöbel herumliegen hatte – wo es wahrscheinlich mit irgendeinem einem Leiter Kontakt herstellte und so nicht nur das Netzteil grillte (mhmmm, dieser Geruch), sondern auch die Sicherung auslöste und das ganze Wohnzimmer ohne Strom war.