~/CodeBlog.at

Ein halbkreativer Entwickler über alles zwischen C# und TYPO3.

USV-Server mit Synology NAS und NUT einrichten – Homelab sicher abschalten

Da ich inzwischen nicht nur mehr die DS718+ an der USV hängen habe, sondern auch das Homelab, reicht der eine USB-Ausgang nicht mehr aus. Im Netz habe ich gelesen, dass man auch einen Network-USV-Server bauen kann, auf den dann die einzelnen Geräte zugreifen können und den Status der USV, die Akku-Ladung etc. abfragen können. Ebenso bekommen sie im Akku-Betrieb eine Meldung, sobald der Akku zur Neige geht, um rechtzeitig alle Dienste zu stoppen und den Server dann ordnungsgemäß herunterzufahren.

In diesem Artikel zeige ich, wie du eine Synology DiskStation als NUT-USV-Server (Network UPS Tools) einrichtest und Ubuntu-Clients sowie Home Assistant als NUT-Clients einbindest.

Da die USV via USB mit der Synology verbunden ist, bietet es sich an, die DS als USV-Server zu verwenden. Das ist auch recht einfach und muss in den Einstellungen unter „Hardware & Energie“ im Tab „USV“ nur aktiviert werden. Sobald die USV-Unterstützung aktiviert ist, gibt es ganz unten auch den Punkt zur Aktivierung des Netzwerk-USV-Servers. Da dies allerdings nur für andere Synology-DS gedacht ist, muss man unter „Zugelassene DiskStation-Geräte“ die IP-Adressen der anderen Clients eintragen. In meinem Fall das Homelab selbst – die IP von Home Assistant habe ich zur Sicherheit auch gleich angegeben. Sowas wie alle IP-Adressen aus dem Netzwerk oder einzelne IP-Adressbereiche gibt es nicht.

ynology DSM Systemsteuerung – USV-Einstellungen mit aktiviertem Netzwerk-USV-Server

Homelab als NUT-Client einrichten

Mein HomeLab läuft aktuell auf Ubuntu, also müssen zuerst die Network UPS Tools (NUT) – das Standard-Framework zur USV-Überwachung unter Linux – installiert werden.

sudo apt update
sudo apt install nut

Anschließend müssen wir festlegen, ob es sich bei der Instanz um einen Client oder einen Server handelt. In meinem Fall ist es ein Client. Also ändern wir in der /etc/nut/nut.conf folgendes Setting:

MODE=netclient

Als nächsten Schritt müssen wir dem Client noch die zu überwachende USV angeben. Dies passiert in der Datei /etc/nut/upsmon.conf mit folgender Config:

MONITOR name-der-usv@ip-des-nut-servers 1 nut-user nut-password secondary

Im Fall von einem USV-Server auf einer aktuellen Synology DiskStation lautet die Zeile so:

MONITOR ups@192.168.x.x 1 monuser secret secondary

Der Name der USV ist also ups, der Benutzer monuser und das Passwort secret. Diese Zugangsdaten sind bei Synology fest vorgegeben und dadurch, dass man dies nicht ändern kann, bei jeder DiskStation identisch.

Anschließend muss der Dienst upsmon nur noch neu gestartet werden.

upsmon -c stop
upsmin start

Test des NUT-Clients

Zum Testen, ob der Client auch wirklich mit dem Server kommunizieren kann, können wir diesen Befehl ausführen – im Erfolgsfall bekommen wir eine ganze Liste an Daten von der USV:

upsc ups@192.168.x.x

Meine Ausgabe sieht so aus:

Init SSL without certificate database
battery.charge: 100
battery.charge.low: 20
battery.runtime: 1417
battery.type: PbAc
device.mfr: EATON
device.model: Ellipse PRO 850
device.serial: P358M01BKL
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 5
driver.parameter.port: auto
driver.parameter.synchronous: no
driver.version: DSM7-3-new-86004-251107
driver.version.data: MGE HID 1.39
driver.version.internal: 0.41
input.frequency: 50.0
input.transfer.high: 285
input.transfer.low: 165
input.voltage: 237.0
input.voltage.extended: no
outlet.1.desc: PowerShare Outlet 1
outlet.1.id: 2
outlet.1.status: on
outlet.1.switchable: no
outlet.2.desc: PowerShare Outlet 2
outlet.2.id: 3
outlet.2.status: on
outlet.2.switchable: yes
outlet.desc: Main Outlet
outlet.id: 1
outlet.switchable: no
output.frequency: 50.0
output.frequency.nominal: 50
output.voltage: 238.0
output.voltage.nominal: 230
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.delay.start: 30
ups.firmware: 01.16.0020
ups.load: 19
ups.mfr: EATON
ups.model: Ellipse PRO 850
ups.power: 147
ups.power.nominal: 850
ups.productid: ffff
ups.realpower: 57
ups.serial: P358M01BKL
ups.status: OL
ups.timer.shutdown: 0
ups.timer.start: 0
ups.vendorid: 0463

Integration in Home Assistant

Die Einbindung in Home Assistant wird hier beschrieben:
NUT-Client in Home Assistant einbinden – bjoerns-techblog.de

HomeLab als NUT-USV-Server

Da ich allerdings das NAS am Abend herunterfahre und es sich erst in den Morgenstunden wieder startet, fehlt mir in dieser Zeit der USV-Server. Daher habe ich beschlossen, den USV-Server doch am HomeLab-Server zu betreiben und dann das NAS nur als Client einzubinden.

Wie man NUT als vollständigen Server unter Ubuntu/Debian einrichtet und das Synology NAS anschließend als reinen NUT-Client betreibt, beschreibe ich, sobald ich es getestet habe.


Fazit

Die Synology DiskStation lässt sich in wenigen Schritten als NUT-USV-Server einrichten und bietet so allen Geräten im Heimnetzwerk – vom Ubuntu-Homelab bis zu Home Assistant – eine zuverlässige USV-Überwachung. Einziger Nachteil: Wer das NAS nachts abschaltet, braucht einen alternativen NUT-Server, beispielsweise direkt auf dem Homelab.


Quellen:
NUT-Server einrichten – bjoerns-techblog.de
NUT-Client unter Debian/Proxmox installieren – bjoerns-techblog.de
Home Assistant und NUT – bjoerns-techblog.de
NUT Server access from remote client – Home Assistant Community