Ankündigung: NUT - Network UPS Tools

Begonnen von Creideiki, 18 September 2014, 14:32:38

Vorheriges Thema - Nächstes Thema

Creideiki

Die Network UPS Tools (www.networkupstools.org) dienen dazu, Unterbrechungsfreie Stromversorgungen und ähnliches abzufragen und zu steuern. Unter anderem können sie dafür sorgen, dass ein Rechner ordentlich herunterfährt, wenn der Strom ausgefallen ist und die Batterie der USV zur Neige geht.

Damit das auch mit mehreren Rechnern an einer USV funktioniert, ist NUT (wie der Name schon sagt) netzwerkgestützt.

Da moderne USVs auch einiges an Meßwerten bieten (angefangen an Restlaufzeit über Eingangsspannung bis hin zu Umgebungsparametern wie Temperatur und Luftfeuchte), bieten sich für FHEM nette Szenarios an. Das fängt bei einem Hilferuf an, wenn der Strom ausfällt, geht mit der Dokumentation der verschiedenen Meßwerte weiter und kann z.B. auch das Abschalten verschiedener Verbraucher beinhalten, die an einer USV hängen, wenn der Strom ausfällt.

Deshalb bin ich gerade dabei, ein neues Modul zu entwickeln: 34_NUT.pm

Bisher kann es eine USV, die an einem NUT-Server hängt, abfragen und stellt ein paar Readings zur Verfügung.

Nur fehlen mir jetzt noch ein paar Informationen, wie es weitergeht:

  • Ich habe nichts gefunden, welche Mindestansprüche an Fähigkeiten und Doku ein Modul haben muß, damit es aufgenommen werden muß.
  • Vermutlich brauche ich einen Entwicklerzugang (werd ich einfach mal beantragen).
  • Natürlich brauche ich Ideen und Anregungen, was das Modul noch so alles können soll.  ;)


Icinger

Klingt interessant...

Hier http://www.fhemwiki.de/wiki/Kategorie:Development findest du schon einiges zum Thema Modul-Entwicklung.

lg, ici
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Creideiki


volschin

Klasse Idee. Bisher habe ich zwar an meiner USV sowohl NAS, als auch Fritzbox und RasPi hängen, aber das Daten-Kabel der USV geht ins NAS. Mal sehen, ob das NAS NUT-fähig ist.  ::)
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

volschin

Also gleich mal meine ersten Versuch auf dem RasPi gemacht.

Ich habe ein Thecus NAS N5200XXX im Einsatz, daran hängt eine APC Back UPS ES 700. Laut Community ist NUT in der Firmware und läuft als Client und Server.

Das wollte ich doch mal sehen.

Schritt 1: Auf den RasPi NUT installieren. Ich will nur den Client.
# NUT für USV
sudo apt-get install nut-client


Schritt 2: rausbekommen, wie meine USV am NAS heißt. In der WebGui sieht man das nicht.
upsc -l ThecusNAS

Antwort:
usbhid-ups

Schritt 4: Prüfen, ob die USV angesprochen werden kann.
upsc usbhid-ups@ThecusNAS

Antwort:
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.date: not set
battery.mfr.date: 2012/03/09
battery.runtime: 937
battery.runtime.low: 120
battery.type: PbAc
battery.voltage: 13.6
battery.voltage.nominal: 12.0
device.mfr: APC
device.model: Back-UPS ES 700G
device.serial: 5B1210T09384
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.4.3
driver.version.data: APC HID 0.95
driver.version.internal: 0.34
input.sensitivity: medium
input.transfer.high: 266
input.transfer.low: 180
input.voltage: 236.0
input.voltage.nominal: 230
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: 871.O2 .I
ups.firmware.aux: O2
ups.load: 39
ups.mfr: APC
ups.mfr.date: 2012/03/09
ups.model: Back-UPS ES 700G
ups.productid: 0002
ups.serial: 5B1210T09384
ups.status: OL
ups.timer.reboot: 0
ups.timer.shutdown: -1
ups.vendorid: 051d


Das sieht doch schon mal toll aus. Jetzt habe ich alle Daten, um das Modul zu konfigurieren.

Teil 2 folgt demnächst.  :)

Gruß,
Veit
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

volschin

Gerade habe ich Teil 2 versucht.
define UPS NUT usbhid-ups ThecusNAS

Wurde ohne Fehlermeldung im Log angelegt, allerdings bekomme ich keine Readings.

Ich habe jetzt sicherheitshalber auf IP umgestellt.

Einzige Info im Log:
2014.09.23 09:32:28 3: Opening UPS device 192.168.2.254:3493
2014.09.23 09:32:28 3: UPS device opened


Ideen? Gibt es noch weitere Installationsvoraussetzungen?

Gruß
Veit
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Creideiki

