NEWS
USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS
-
Ich habe erfolgreich eine EATON Ellipse ECO 1200 installiert und an mein QNAP angeschlossen. Auf dem ioBroker (VM eines NUC mit Proxmox) ist der NUT Adapter installiert und hat Kontakt mit der USV (bzw. dem Server auf dem QNAP).
Das QNAP fährt nach der in deren Konfig eingestellten Zeit herunter.
Der CCU sage ich vom ioBroker aus per Systemvariable, dass sie zu gegebener Zeit herunter fahren soll. Das regelt ein Script per system.exec Befehl, wenn die SV umschaltet.
Nun geht es noch um den NUC. Wenn ich den Proxmox Host per shutdown herunterfahre, werden ja vorher automatisch alle VMs heruntergefahren. Muss ich auf dem Host NUT Client installieren und das darüber machen? Oder gibt es einen einfacheren Weg?
-
@hmanfred said in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
Muss ich auf dem Host NUT Client installieren und das darüber machen? Oder gibt es einen einfacheren Weg?
Ist wahrscheinlich ein Weg, aber der Linux Control Adapter scheint mir einfacher. Da kannst du auch noch andere Befehle absetzen (glaube ich zumindest).
-
@hmanfred Ich habe es so gelöst, dass ich in Proxmox ein Bash-Skript per cronjob laufen habe, dass einen Datenpunkt in ioBroker prüft und bei Bedarf das System herunterfährt und davor noch den Befehl (in einem anderen Datenpunkt) bestätigt.
#!/bin/bash # ioBroker-Datenpunkt auslesen DP=$(wget -qO- http://[ioBroker IP]:8082/getPlainValue/javascript.0.USV_Proxmox_ausschalten) # Wenn Datenpunkt für Shutdown gesetzt if [ $DP == 'true' ] then # Rueckmeldung an ioBroker senden curl http://[ioBroker IP]:8082/set/javascript.0.USV_Proxmox_Rueckmeldung?value="true" # kurz warten sleep 15 # System shutdown shutdown -h now fi
-
Das klingt interessant sowas fehlt mir auch noch! Kannst du kurz drauf eingehen wie man genau das bash skript per cronjob auf proxmox zum laufen bringt? Ich habe das noch nie gemacht...
In welchen Abstand wird das Skript bei dir ausgeführt? Ich habe bei nut den DP lowbattery der würde sich doch dafür eignen?
Oder würde es auch gehen das der lowbattery DP das bash Skript auf proxmox auslöst?
Schob mal vielen Dank
-
@saeft_2003
Ich nutze dafür den proxmox adapter um den nuc runter zu fahren.Anbei mein Skript, was u.a. auch infos per pushover sendet und meine UDMP auch runterfährt. Runtergefahren wird auf Basis Batterie Prozent, da bei meinem USV die runtime zu arg schwankt.
Vielleicht hilft es ja weiter.// import const moment = require("moment"); moment.locale("de"); // Fomate für moment Lib let dateFormat = "ddd M. MMM YYYY - LTS"; let batteryPercentId = "nut.0.battery.charge"; let batteryRuntimeId = "nut.0.battery.runtime"; let onBatteryMode = "nut.0.status.onbattery"; const shutdownPercent = 20; const shutdownRuntime = 600; // in sekunden let shutdownButtonId = "proxmox.0.node_proxmox.shutdown"; if (existsState(batteryPercentId)) { on({ id: batteryPercentId, change: 'ne' }, upsMonitor); } else { console.warn(`Datenpunkt '${batteryPercentId}' existiert nicht -> keine subscription für Gerät erstellt! Skript Einstellung prüfen!`); } // if (existsState(batteryRuntimeId)) { // on({ id: batteryRuntimeId, change: 'ne' }, upsMonitor); // } else { // console.warn(`Datenpunkt '${batteryRuntimeId}' existiert nicht -> keine subscription für Gerät erstellt! Skript Einstellung prüfen!`); // } if (existsState(onBatteryMode)) { on({ id: onBatteryMode, change: 'ne' }, upsMonitor); } else { console.warn(`Datenpunkt '${onBatteryMode}' existiert nicht -> keine subscription für Gerät erstellt! Skript Einstellung prüfen!`); } function upsMonitor(obj) { // console.log(obj.id); if (obj.id === onBatteryMode && obj.state.val !== obj.oldState.val) { if (obj.state.val) { console.warn(`[upsMonitor]: UPS läuft im Batterie-Betrieb!`); pushover.sendMessage('UPS im Batterie-Betrieb!', moment().format(dateFormat)); } else { console.warn(`[upsMonitor]: UPS läuft wieder im Netz-Betrieb`); pushover.sendMessage('UPS wieder im Netz-Betrieb', moment().format(dateFormat)); } } if (getState(onBatteryMode).val) { // if (obj.id === batteryRuntimeId && obj.state.val <= obj.oldState.val) { // if (obj.state.val <= shutdownRuntime) { // console.warn(`[upsMonitor]: Restlaufzeit < ${shutdownRuntime / 60} Min -> Shutdown wird eingeleitet...`); // pushover.sendMessage('UPS Shutdown!', `${moment().format(dateFormat)}\n\nRestlaufzeit < ${shutdownRuntime / 60} Min`); // setState('linux-control.0.UdmPro.myControl.shutdown', true); // setStateDelayed(shutdownButtonId, true, 3000); // } // } else { if (obj.id === batteryPercentId && obj.state.val <= obj.oldState.val) { if (obj.state.val <= shutdownPercent) { console.warn(`[upsMonitor]: Batterieladung < ${shutdownPercent / 60} % -> Shutdown wird eingeleitet...`); pushover.sendMessage('UPS Shutdown!', `${moment().format(dateFormat)}\n\nBatterieladung < ${shutdownPercent} %`); setState('linux-control.0.UdmPro.myControl.shutdown', true); setStateDelayed(shutdownButtonId, true, 3000); } if (obj.state.val <= 40 && obj.oldState.val >= 40) { pushover.sendMessage(`UPS Batterieladung < ${shutdownPercent} %`, moment().format(dateFormat)); } if (obj.state.val <= 30 && obj.oldState.val >= 30) { pushover.sendMessage(`UPS Batterieladung < ${shutdownPercent} %`, moment().format(dateFormat)); } if (obj.state.val <= 20 && obj.oldState.val >= 20) { pushover.sendMessage(`UPS Batterieladung < ${shutdownPercent} %`, moment().format(dateFormat)); } } // } } }
-
Das ist auch eine gute Idee da ich den proxmox Adapter natürlich auch laufen habe. Ich muss das ganze mal in blockly nachbauen...
Weißt du zufällig wie man eine Diskstation runterfahren kann?
-
@saeft_2003 said in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
Diskstation
Nope, hab ich nicht. Aber die ist doch linux basiert. Dann wahrscheinlich per ssh die üblichen shutdown befehle, Dr. Google hilft hier sicher
Dafür kannst dann z.B. den linux control adapter verwenden. -
@saeft_2003 said in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
Weißt du zufällig wie man eine Diskstation runterfahren kann?
über nut direkt.
dazu hat die DS das doch an Bord
-
Dazu müsste aber die Diskstation direkt über usb mit der usv verbunden sein, oder?
-
@saeft_2003 oder als slave an einem anderen nut server.
-
@scrounger said in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
@saeft_2003 said in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
Diskstation
Nope, hab ich nicht. Aber die ist doch linux basiert. Dann wahrscheinlich per ssh die üblichen shutdown befehle, Dr. Google hilft hier sicher
Dafür kannst dann z.B. den linux control adapter verwenden.Linux adapter geht nicht bzw. es kommen sehr viele Error im log. Ich habe ein skript zum runterfahren eines raspi. Das habe ich jetzt angepasst leider geht es nicht. Weißt du vielleicht wieso? Morgen muss ich über putty mal testen ob der Befehl sudo poweroff funktioniert....
-
Das Skript geht leider nicht da ich den Befehl sudo poweroff mit meinem Passwort bestätigen muss.
Wie kann ich das in diesem Skript hinzufügen?
-
nimm mal den usernamen : root
-
@glasfaser sagte in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
nimm mal den usernamen : root
Mit root anmelden geht nicht. Ich bekomme root nur wenn ich mich mit Benutzer anmelde dann sudo -i eingebe und danach noch mal das PW vom Benutzer.
Ist irgendwie doof. Steht auch hier so.
-
Nimm doch einfach den Synology Adapter dort ist alles drin und auch mehr .
.
-
@glasfaser Jetzt frage ich mal dumm.
Wie kann man mit dem Synology Adapter eine CCU runterfahren.Da habe ich nichts gefunden.
-
@meister-mopper sagte in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
Wie kann man mit dem Synology Adapter eine CCU runterfahren.
es ging doch hier ums runterfahren vom NAS
-
@homoran Okay, bin schon ganz wirr vom Lesen und Lernen.
Sorry dafür, mea maxima culpa
-
@glasfaser sagte in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
Nimm doch einfach den Synology Adapter dort ist alles drin und auch mehr .
.
Geht leider nicht da der Adapter meine Diskstation zumüllt und diese danach nicht mehr erreichbar ist (ist ein bekannter Fehler), leider habe ich im changelog nicht gelesen das dieser behoben wurde. Deswegen kann ich den Adapter nicht nutzen...
-
@saeft_2003 sagte in USV installiert - Shutdowns initiieren? Proxmox, CCU, NAS:
eht leider nicht da der Adapter meine Diskstation zumüllt und diese danach nicht mehr erreichbar ist (ist ein bekannter Fehler),
galt das nicht für eine gaaaaanz alte Version?