Qnap NAS Ruhemodus/herunterfahren

Aus FHEMWiki
Version vom 5. November 2016, 13:47 Uhr von Suelle (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Mit dieser Anleitung ist es möglich sein NAS über FHEM in den Ruhemodus zu versetzen. Dies ist ggf. sinnvoll, wenn man es nur bei Anwesenheit nutzt. Der Stro…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Mit dieser Anleitung ist es möglich sein NAS über FHEM in den Ruhemodus zu versetzen. Dies ist ggf. sinnvoll, wenn man es nur bei Anwesenheit nutzt. Der Stromverbrauch lässt sich dadruch deutlich senken. Per WoL kann es bei Bedarf wieder gestartet werden.
Dieser Artikel basiert auf einem Beitrag im Forum und lässt sich sicherlich auch für andere NAS nutzen/anpassen.

Idee

Das NAS kann nur über die Oberfläche oder eine Terminalsession auf dem NAS selbst in den Ruhemodus versetzt werden. Mittels einer SSH Verbindung vom FHEM Host zum NAS ist dies möglich. Da man das Administrationskennwort des NAS nicht im klartext hinterlegen möchte, soll stattdessen ein SSH Key verwendet werden.

Voraussetzungen

Der User FHEM muss sich anmelden dürfen. Hierfür muss ggf. die Datei /etc/passwd angepasst werden:

sudo nano /etc/passwd

Dort muss der Eintrag [fhem:x:999:20::/opt/fhem:/bin/false] in [fhem:x:999:20::/opt/fhem:/bin/bash] geändert werden.
WICHTIG: Dies sollte nach der vollständigen Einrichtung wieder rückgängig gemacht werden!

Auf dem FHEM Host muss ggf. ssh installiert werden:

sudo apt-get install sshpass

SSH Key für User FHEM anlegen

Hierfür sind die Schritte unter

su - root su - fhem


Script in FHEM anlegen

Anlage der Datei über Terminal (putty o.ä.). Der erste Befehl erzeugt eine leere Datei, die anschließend dem User fhem zugeordnet wird und zum Schluss ausführbar gemacht wird.

sudo touch /opt/fhem/FHEM/shutdownNAS.sh && sudo chown -R fhem /opt/fhem/ && sudo chmod +x /opt/fhem/FHEM/shutdownNAS.sh

Nun muss der Code des Scripts eingefügt werden. Dies kann entweder über die FHEM Oberfläche (Edit files) oder das Terminal erfolgen. Für letzteres lautet der Befehl:

sudo nano /opt/fhem/FHEM/shutdownNAS.sh

Folgender Code muss eingefügt werden (die IP Adresse des eigenen NAS ist anzupassen):

#!/bin/bash
# SH_shutdownNAS.sh

DATE=$(date +%Y.%m.%d)
TIME=$(date +%T)
echo $DATE $TIME "3: NAS in den Ruhemodus versetzen"

ssh admin@192.168.xxx.xxx "echo mem > /sys/power/state"
exit 0

Script ausführen

Es gilt zu beachten, dass FHEM als return eines solchen Scripts immer -1 ausgibt.
Ebenso sollte bedacht werden, dass das Script nicht vollständig durchlaufen werden kann, da die Verbindung zum NAS verloren geht. Deshalb erfolgt der Aufruf des Scripts am Ende mit &.
Das Script kann über die FHEM Oberfläche

{system('/opt/fhem/FHEM/SH_shutdownNAS.sh&')}

oder in einer 99_myUtils.pm

system('/opt/fhem/FHEM/SH_shutdownNAS.sh&');

ausgeführt werden.

Links