Eine Eaton 3S550IEC USV an Turris Omnia anschliessen

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.