NEWS
[HowTo] USV: NUT Server auf SBC installieren
-
Hast du den korrekten Treiber installiert?
@klassisch sagte in [HowTo] USV: NUT Server auf SBC installieren:sudo nano /etc/nut/ups.conf
EinfĂŒgen:
[ups]
driver = "usbhid-ups"
port = "auto"
desc = "CyberPower"
pollinterval = 30@Homoran ja habe ich, genau wie in der Anleitung.
-
@Nashra auch rebooted?
Ich habe da dunkel was im Hintergrund, dass es bei mir auch nicht sofort lief, welcher Teil das war weiĂ ich nicht mehr
-
Hm, ich setz mal alles neu auf und nehme statt LXC mal VM, vielleicht klappt es dann.
Hatte damals mit MotionEye auch so ein Problem und als ich es in der VM installiert
hatte war Ruhe. Geht ja flott bei Proxmox :-) -
Hm, ich setz mal alles neu auf und nehme statt LXC mal VM, vielleicht klappt es dann.
Hatte damals mit MotionEye auch so ein Problem und als ich es in der VM installiert
hatte war Ruhe. Geht ja flott bei Proxmox :-)@Nashra sagte in [HowTo] USV: NUT Server auf SBC installieren:
statt LXC mal VM
das kann natĂŒrlich sein
-
Hm, ich setz mal alles neu auf und nehme statt LXC mal VM, vielleicht klappt es dann.
Hatte damals mit MotionEye auch so ein Problem und als ich es in der VM installiert
hatte war Ruhe. Geht ja flott bei Proxmox :-) -
@Nashra sagte in [HowTo] USV: NUT Server auf SBC installieren:
statt LXC mal VM
das kann natĂŒrlich sein
@Homoran sagte in [HowTo] USV: NUT Server auf SBC installieren:
@Nashra sagte in [HowTo] USV: NUT Server auf SBC installieren:
statt LXC mal VM
das kann natĂŒrlich sein
Mist, in der VM kommt die selbe Meldung
-
@Nashra Mit Durchreichen der USV auf einen Container hat bei mir auch nicht funktioniert.
Aber warum bindest du die USV nicht direkt in Proxmox ein?
Funktioniert einwandfrei und du kannst direkt Proxmox runterfahren wenn die Laufzeit erreicht ist.@Chaot sagte in [HowTo] USV: NUT Server auf SBC installieren:
@Nashra Mit Durchreichen der USV auf einen Container hat bei mir auch nicht funktioniert.
Aber warum bindest du die USV nicht direkt in Proxmox ein?
Funktioniert einwandfrei und du kannst direkt Proxmox runterfahren wenn die Laufzeit erreicht ist.Das wÀre auch eine gute Idee, aber ich bekomme es ja noch nicht mal in der VM ans laufen :-(
-
Was macht NUT?
Mit NUT (Network UPS Tools) kann man eine unterbrechungsfreie Stromversorgung (USV, UPS) mit Computern verbinden und Daten von den UPS bekommen.
FĂŒr ioBroker gibt es den nut Adapter von @Apollon77, Github und ioBrokerForum . Dieser Adapter stellt einen NUT-Cient bereit und legt eine Datenstruktur im Objektbereich an.
Ich nutze den Adapter hauptsÀchlich zum mitloggen der Daten wie verbleibende Akuulaufzeit und zur Detektion von NetzspannungsausfÀllen.Geeignete UPS (USV)
Die meisten UPS unterstĂŒtzen diesen Datenaustausch. Entweder per serieller Schnittstelle (nur noch selten anzutreffen), meist per USB oder die edleren direkt ĂŒber Ethernet.
Luxus: UPS mit eingebauter Netzwerkkarte
Die Luxuslösung sieht dann so aus:

Man kann dann z.B. den NAS einige Minuten nach einem Spannungsausfall herunterfahren und die anderen GerÀte wie ioBroker, Router, Switches, Homematic weiter betreiben.
Im ioBroker nut-Adapter trÀgt man die IP-Adresse der Netzwerkkarte der UPS, deren Port (i.d.R 3493), den Namen der UPS sowie Benutzernamen und Passwort, die auf der Netzwerkkarte der UPS festgelegt sind.
Ein konkretes Beispiel kann ich hier leider nicht geben, da ich leider eine andere Lösung habe.Einfache Lösung mit Haken: NAS als NUT-Server
Wer ĂŒber ein geeignetes NAS-GerĂ€t verfĂŒgt - in meinem Beispiel Synology - kann das USB-Kabel der UPS direkt dort einstecken und den eingebauten NAS-Server nutzen.

In diesem Fall detektiert die Synology die angeschlossene UPS. Im Menue Hardware & Energie, Tab USV kann man den NUT Server aktivieren und die IP-Adressen der Clients - also auch des ioBroker-Rechners - einstellen.
Im ioBroker Adapter gibt man die IP Adresse der Synology an, sowie wieder Port 3493. Bei Synology muĂ der Name der UPS sowie dessen Benutzername ups lauten und das password secret .
Das funktioniert recht problemlos und stabil, hat aber einen Haken. Wenn die Synology bei einem Stromausfall heruntergefahren wird, stellt auch deren NUT Server den Dienst ein und der ioBroker wird nicht mehr mit den Daten der UPS versorgt. Also gerade dann, wenn es eigentlich am interessantesten ist.
Um das zu vermeiden, kann man den NUT-Server auf einem (eigenen) Kleinrechner betreiben. Alle anderen GerÀte werden dann als Cient betrieben.NUT-Server auf einem Kleinrechner (SBC)
In meinem Fall ist der SBC ein Orange Pi Plus 2e, der fĂŒr diese Aufgabe zwar viel zu groĂ ist, aber durch Migration von ioBoker auf einen Windows Rechner frei wurde.

Das Aufsetzen des NUT-Server erfolgt auf den Spuren von Haus-Automatisierung und Wiki Ubuntuusers
Zuerst System aktualisieren bzw. neu aufsetzen mit ”SD Karteapt update apt upgradeEdit: Den NUT-Rechner mit der USV per USB verbinden. Darauf hat @Homoran hingewiesen.
Nut installation:sudo apt install nut usbutilsBei Àlteren Systemen sudo apt-get install nut usbutils
sudo nano /etc/nut/ups.confEinfĂŒgen:
[ups] driver = "usbhid-ups" port = "auto" desc = "CyberPower" pollinterval = 30Bei Verwendung einer Synology muĂ [ups] verwendet werden.
Sudo rebootsudo upsdrvctl start sudo cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/ sudo rebootsudo upsdrvctl start sudo nano /etc/nut/nut.confEintragen:
MODE=netserverDanach den Dienst starten:
sudo upsdWenn alles funktioniert hat, kann man jetzt Daten ausgeben:
sudo upsc ups@localhostHier muss eine sinnvolle Liste gelistet werden: Beispiel:
root@opi2e_reserve:~# sudo upsc ups@localhost Init SSL without certificate database battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 20 battery.mfr.date: CPS battery.runtime: 6690 battery.runtime.low: 300 battery.type: PbAcid battery.voltage: 24.0 battery.voltage.nominal: 24 device.mfr: CPS device.model: CP1500EPFCLCD device.serial: CRABCD12345678 device.type: ups driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 30 driver.parameter.port: auto driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.data: CyberPower HID 0.4 driver.version.internal: 0.41 input.transfer.high: 260 input.transfer.low: 170 input.voltage: 235.0 input.voltage.nominal: 230 output.voltage: 267.0 ups.beeper.status: enabled ups.delay.shutdown: 20 ups.delay.start: 30 ups.load: 5 ups.mfr: CPS ups.model: CP1500EPFCLCD ups.productid: 0501 ups.realpower.nominal: 900 ups.serial: CRABCD12345678 ups.status: OL ups.test.result: No test initiated ups.timer.shutdown: -60 ups.timer.start: -60 ups.vendorid: 0764 root@opi2e_reserve:~#Weiter gehts
sudo nano /etc/nut/upsd.confEintragen:
LISTEN 127.0.0.1 3493 LISTEN 192.168.178.123 3493Also IP-Adresse der eigenen (Nut-Server) Eth Schnittstelle
Starten und stoppen, damit das conf-file wieder eingelesen wirdsudo upsd -c stop sudo upsdJetzt werden Benutzerkonten angelegt, unter denen man von anderen GerÀten auf den NUT-Server zugreifen kann. In meinem Beispiel:
Drei user werden erstellt
- upsmaster fĂŒr den Administrator, der damit aber nichts macht
- monuser fĂŒr die Synology
- upsmon_remote fĂŒr den ioBrokerDazu:
sudo nano /etc/nut/upsd.usersEintragen:
[upsmaster] password = irgendwasabergutmerken actions = SET instcmds = ALL upsmon master [monuser] password = secret upsmon slave [upsmon_remote] password = secret upsmon slaveWieder ĂŒbernehmen
sudo upsd -c stop sudo upsdJetzt mĂŒssen wir das Ganze auch noch reboot-fest machen.
Bei neueren Linux-Systemen geschieht das ĂŒber systemd. @Thomas-Braun und @David-G haben diese Anpassung dankenswerterweise ausgearbeitet und getestet (siehe dort mit Nutzung dieser Fundstelle):
Zuerst mitcat /etc/systemd/system/multi-user.target.wants/nut-server.serviceprĂŒfen, ob diese Datei vorhanden ist und nut bereits die Vorkehrungen fĂŒr systemd getroffen hat.
Falls diese Datei existiert, Mit nano öffnen:sudo nano /etc/systemd/system/multi-user.target.wants/nut-server.service(Edit: Falls diese Datei nicht existiert kopiert man sich die Vorlage
/usr/lib/systemd/systemdorthin. Danke @thomas-braun )
Diese Datei sieht dann erst mal so aus:
[Unit] Description=Network UPS Tools - power devices information server After=local-fs.target network.target nut-driver.service # We don't Require drivers to be successfully started! This would be # a change of behavior compared to init SysV, and could prevent from # accessing successfully started, at least to audit a system. Wants=nut-driver.service Before=nut-monitor.service [Service] ExecStart=/sbin/upsd Type=forking [Install] WantedBy=multi-user.targetDamit genĂŒgend Zeit zur Installation der USB Treiber bleibt, nach der Zeile [Service] noch die Verzögerung
ExecStartPre=/bin/sleep 30eintragen und die geÀnderte Datei abspeichern.
Die Datei sollte nun so aussehen[Unit] Description=Network UPS Tools - power devices information server After=local-fs.target network.target nut-driver.service # We don't Require drivers to be successfully started! This would be # a change of behavior compared to init SysV, and could prevent from # accessing successfully started, at least to audit a system. Wants=nut-driver.service Before=nut-monitor.service [Service] ExecStartPre=/bin/sleep 30 ExecStart=/sbin/upsd Type=forking [Install] WantedBy=multi-user.target{
Hier die Methode fĂŒr alte Systeme, bei denen die Datei /etc/systemd/system/multi-user.target.wants/nut-server.service nicht existiert. Darf nicht verwendet werden, wenn diese Datei vorhanden ist und die vorherigen Schritte schon ausgefĂŒhrt wurdensudo nano /etc/rc.localHier VOR exit=0 einfĂŒgen
#additions for nut server upsdrvctl start upsd #end additions for nut server} Ende der Einstellungen fĂŒr Altsysteme. Bei neueren Sytsemen nicht mehr verwenden]
Jetzt wird noch der ioBroker Adapter eingestellt. Beispiel
IP des NUT Servers: 192.168.178.123 #Beispiel Port des NUT Servers: 3493 NUT Name der UPS: ups Aktualisierungsintervall 300s Username der UPS: upsmon_remote Passwort der UPS: secretBei der Synology wird eingestellt (Hardware & Energie, Tab USV):
Anhaken: USV-UnterstĂŒtzung aktivieren
Netzwerk-USV-Typ: Synology USV Server
Netzwerk-USV-Server-IP: 192.168.178.123 #BeispielDie Zeit einstellen, nach der die Synology heruntergefahren werden soll + anhaken.
NUT-Server und ioBroker auf einem Rechner
Diese Konfiguration hatte ich nie in Betrieb. Sie mĂŒĂte aber mit den o.g. Installationsschritten möglich sein. Als IP-Adresse des NUT Servers kann innerhalb des Host Rechners dann localhost oder 127.0.0.1 verwendet werden.

Edit:
Welcher Treiber passt zu meiner USV?
Auswahltabelle Treiber auf der Seite des NUT-ProjektsHallo,
bei mir klappt der Autostart am Pi irgendwie nicht.
Anbei meine rc.local.
Sieht da jemand einen Fehler?
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runleve$ # Make sure that the script will "exit 0" on success or any ot$ # value on error. # # In order to enable or disable this script just change the ex$ # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi #additions for nut server upsdrvctl start upsd #end additions for nut server exit 0 -
Hallo @klassisch
kannst du mir bitte helfen, möglicherweise?seit ein paar Tagen lÀuft mein nut-Adapter nicht mehr. Habe es heute erst gemerkt.
Den Server hatte ich auch auf einem cubietruck getestet und dort installiert.
jetzt habe ich einiges an dem Cubie rumgespielt (mal wieder einen Akku drangehĂ€ngt und die ganzen Daten in den rpi2 Adapter versucht einzupflegen, seit gestern dann noch einen dump1090 ADB-2 receiver)Bei der ĂberprĂŒfung der ganzen Funktionen sehe ich ein ECONNREFUSED und habe mal auf dem Cubie nachgesehen und:
pi@cubietruck:~$ sudo upsd Network UPS Tools upsd 2.7.4 fopen /var/run/nut/upsd.pid: No such file or directory listening on 192.168.138.73 port 3493 listening on 127.0.0.1 port 3493 Can't connect to UPS [ups] (usbhid-ups-ups): No such file or directorysagt dir diese Meldung etwas?
-
Hallo @klassisch
kannst du mir bitte helfen, möglicherweise?seit ein paar Tagen lÀuft mein nut-Adapter nicht mehr. Habe es heute erst gemerkt.
Den Server hatte ich auch auf einem cubietruck getestet und dort installiert.
jetzt habe ich einiges an dem Cubie rumgespielt (mal wieder einen Akku drangehĂ€ngt und die ganzen Daten in den rpi2 Adapter versucht einzupflegen, seit gestern dann noch einen dump1090 ADB-2 receiver)Bei der ĂberprĂŒfung der ganzen Funktionen sehe ich ein ECONNREFUSED und habe mal auf dem Cubie nachgesehen und:
pi@cubietruck:~$ sudo upsd Network UPS Tools upsd 2.7.4 fopen /var/run/nut/upsd.pid: No such file or directory listening on 192.168.138.73 port 3493 listening on 127.0.0.1 port 3493 Can't connect to UPS [ups] (usbhid-ups-ups): No such file or directorysagt dir diese Meldung etwas?
Ich weiĂ nicht, ob es im Ansatz was mit zu tun hat, schreibe es aber einfach mal. Erst recht weil ich im Gegensatz zu dir ein Linux Dau bin đ.
Hatte das
No such file or directorynach den ersten beiden installationen vom Nut-Server als ich ich die Verzeichnisse wechseln wollte wo der Treiber und die User angelegt werden.
Erst nach einer dritten Wiederholung der Installation wurden die Dateien gefunden. -
Hallo @klassisch
kannst du mir bitte helfen, möglicherweise?seit ein paar Tagen lÀuft mein nut-Adapter nicht mehr. Habe es heute erst gemerkt.
Den Server hatte ich auch auf einem cubietruck getestet und dort installiert.
jetzt habe ich einiges an dem Cubie rumgespielt (mal wieder einen Akku drangehĂ€ngt und die ganzen Daten in den rpi2 Adapter versucht einzupflegen, seit gestern dann noch einen dump1090 ADB-2 receiver)Bei der ĂberprĂŒfung der ganzen Funktionen sehe ich ein ECONNREFUSED und habe mal auf dem Cubie nachgesehen und:
pi@cubietruck:~$ sudo upsd Network UPS Tools upsd 2.7.4 fopen /var/run/nut/upsd.pid: No such file or directory listening on 192.168.138.73 port 3493 listening on 127.0.0.1 port 3493 Can't connect to UPS [ups] (usbhid-ups-ups): No such file or directorysagt dir diese Meldung etwas?
@Homoran sagte in [HowTo] USV: NUT Server auf SBC installieren:
sagt dir diese Meldung etwas?
leider nicht. Habe meine Notizen durchgeschaut und da habe ich nichts dazu gefunden. Ich wĂŒrde bei Linux auf ein Rechtethema oder USB-Durchreichung tippen.
Habe aber keine wirkliche Ahnung von Linux. Und da ich ioBroker unter Windows betreibe wird das auch immer weniger.
Hab noch einen OPi mit piVCCU, bei dem ich die Kernel-Updaterei deaktiviert habe und nur noch piVCCU update. Solange noch Stretch unterstĂŒtzt wird.
Der NUT OPi hatte ja nach dem letzten Aufsetzen von armbian Stretch nur noch 1GB statt der 2GB zur VerfĂŒgung. Das hat mein Vertrauen in Linux auch nicht gerade gestĂ€rkt. Ich mache mit diesem OPi nichts, auĂer NUT. Völlige Verschwendung, aber das Ding hatUp time: 481 daysAlso alles stabil und deshalb mache ich nichts dran. Sorry. LĂ€uft also parktisch schon seit dem Aufsetzen ohne Unterbrechung. Der erste Post in diesem Thread ist 476 Tage her, also wohl knapp eine Woche nach dem Aufsetzen.
Der OPi hĂ€ngt ja selbst auch an der gepufferten Stromversorgung und hat deshalb nichts vom kĂŒrzlichen Austausch des StromzĂ€hlers mitbekommen.
Da ich jetzt sowohl RFLink als auch smartmeter ĂŒber TCP statt USB betreibe, könnte ich meinen Windows Rechner translozieren und neben die USV stellen, dort einen NUT Server installieren und auch noch den NUT-OPi ausser Betrieb setzen. Windows handelt USB ja problemlos und einen NUT-Server unter Windows scheint es auch zu geben. Die Verlockung ist groĂ. Aber dann hĂ€tte ich wieder die rĂ€umliche AbhĂ€ngigkeit, die ich nicht will. Also werden die paar Watt spendiert und der OPI NUTtet weiter. -
@Homoran sagte in [HowTo] USV: NUT Server auf SBC installieren:
sagt dir diese Meldung etwas?
leider nicht. Habe meine Notizen durchgeschaut und da habe ich nichts dazu gefunden. Ich wĂŒrde bei Linux auf ein Rechtethema oder USB-Durchreichung tippen.
Habe aber keine wirkliche Ahnung von Linux. Und da ich ioBroker unter Windows betreibe wird das auch immer weniger.
Hab noch einen OPi mit piVCCU, bei dem ich die Kernel-Updaterei deaktiviert habe und nur noch piVCCU update. Solange noch Stretch unterstĂŒtzt wird.
Der NUT OPi hatte ja nach dem letzten Aufsetzen von armbian Stretch nur noch 1GB statt der 2GB zur VerfĂŒgung. Das hat mein Vertrauen in Linux auch nicht gerade gestĂ€rkt. Ich mache mit diesem OPi nichts, auĂer NUT. Völlige Verschwendung, aber das Ding hatUp time: 481 daysAlso alles stabil und deshalb mache ich nichts dran. Sorry. LĂ€uft also parktisch schon seit dem Aufsetzen ohne Unterbrechung. Der erste Post in diesem Thread ist 476 Tage her, also wohl knapp eine Woche nach dem Aufsetzen.
Der OPi hĂ€ngt ja selbst auch an der gepufferten Stromversorgung und hat deshalb nichts vom kĂŒrzlichen Austausch des StromzĂ€hlers mitbekommen.
Da ich jetzt sowohl RFLink als auch smartmeter ĂŒber TCP statt USB betreibe, könnte ich meinen Windows Rechner translozieren und neben die USV stellen, dort einen NUT Server installieren und auch noch den NUT-OPi ausser Betrieb setzen. Windows handelt USB ja problemlos und einen NUT-Server unter Windows scheint es auch zu geben. Die Verlockung ist groĂ. Aber dann hĂ€tte ich wieder die rĂ€umliche AbhĂ€ngigkeit, die ich nicht will. Also werden die paar Watt spendiert und der OPI NUTtet weiter.@klassisch
@David-GDanke fĂŒr den Input.
Ich hatte gestern Abend auch noch etwas unkoordiniert an dem Cubietruck rumgehackt und bin jetzt auch zu dem Schluss gekommen, dass es irgendwie mit dem USB Anschluss zu tun haben muss.Habe die APC jetzt an dem anderen USB angeschlossen, natĂŒrlich mehrfach gewechselt ohne Erfolg, dann diverse Schritte aus der Installation ebenfalls unkoordiniert wiederholt genauso wie mehrere Reboots.
Irgendwann lief es dann wieder.
Beim ersten nachvollziehen der Anleitung auf einem Pi klappte es ja auch erst, wenn bei der Installation die USV bereits angeschlossen war.
ggf. wird die Konfiguration automatisch dann irgendwie mit dem USB Anschluss verheiratet. -
@klassisch
@David-GDanke fĂŒr den Input.
Ich hatte gestern Abend auch noch etwas unkoordiniert an dem Cubietruck rumgehackt und bin jetzt auch zu dem Schluss gekommen, dass es irgendwie mit dem USB Anschluss zu tun haben muss.Habe die APC jetzt an dem anderen USB angeschlossen, natĂŒrlich mehrfach gewechselt ohne Erfolg, dann diverse Schritte aus der Installation ebenfalls unkoordiniert wiederholt genauso wie mehrere Reboots.
Irgendwann lief es dann wieder.
Beim ersten nachvollziehen der Anleitung auf einem Pi klappte es ja auch erst, wenn bei der Installation die USV bereits angeschlossen war.
ggf. wird die Konfiguration automatisch dann irgendwie mit dem USB Anschluss verheiratet.@Homoran Prima, daĂ es jetzt wieder geht. Danke fĂŒr die RĂŒckmeldung. USB und Betriebsysteme ist mir ein Mysterium. Aber bei Windows fĂ€llt es nicht auf, weil es besser funktioniert. Bei Linux hakte es halt öfter bis fast immer. Diese ganze Mounterei ist aus der Zeit gefallen. Ist nicht mehr zeitgemĂ€Ă. Und seit mein ioBroker Rechner per RemoteDesktop administrierbar ist, möchte ich nicht mehr auf headless zurĂŒck.
-
Was macht NUT?
Mit NUT (Network UPS Tools) kann man eine unterbrechungsfreie Stromversorgung (USV, UPS) mit Computern verbinden und Daten von den UPS bekommen.
FĂŒr ioBroker gibt es den nut Adapter von @Apollon77, Github und ioBrokerForum . Dieser Adapter stellt einen NUT-Cient bereit und legt eine Datenstruktur im Objektbereich an.
Ich nutze den Adapter hauptsÀchlich zum mitloggen der Daten wie verbleibende Akuulaufzeit und zur Detektion von NetzspannungsausfÀllen.Geeignete UPS (USV)
Die meisten UPS unterstĂŒtzen diesen Datenaustausch. Entweder per serieller Schnittstelle (nur noch selten anzutreffen), meist per USB oder die edleren direkt ĂŒber Ethernet.
Luxus: UPS mit eingebauter Netzwerkkarte
Die Luxuslösung sieht dann so aus:

Man kann dann z.B. den NAS einige Minuten nach einem Spannungsausfall herunterfahren und die anderen GerÀte wie ioBroker, Router, Switches, Homematic weiter betreiben.
Im ioBroker nut-Adapter trÀgt man die IP-Adresse der Netzwerkkarte der UPS, deren Port (i.d.R 3493), den Namen der UPS sowie Benutzernamen und Passwort, die auf der Netzwerkkarte der UPS festgelegt sind.
Ein konkretes Beispiel kann ich hier leider nicht geben, da ich leider eine andere Lösung habe.Einfache Lösung mit Haken: NAS als NUT-Server
Wer ĂŒber ein geeignetes NAS-GerĂ€t verfĂŒgt - in meinem Beispiel Synology - kann das USB-Kabel der UPS direkt dort einstecken und den eingebauten NAS-Server nutzen.

In diesem Fall detektiert die Synology die angeschlossene UPS. Im Menue Hardware & Energie, Tab USV kann man den NUT Server aktivieren und die IP-Adressen der Clients - also auch des ioBroker-Rechners - einstellen.
Im ioBroker Adapter gibt man die IP Adresse der Synology an, sowie wieder Port 3493. Bei Synology muĂ der Name der UPS sowie dessen Benutzername ups lauten und das password secret .
Das funktioniert recht problemlos und stabil, hat aber einen Haken. Wenn die Synology bei einem Stromausfall heruntergefahren wird, stellt auch deren NUT Server den Dienst ein und der ioBroker wird nicht mehr mit den Daten der UPS versorgt. Also gerade dann, wenn es eigentlich am interessantesten ist.
Um das zu vermeiden, kann man den NUT-Server auf einem (eigenen) Kleinrechner betreiben. Alle anderen GerÀte werden dann als Cient betrieben.NUT-Server auf einem Kleinrechner (SBC)
In meinem Fall ist der SBC ein Orange Pi Plus 2e, der fĂŒr diese Aufgabe zwar viel zu groĂ ist, aber durch Migration von ioBoker auf einen Windows Rechner frei wurde.

Das Aufsetzen des NUT-Server erfolgt auf den Spuren von Haus-Automatisierung und Wiki Ubuntuusers
Zuerst System aktualisieren bzw. neu aufsetzen mit ”SD Karteapt update apt upgradeEdit: Den NUT-Rechner mit der USV per USB verbinden. Darauf hat @Homoran hingewiesen.
Nut installation:sudo apt install nut usbutilsBei Àlteren Systemen sudo apt-get install nut usbutils
sudo nano /etc/nut/ups.confEinfĂŒgen:
[ups] driver = "usbhid-ups" port = "auto" desc = "CyberPower" pollinterval = 30Bei Verwendung einer Synology muĂ [ups] verwendet werden.
Sudo rebootsudo upsdrvctl start sudo cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/ sudo rebootsudo upsdrvctl start sudo nano /etc/nut/nut.confEintragen:
MODE=netserverDanach den Dienst starten:
sudo upsdWenn alles funktioniert hat, kann man jetzt Daten ausgeben:
sudo upsc ups@localhostHier muss eine sinnvolle Liste gelistet werden: Beispiel:
root@opi2e_reserve:~# sudo upsc ups@localhost Init SSL without certificate database battery.charge: 100 battery.charge.low: 10 battery.charge.warning: 20 battery.mfr.date: CPS battery.runtime: 6690 battery.runtime.low: 300 battery.type: PbAcid battery.voltage: 24.0 battery.voltage.nominal: 24 device.mfr: CPS device.model: CP1500EPFCLCD device.serial: CRABCD12345678 device.type: ups driver.name: usbhid-ups driver.parameter.pollfreq: 30 driver.parameter.pollinterval: 30 driver.parameter.port: auto driver.parameter.synchronous: no driver.version: 2.7.4 driver.version.data: CyberPower HID 0.4 driver.version.internal: 0.41 input.transfer.high: 260 input.transfer.low: 170 input.voltage: 235.0 input.voltage.nominal: 230 output.voltage: 267.0 ups.beeper.status: enabled ups.delay.shutdown: 20 ups.delay.start: 30 ups.load: 5 ups.mfr: CPS ups.model: CP1500EPFCLCD ups.productid: 0501 ups.realpower.nominal: 900 ups.serial: CRABCD12345678 ups.status: OL ups.test.result: No test initiated ups.timer.shutdown: -60 ups.timer.start: -60 ups.vendorid: 0764 root@opi2e_reserve:~#Weiter gehts
sudo nano /etc/nut/upsd.confEintragen:
LISTEN 127.0.0.1 3493 LISTEN 192.168.178.123 3493Also IP-Adresse der eigenen (Nut-Server) Eth Schnittstelle
Starten und stoppen, damit das conf-file wieder eingelesen wirdsudo upsd -c stop sudo upsdJetzt werden Benutzerkonten angelegt, unter denen man von anderen GerÀten auf den NUT-Server zugreifen kann. In meinem Beispiel:
Drei user werden erstellt
- upsmaster fĂŒr den Administrator, der damit aber nichts macht
- monuser fĂŒr die Synology
- upsmon_remote fĂŒr den ioBrokerDazu:
sudo nano /etc/nut/upsd.usersEintragen:
[upsmaster] password = irgendwasabergutmerken actions = SET instcmds = ALL upsmon master [monuser] password = secret upsmon slave [upsmon_remote] password = secret upsmon slaveWieder ĂŒbernehmen
sudo upsd -c stop sudo upsdJetzt mĂŒssen wir das Ganze auch noch reboot-fest machen.
Bei neueren Linux-Systemen geschieht das ĂŒber systemd. @Thomas-Braun und @David-G haben diese Anpassung dankenswerterweise ausgearbeitet und getestet (siehe dort mit Nutzung dieser Fundstelle):
Zuerst mitcat /etc/systemd/system/multi-user.target.wants/nut-server.serviceprĂŒfen, ob diese Datei vorhanden ist und nut bereits die Vorkehrungen fĂŒr systemd getroffen hat.
Falls diese Datei existiert, Mit nano öffnen:sudo nano /etc/systemd/system/multi-user.target.wants/nut-server.service(Edit: Falls diese Datei nicht existiert kopiert man sich die Vorlage
/usr/lib/systemd/systemdorthin. Danke @thomas-braun )
Diese Datei sieht dann erst mal so aus:
[Unit] Description=Network UPS Tools - power devices information server After=local-fs.target network.target nut-driver.service # We don't Require drivers to be successfully started! This would be # a change of behavior compared to init SysV, and could prevent from # accessing successfully started, at least to audit a system. Wants=nut-driver.service Before=nut-monitor.service [Service] ExecStart=/sbin/upsd Type=forking [Install] WantedBy=multi-user.targetDamit genĂŒgend Zeit zur Installation der USB Treiber bleibt, nach der Zeile [Service] noch die Verzögerung
ExecStartPre=/bin/sleep 30eintragen und die geÀnderte Datei abspeichern.
Die Datei sollte nun so aussehen[Unit] Description=Network UPS Tools - power devices information server After=local-fs.target network.target nut-driver.service # We don't Require drivers to be successfully started! This would be # a change of behavior compared to init SysV, and could prevent from # accessing successfully started, at least to audit a system. Wants=nut-driver.service Before=nut-monitor.service [Service] ExecStartPre=/bin/sleep 30 ExecStart=/sbin/upsd Type=forking [Install] WantedBy=multi-user.target{
Hier die Methode fĂŒr alte Systeme, bei denen die Datei /etc/systemd/system/multi-user.target.wants/nut-server.service nicht existiert. Darf nicht verwendet werden, wenn diese Datei vorhanden ist und die vorherigen Schritte schon ausgefĂŒhrt wurdensudo nano /etc/rc.localHier VOR exit=0 einfĂŒgen
#additions for nut server upsdrvctl start upsd #end additions for nut server} Ende der Einstellungen fĂŒr Altsysteme. Bei neueren Sytsemen nicht mehr verwenden]
Jetzt wird noch der ioBroker Adapter eingestellt. Beispiel
IP des NUT Servers: 192.168.178.123 #Beispiel Port des NUT Servers: 3493 NUT Name der UPS: ups Aktualisierungsintervall 300s Username der UPS: upsmon_remote Passwort der UPS: secretBei der Synology wird eingestellt (Hardware & Energie, Tab USV):
Anhaken: USV-UnterstĂŒtzung aktivieren
Netzwerk-USV-Typ: Synology USV Server
Netzwerk-USV-Server-IP: 192.168.178.123 #BeispielDie Zeit einstellen, nach der die Synology heruntergefahren werden soll + anhaken.
NUT-Server und ioBroker auf einem Rechner
Diese Konfiguration hatte ich nie in Betrieb. Sie mĂŒĂte aber mit den o.g. Installationsschritten möglich sein. Als IP-Adresse des NUT Servers kann innerhalb des Host Rechners dann localhost oder 127.0.0.1 verwendet werden.

Edit:
Welcher Treiber passt zu meiner USV?
Auswahltabelle Treiber auf der Seite des NUT-ProjektsHallo,
vielen Dank fĂŒr Deine tolle Anleitung.
Ich habe gerade den Punkt: "NUT-Server auf einem Kleinrechner (SBC)" auf einem Raspi 3B+ durchgefĂŒhrt und erfolgreich an meine Synology NAS (DS216+II) ĂŒber USB angeschlossen. Alle DP im ioBroker werden auch ordnungsgemÀà befĂŒllt.
Nun hÀtte ich zwei Fragen:
-
Wie kann ich, im Falle eines Stromausfalles, dem NUT-Server auf dem Raspi sagen wann er in den shutdown gehen soll (und das entsprechende Signal an alle anderen senden)? In der Synology gibt es dazu zwei Punkte: 1. Zeit selbst einstellen und 2. "Genauso wie Server".
-
Gibt es fĂŒr den ioBroker NUT-Adapter eine Anleitung in der die Datenpunkte erklĂ€rt werden?
-
-
Hallo,
vielen Dank fĂŒr Deine tolle Anleitung.
Ich habe gerade den Punkt: "NUT-Server auf einem Kleinrechner (SBC)" auf einem Raspi 3B+ durchgefĂŒhrt und erfolgreich an meine Synology NAS (DS216+II) ĂŒber USB angeschlossen. Alle DP im ioBroker werden auch ordnungsgemÀà befĂŒllt.
Nun hÀtte ich zwei Fragen:
-
Wie kann ich, im Falle eines Stromausfalles, dem NUT-Server auf dem Raspi sagen wann er in den shutdown gehen soll (und das entsprechende Signal an alle anderen senden)? In der Synology gibt es dazu zwei Punkte: 1. Zeit selbst einstellen und 2. "Genauso wie Server".
-
Gibt es fĂŒr den ioBroker NUT-Adapter eine Anleitung in der die Datenpunkte erklĂ€rt werden?
@qqolli sagte in [HowTo] USV: NUT Server auf SBC installieren:
Gibt es fĂŒr den ioBroker NUT-Adapter eine Anleitung in der die Datenpunkte erklĂ€rt werden?
Was willst du denn da wissen?
Sind zwar sehr viele Daten, aber eigentlich selbsterklÀrend -
-
Hallo,
vielen Dank fĂŒr Deine tolle Anleitung.
Ich habe gerade den Punkt: "NUT-Server auf einem Kleinrechner (SBC)" auf einem Raspi 3B+ durchgefĂŒhrt und erfolgreich an meine Synology NAS (DS216+II) ĂŒber USB angeschlossen. Alle DP im ioBroker werden auch ordnungsgemÀà befĂŒllt.
Nun hÀtte ich zwei Fragen:
-
Wie kann ich, im Falle eines Stromausfalles, dem NUT-Server auf dem Raspi sagen wann er in den shutdown gehen soll (und das entsprechende Signal an alle anderen senden)? In der Synology gibt es dazu zwei Punkte: 1. Zeit selbst einstellen und 2. "Genauso wie Server".
-
Gibt es fĂŒr den ioBroker NUT-Adapter eine Anleitung in der die Datenpunkte erklĂ€rt werden?
-
-
@qqolli Anleitung ist in Github und per Adapteransicht zu finden

Die Datenpunkte hÀngen von der USV ab.
Hi,
entweder bin ich blind oder ich finde die Informationen nicht. Ich habe sowohl auf Github als auch in der Adapteransicht nachgeschaut und die Infos sind IMHO recht dĂŒrftig.
Zum Beispiel, was bedeuten:

Wenn ich die USV vom Netz trenne, Àndern sich hier keine DP:

und beim senden eines Commands gibt es eine Fehlermeldung:
nut.0 2020-10-29 16:41:03.016 error (32555) Err while getting NUT values: Other communication still running nut.0 2020-10-29 16:41:03.015 error (32555) Err while sending command test.panel.start: ACCESS-DENIED nut.0 2020-10-29 16:41:03.012 info (32555) send command test.panel.start nut.0 2020-10-29 16:41:03.010 info (32555) send password for command test.panel.start nut.0 2020-10-29 16:41:03.008 info (32555) send username for command test.panel.startUnd zu meiner vorherigen Frage: "Wie kann ich, im Falle eines Stromausfalles, dem NUT-Server auf dem Raspi sagen wann er in den shutdown gehen soll (und das entsprechende Signal an alle anderen senden)? In der Synology gibt es dazu zwei Punkte: 1. Zeit selbst einstellen und 2. "Genauso wie Server". - Gibt es da eine Einstellung und wenn ja, wo und wie?
Sorry fĂŒr die vielen Fragen, hoffe Du bist nicht genervt :-)
-
Hi,
entweder bin ich blind oder ich finde die Informationen nicht. Ich habe sowohl auf Github als auch in der Adapteransicht nachgeschaut und die Infos sind IMHO recht dĂŒrftig.
Zum Beispiel, was bedeuten:

