Zum Inhalt springen

~/CodeBlog.at

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

·5 Min. Lesezeit

Veröffentlicht
Überarbeitet

Was ist neu: Neustart-Befehl korrigiert, Hinweis auf slave statt secondary für Ubuntu 22.04, Abschnitt zum Verhalten bei Stromausfall und Sicherheitshinweis ergänzt.

Kurz & knapp

Eine Synology DiskStation mit per USB angeschlossener USV wird unter „Hardware & Energie → USV“ zum Netzwerk-USV-Server (NUT). Ubuntu-Clients installieren nut, setzen in der nut.conf MODE=netclient und in der upsmon.conf MONITOR ups@<IP> 1 monuser secret secondary – Name, Benutzer und Passwort sind bei Synology fest vorgegeben. Mit upsc ups@<IP> lässt sich die Verbindung prüfen.

Getestet mit: Synology DS718+ mit DSM 7, Eaton Ellipse PRO 850, Ubuntu (NUT-Client)

Inhalt
  1. Synology als USV-Server
  2. Homelab als NUT-Client einrichten
  3. Test des NUT-Clients
  4. Was passiert bei einem Stromausfall?
  5. Integration in Home Assistant
  6. Ausblick: Homelab als NUT-Server
  7. Fazit

Da ich inzwischen nicht mehr nur 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 Netzwerk-USV-Server bauen kann, auf den die einzelnen Geräte zugreifen und den Status der USV, die Akku-Ladung usw. abfragen können. Im Akku-Betrieb bekommen sie außerdem rechtzeitig eine Meldung, wenn der Akku zur Neige geht – um alle Dienste zu stoppen und den Server 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.

Befehle für dich anpassen

Deine Eingaben werden in allen Befehlen dieser Seite eingesetzt und nur in deinem Browser gespeichert.

Synology als USV-Server

Da die USV per USB mit der Synology verbunden ist, bietet es sich an, die DiskStation als USV-Server zu verwenden. Das ist recht einfach:

  1. In der Systemsteuerung unter „Hardware & Energie“ den Tab „USV“ öffnen und die USV-Unterstützung aktivieren.
  2. Ganz unten erscheint dann der Punkt „Netzwerk-USV-Server aktivieren“.
  3. Unter „Zugelassene DiskStation-Geräte“ die IP-Adressen der Clients eintragen – obwohl die Funktion eigentlich für andere DiskStations gedacht ist. In meinem Fall das Homelab selbst, und zur Sicherheit gleich auch Home Assistant.

Etwas wie „alle IP-Adressen aus dem Netzwerk“ oder IP-Bereiche gibt es dort nicht – jedes Gerät muss einzeln eingetragen werden.

Synology 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) installiert werden – das Standard-Framework zur USV-Überwachung unter Linux:

sudo apt update
sudo apt install nut

Anschließend legen wir fest, ob es sich um einen Client oder einen Server handelt. In meinem Fall ist es ein Client, also in der /etc/nut/nut.conf:

MODE=netclient

Als Nächstes geben wir dem Client die zu überwachende USV an – in der Datei /etc/nut/upsmon.conf. Allgemein sieht die Zeile so aus:

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

Bei einem USV-Server auf einer aktuellen Synology DiskStation lautet sie:

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 bei jeder DiskStation identisch.

Danach den NUT-Client neu starten:

sudo systemctl restart nut-client

Test des NUT-Clients

Ob der Client mit dem Server kommunizieren kann, zeigt dieser Befehl – im Erfolgsfall kommt eine ganze Liste an Daten von der USV:

upsc ups@192.168.x.x

Meine Ausgabe sieht so aus (Seriennummer gekürzt):

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: P358XXXXXXX
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: P358XXXXXXX
ups.status: OL
ups.timer.shutdown: 0
ups.timer.start: 0
ups.vendorid: 0463

Interessant sind vor allem ups.status (OL = am Netz, OB = auf Akku, LB = Akku schwach), battery.charge und battery.runtime (verbleibende Laufzeit in Sekunden).

Was passiert bei einem Stromausfall?

Fällt der Strom aus, wechselt die USV auf Akku und meldet das an den NUT-Server. Die Clients sehen den Status OB. Sobald zusätzlich LB (Low Battery) gemeldet wird, fährt upsmon den Client über den in der upsmon.conf hinterlegten SHUTDOWNCMD herunter. Damit das rechtzeitig passiert, muss die Verbindung zum NUT-Server stehen – deshalb ist der Test mit upsc so wichtig.

Integration in Home Assistant

Home Assistant bringt eine eigene NUT-Integration (öffnet in neuem Tab) mit. Wie man sie mit der Synology verbindet, beschreibt Björn sehr anschaulich: Home Assistant und NUT – bjoerns-techblog.de (öffnet in neuem Tab). Als Zugangsdaten verwendet man dieselben Werte wie oben: ups, monuser, secret.

Ausblick: Homelab als NUT-Server

Da ich das NAS am Abend herunterfahre und es erst in den Morgenstunden wieder startet, fehlt mir in dieser Zeit der USV-Server. Daher habe ich beschlossen, den USV-Server künftig auf dem Homelab-Server zu betreiben und das NAS nur noch als Client einzubinden.

Wie man NUT als vollständigen Server unter Ubuntu einrichtet und das Synology-NAS anschließend als reinen NUT-Client betreibt, beschreibe ich, sobald ich es umgesetzt und 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.

Häufige Fragen

Welche Zugangsdaten verwendet der Synology-USV-Server?

USV-Name ups, Benutzer monuser, Passwort secret. Die Werte sind bei Synology fest vorgegeben und lassen sich nicht ändern.

secondary oder slave in der upsmon.conf?

Ab NUT 2.8.0 heißt es secondary (z. B. Ubuntu 24.04 mit NUT 2.8.1). Ältere Versionen wie NUT 2.7.4 auf Ubuntu 22.04 kennen nur slave.

Wie teste ich, ob der NUT-Client die USV sieht?

Mit upsc ups@<IP-der-DiskStation>. Kommt eine Liste mit Werten wie battery.charge und ups.status, funktioniert die Verbindung.

Kann ich IP-Bereiche für den Synology-USV-Server freigeben?

Nein, unter „Zugelassene DiskStation-Geräte“ lassen sich nur einzelne IP-Adressen eintragen.

Quellen & weiterführende Links

  1. upsmon.conf – Manual (öffnet in neuem Tab) – Network UPS Tools
  2. NUT – Integration (öffnet in neuem Tab) – Home Assistant
  3. NUT-Server einrichten – eine USV muss her (öffnet in neuem Tab) – bjoerns-techblog.de
  4. NUT-Client installieren unter Debian/Proxmox (öffnet in neuem Tab) – bjoerns-techblog.de
  5. Home Assistant und NUT (öffnet in neuem Tab) – bjoerns-techblog.de
  6. NUT Server access from remote client (öffnet in neuem Tab) – Home Assistant Community
  7. Synology NUT: fest vorgegebene Zugangsdaten (öffnet in neuem Tab) – Netgate Forum

Geschrieben von

Christoph Schwob (öffnet in neuem Tab)

Ich bin Christoph Schwob, halbkreativer Entwickler aus Österreich und arbeite seit über 10 Jahren an und mit TYPO3. Hier sammle ich Lösungen, Code-Snippets und Notizen rund um TYPO3, macOS, Server, Homelab und alles andere.

Suche

Tippe einen Suchbegriff ein.