Mit dem Attribut asReadings kann man einstellen, welche USV-Werte als Readings verwendet werden. Allerdings sollte dieses Attribut bereits vorbelegt sein.

Kannst du mal das Ergebnis von
list usbhid-ups
posten?

blueberry63

Hallo,

"nut-server" läuft bei mir auf einem NAS, dort ist auch die USV angeschlossen. Auf dem NAS selbst kann ich z.Bsp. die Werte der USV per

Zitat
upsc -l
apc

upsc apc
battery.alarm.threshold: T
battery.charge: 100.0
battery.charge.restart: 00
battery.date: 09/03/93
...

auslesen.

Von meinem FHEM-Server geht das nicht:
Zitat
upsc -l nas1
Error: Connection failure: Connection refused

Ich habe schon einige Seiten im Netz durchgelesen, aber keine Erklärung gefunden, wie man von "remote" die Werte für eine USV abfragt. Kann mir hier jemand helfen?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Creideiki

Zitat von: blueberry63 am 23 September 2014, 14:18:37

Von meinem FHEM-Server geht das nicht:
Ich habe schon einige Seiten im Netz durchgelesen, aber keine Erklärung gefunden, wie man von "remote" die Werte für eine USV abfragt. Kann mir hier jemand helfen?

Hallo blueberry63,

vielleicht ist NUT so konfiguriert, dass es nur auf localhost lauscht. Schau mal auf dem NAS in die Datei
/etc/nut/upsd.conf (oder wo auch immer die Datei auf dem NAS ist). Darin hat es vermutlich irgendwo die Zeile LISTEN 127.0.0.1
Die ergänzt du durch LISTEN 192.168.x.y
wobei das die IP des NAS ist. Nach einem Neustart des NUT-Servers lauscht er auch auf Anfragen von außen.

Um die USV von außen abzufragen, sollte jetzt folgendes gehen:
upsc apc@nas1

blueberry63

Die Konfiguration war so schon eingestellt. Muss eigentlich auf der "Remote-Seite" noch etwas für "nut-Client" konfiguriert werden?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Creideiki

Das ist jetzt natürlich sehr schwer zu beantworten, da ich nicht weiß, was für ein NAS das ist... und mich natürlich auch nicht mit allen auskenne.

Wichtig ist, dass der NUT-Server nach der Umstellung wirklich neu gestartet wird (reload reicht nicht).

Hängen die Geräte im gleichen Netz oder könnte da noch eine Firewall dazwischen sein? Könnte es sein, dass das NAS selbst eine Firewall aktiv hat?

volschin

#11
Bei mir wird der FHEM-Server nach kurzer Zeit jeweils instabil und hängt sich auf. Der Load geht hoch.
Wenn ich den Server abschieße und das NUT-Device auf disabled 1 setze, läuft es normal.

Beim Absturz habe ich gesehen, dass sich im Feld Buffer dann doch größere Datenmengen angesammelt haben. Screenshot hängt dran.

Beim Wiederanfahren gab es noch eine Fehlermeldung auf der Kommandozeile:
Use of uninitialized value in string ne at ./FHEM/34_NUT.pm line 295.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Creideiki

Zitat von: volschin am 23 September 2014, 17:48:51
Bei mir wird der FHEM-Server nach kurzer Zeit jeweils instabil und hängt sich auf. Der Load geht hoch.
Wenn ich den Server abschieße und das NUT-Device auf disabled 1 setze, läuft es normal.

Beim Absturz habe ich gesehen, dass sich im Feld Buffer dann doch größere Datenmengen angesammelt haben. Screenshot hängt dran.

Beim Wiederanfahren gab es noch eine Fehlermeldung auf der Kommandozeile:
Use of uninitialized value in string ne at ./FHEM/34_NUT.pm line 295.
#
Huaaa.

Die Fehlermeldung ist noch recht harmlos; da hab ich eine Vermutung.
Aber der NUT-Server scheint sich laufend selbst zu unterbrechen; und das ist was, das ich nicht verstehe. Ich werde mal eine Notbremse einbauen, wenn der buffer zu groß wird.

Auf was läuft NUT? Wie sind FHEM und NUT verbunden? (Na gut, so langsam kann die Verbindung eigentlich gar nicht sein...) Wie sind pollState und pollVal eingestellt?

volschin

#13
Du kannst mir glauben, dass die Verbindung schnell genug ist. Wie aus meinen Versuchen oben erkennbar, gibt es auch keinerlei Probleme mit upsc auf OS Ebene.

Die Poll-Parameter habe ich nicht angepasst.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Creideiki

Seltsam, sehr seltsam... bin gerade dabei, die Auswertung umzubauen, damit sie robuster wird. Morgen teste ich, dann kommt eine neue Version.