Wenn ich die USV vom Netz trenne, Àndern sich hier keine DP:

und beim senden eines Commands gibt es eine Fehlermeldung:
nut.0 2020-10-29 16:41:03.016 error (32555) Err while getting NUT values: Other communication still running nut.0 2020-10-29 16:41:03.015 error (32555) Err while sending command test.panel.start: ACCESS-DENIED nut.0 2020-10-29 16:41:03.012 info (32555) send command test.panel.start nut.0 2020-10-29 16:41:03.010 info (32555) send password for command test.panel.start nut.0 2020-10-29 16:41:03.008 info (32555) send username for command test.panel.startUnd zu meiner vorherigen Frage: "Wie kann ich, im Falle eines Stromausfalles, dem NUT-Server auf dem Raspi sagen wann er in den shutdown gehen soll (und das entsprechende Signal an alle anderen senden)? In der Synology gibt es dazu zwei Punkte: 1. Zeit selbst einstellen und 2. "Genauso wie Server". - Gibt es da eine Einstellung und wenn ja, wo und wie?
Sorry fĂŒr die vielen Fragen, hoffe Du bist nicht genervt :-)
@qqolli sagte in [HowTo] USV: NUT Server auf SBC installieren:
Sorry fĂŒr die vielen Fragen, hoffe Du bist nicht genervt :-)
Nein, aber ich hatte gerade noch anderes zu tun.
Bei mir sehen die Objekte z.B. so aus

