NEWS
Qnap NAS von Iobroker aus herunterfahren
-
Hier die gewünschte Beschreibung QNAP von Iobroker aus herunterfahren zu lassen indem ein DP gesetzt wird, wie besprochen in [Problem mit dem Blockly-Block "exec"]
Die Idee mit dem Qnap runterfahren kam, als ich den "Core Temperaturen zu Iobroker Beitrag hier aus dem Forum um die Möglichkeit erweitert hatte Proxmox (z.B. bei Stromausfall mit USV) von Iobroker heraus runter fahren zu lassen.
Script zum schicken der Core Temperaturen und Shutdown von Proxmox
Qnap herunterfahren von Iobroker aus:Ziel soll sein einen DP auf true zu setzen und die Qnap fährt eigenständig runter. Hoch fahren klappt ja bereits über den WOL Befehl.
Vorbereitung im Iobroker, Erstellung eines DP
0_userdata.0.System.nas.shutdown0_userdata.0.System.nas.shutdown
Per ssh auf der Qnap einloggen (Putty)
login admin passwortcd /share/homes
(DP1 und IPP anpassen)
vim shutdown.sh#!/bin/bash #ioBroker-Datenpunkt der den Shutdown auslöst DP1=0_userdata.0.System.nas.shutdown #ioBroker-IP:Port IPP=192.168.0.222:8087 # ioBroker-Datenpunkt auslesen DPSD=$(wget -qO- http://${IPP}/getPlainValue/${DP1}) # Wenn Datenpunkt für Shutdown gesetzt if [ $DPSD = 'true' ] then # kurz warten sleep 10 # Rueckmeldung an ioBroker senden und DP auf false curl http://${IPP}/set/${DP1}?value=false sleep 10 # System standby/shutdown #echo mem > /sys/power/state /sbin/poweroff fi
[ESC] :wq für speichern und schliessen
[ESC] :q! für quit ohne speichern
(nochmal reingehen und angucken!)Ausführbar machen:
chmod +x shutdown.sh
testen (DP steht auf false)
Qnap sollte nach Aufruf des Scripts anbleiben
nach setzen des DP auf true und Aufruf des Scrips sollte Qnap runterfahrenNun eine Zeile (ganz unten) hinzufügen ([EINFG]:
(ACHTUNG, der übliche Weg mit crontab -e funktioniert, aber nur bis zum nä. reboot)vim /etc/config/crontab
* * * * * /bin/sh /share/homes/shutdown.sh > /dev/null 2>&1
Mit [ESC]:wq Speichern und schließen, Crontab Dienst neu starten
crontab /etc/config/crontab && /etc/init.d/crond.sh restart
Prüfen ob eingetragen:
crontab -l 0 12 * * * /mnt/ext/opt/LicenseCenter/bin/qlicense_tool local_check 0 0 * * * /usr/local/sbin/qsh nc.archive >/dev/null 2>&1 45 15 * * * /mnt/ext/opt/QcloudSSLCertificate/bin/ssl_agent_cli * * * * * /bin/sh /share/homes/shutdown.sh > /dev/null 2>&1
Soweit so gut, es funktioniert und übersteht einen reboot/neustart! Zum Schluss noch die Logik für Alexa:
Der DP Nas1starten triggert den WOL Skript, somit funktioniert „Alexa, schalte NAS ein“ UND „Alexa, schalte NAS aus“
createState("javascript.0.NAS1Starten", 0); // Generiert beim starten den Datenpunkt, wenn nicht vorhanden var wol = require('wake_on_lan'); // Lädt von ioBroker die das nötige Paket var myNAS1 = "00:08:9B:E6:7F:C0"; // MAC definieren // Ab hier automatisch on({id: "javascript.0.NAS1Starten", change: 'any'}, function (obj) { wol.wake(myNAS1); log("Script WOL - NAS 1 gestartet", "info"); } );