Runtime wird z.B. aktualisiert, wenn Du die Last Ànderst. Bei mir eher langsam, weil ich auf Aktualisierungszeit von 5 Minuten eingestellt habe.
Das sieht dann lÀngerfristig so aus

Soweit dazu.
UnabhĂ€ngig von dee Pollingzeit scheint der NUT Server bei Stromausfall einen Broadcast zu verschicken. Ich schicke mir dann ĂŒber ioBroker eine Mail.
Parallel dazu fahre ich die Synology nach ein paar Minuten runter und nicht mehr automatisch hoch. Denn die friĂt Strom. Den Rest lasse ich laufen, denn der macht die Infrastruktur, die Hausautomatisierung und ĂŒber ioBroker die Datenarchivierung der Hausautomatisierungsdaten. Mein ioBroker lĂ€uft auf einem Win10 Laptop. Also selbst wenn die UPS platt ist, wird der noch ein paar h weiter laufen. Und dann kann ein Laptop ĂŒber sein eigenes Power Management in den Energiesparmodus oder Ruhezustand gehen. Habe ich aber noch nicht gebraucht.
Wenn Du einen Raspi runterfahren lassen willst, MuĂt Du wahrscheinlich noch einen NUT Client drauf machen. Dabei könnte z.B. diese Anleitung https://zefanjas.de/server-bei-stromausfall-herunterfahren-ups-nut-co/ ab "Clients / Slaves einrichten (z.B. Server, andere Computer)"
Wie gesagt, ich fahre derzeit vor allem die Synology runter.
Die Synology habe ich natĂŒrlich als Client eingerichtet, die dann auf den NUT Server auf dem OPi hört. Das hat den Vorteil, daĂ ich beim Netzausfall ĂŒber ioBroker auch noch die USV sehe. Wenn ich die Syno als Server nutzen wĂŒrde, was viel einfacher ist, dann wĂŒrde ich die USV nicht mehr sehen, wenn die Syno runtergefahren ist.
Meinen OPi, der den NUT Server trÀgt, lasse ich durchlafen, der braucht nicht viel Strom. -
@qqolli sagte in [HowTo] USV: NUT Server auf SBC installieren:
Sorry fĂŒr die vielen Fragen, hoffe Du bist nicht genervt :-)
Nein, aber ich hatte gerade noch anderes zu tun.
Bei mir sehen die Objekte z.B. so aus

Runtime wird z.B. aktualisiert, wenn Du die Last Ànderst. Bei mir eher langsam, weil ich auf Aktualisierungszeit von 5 Minuten eingestellt habe.
Das sieht dann lÀngerfristig so aus

Soweit dazu.
UnabhĂ€ngig von dee Pollingzeit scheint der NUT Server bei Stromausfall einen Broadcast zu verschicken. Ich schicke mir dann ĂŒber ioBroker eine Mail.
Parallel dazu fahre ich die Synology nach ein paar Minuten runter und nicht mehr automatisch hoch. Denn die friĂt Strom. Den Rest lasse ich laufen, denn der macht die Infrastruktur, die Hausautomatisierung und ĂŒber ioBroker die Datenarchivierung der Hausautomatisierungsdaten. Mein ioBroker lĂ€uft auf einem Win10 Laptop. Also selbst wenn die UPS platt ist, wird der noch ein paar h weiter laufen. Und dann kann ein Laptop ĂŒber sein eigenes Power Management in den Energiesparmodus oder Ruhezustand gehen. Habe ich aber noch nicht gebraucht.
Wenn Du einen Raspi runterfahren lassen willst, MuĂt Du wahrscheinlich noch einen NUT Client drauf machen. Dabei könnte z.B. diese Anleitung https://zefanjas.de/server-bei-stromausfall-herunterfahren-ups-nut-co/ ab "Clients / Slaves einrichten (z.B. Server, andere Computer)"
Wie gesagt, ich fahre derzeit vor allem die Synology runter.
Die Synology habe ich natĂŒrlich als Client eingerichtet, die dann auf den NUT Server auf dem OPi hört. Das hat den Vorteil, daĂ ich beim Netzausfall ĂŒber ioBroker auch noch die USV sehe. Wenn ich die Syno als Server nutzen wĂŒrde, was viel einfacher ist, dann wĂŒrde ich die USV nicht mehr sehen, wenn die Syno runtergefahren ist.
Meinen OPi, der den NUT Server trÀgt, lasse ich durchlafen, der braucht nicht viel Strom.Hi,
danke fĂŒr die ausfĂŒhrliche Antwort. Du schriebst "UnabhĂ€ngig von der Pollingzeit scheint der NUT Server bei Stromausfall einen Broadcast zu verschicken. Ich schicke mir dann ĂŒber ioBroker eine Mail." Wie bekommt man den raus, bzw. wo in den DP wird angezeigt, das der Strom ausgefallen ist?
Zu meiner letzen Frage, hast Du vielleicht eine Idee, warum er "Access Denied" sagt (s. unten)? Rechteproblem auf dem NUT-Raspi evtl?
nut.0 2020-10-29 16:41:03.016 error (32555) Err while getting NUT values: Other communication still running nut.0 2020-10-29 16:41:03.015 error (32555) Err while sending command test.panel.start: ACCESS-DENIED nut.0 2020-10-29 16:41:03.012 info (32555) send command test.panel.start nut.0 2020-10-29 16:41:03.010 info (32555) send password for command test.panel.start nut.0 2020-10-29 16:41:03.008 info (32555) send username for command test.panel.start -
Hi,
danke fĂŒr die ausfĂŒhrliche Antwort. Du schriebst "UnabhĂ€ngig von der Pollingzeit scheint der NUT Server bei Stromausfall einen Broadcast zu verschicken. Ich schicke mir dann ĂŒber ioBroker eine Mail." Wie bekommt man den raus, bzw. wo in den DP wird angezeigt, das der Strom ausgefallen ist?
Zu meiner letzen Frage, hast Du vielleicht eine Idee, warum er "Access Denied" sagt (s. unten)? Rechteproblem auf dem NUT-Raspi evtl?
nut.0 2020-10-29 16:41:03.016 error (32555) Err while getting NUT values: Other communication still running nut.0 2020-10-29 16:41:03.015 error (32555) Err while sending command test.panel.start: ACCESS-DENIED nut.0 2020-10-29 16:41:03.012 info (32555) send command test.panel.start nut.0 2020-10-29 16:41:03.010 info (32555) send password for command test.panel.start nut.0 2020-10-29 16:41:03.008 info (32555) send username for command test.panel.start@qqolli Bei meiner alten APC war es nut.0.status.severity und bei meiner Cyberpower (die auf der zweiten Instanz nut.1 lÀuft) "nut.1.status.severity". Also status.severity scheint verbreitet zu sein. Der Zustand wechselt dann von (0)idle auf (1)operating.
Es gibt bei mir auch noch 'status.discharging', welches von false auf true wechselt. Habe es gerade mal fĂŒr Dich getestet, sieht dann so aus:

Zu dem Access Denied kann ich aus der Ferne leider nichts spezifisches segen. Zu viel ist möglich. Kommt das nur, wenn Du eine Aktion auslösen möchtest?
Das Auslösen von Aktionen habe ich mir abgewöhnt, nachdem ich bei einem Test einer mir nicht genau bekannten Aktion den Ausgang der USV abgeschaltet habe :-(
BeschrÀnke mich auf das Lesen von Werten und der Alarmirung per Mails.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen BeitrĂ€ge zu scrollen? Wenn du dich fĂŒr ein Konto anmeldest, kommst du immer genau dorthin zurĂŒck, wo du zuvor warst, und kannst dich ĂŒber neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und BeitrĂ€ge positiv bewerten, um anderen Community-Mitgliedern deine WertschĂ€tzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden đ
Registrieren Anmelden