Howto: QNAP via FHEM WOL & Ruhemodus

Bild: QNAP.com

Einen WOL (Wake on LAN) Befehl an ein Gerät wie z.B. ein NAS zu schicken, um es starten zu lassen, stellt normalerweise kein großes Problem dar. Doch das NAS dann wieder in den Ruhemodus zu versetzen, das war für mich eine kleine Herausforderung. Mittels FHEM konnte ich das allerdings bewerkstelligen. Im nachfolgenden Blogpost möchte ich kurz erklären, wie es auch bei dir zu Hause funktioniert. Die Anleitung bezieht sich auf eine funktionierende FHEM-Installation (hier erklärt) auf einem Raspberry Pi. Das von mir verwendete NAS-Modell lautet: TVS-463.

Vorschau
QNAP TS-128A Desktop NAS Gehäuse mit 1 GB DDR4, Powerful...
Anzahl möglicher Festplatten
1
Prime-Vorteil
Bewertungen
Preis
119,90 €
Weitere Infos
Vorschau
QNAP TS-251+-2G Desktop NAS Gehäuse mit 2 GB DDR3L RAM,...
Anzahl möglicher Festplatten
2
Prime-Vorteil
Bewertungen
Preis
ab 416,09 €
Weitere Infos
Vorschau
QNAP TVS-463-4G 4 Bay Desktop NAS Gehäuse mit 4GB RAM
Anzahl möglicher Festplatten
4
Prime-Vorteil
Bewertungen
Preis
729,55 €
Weitere Infos

Letzte Aktualisierung am 4.10.2019 um 21:32 Uhr | Werbung | Bilder: Amazon Product Advertising API

Dem User “fhem” einen passwortlosen Login ermöglichen

Auf dem QNAP einen Public Key erzeugen. Dazu per ssh und dem Admin-Account auf dem NAS einloggen. Die Login-Daten sind hier natürlich an die Eigenen anzupassen.

ssh-keygen -t rsa –C admin@IP-QNAP

Anschließend mit dem User “pi” auf dem Raspberry einloggen. Das Standardpasswort lautet, sofern nicht geändert, “raspberry“.

login pi

Mittels nachfolgendem Befehl wird der User “fhem” für einen passwortlosen Login eingestellt.

sudo nano /etc/passwd

Hier muss nun “fhem:x:999:20::/opt/fhem:/bin/false” auf “fhem:x:999:20::/opt/fhem:/bin/bash” geändert und gespeichert werden.

Es muss für den User “fhem” nun noch ein Passwort vergeben werden.

sudo passwd fhem

Jetzt wird sich mit dem User fhem eingeloggt und ein RSA Key erzeugt.

login fhem
ssh-keygen -t rsa -C fhem@IP-Raspberry

Nun ab damit auf das QNAP.

ssh-copy-id -i ~/.ssh/id_rsa.pub admin@IP-QNAP

Der Login für den User “fhem” sollte nun wieder deaktiviert werden, da dieser nun ohne Passwort klappen sollte. Also wieder zurück in: “fhem:x:999:20::/opt/fhem:/bin/false”

sudo nano /etc/passwd

Bevor es zum nächsten Schritt geht, muss sich nun einmalig als User “fhem” auf dem QNAP angemeldet und der Key bestätigt werden.

ssh admin@IP-QNAP

Bash-Skript

Es wird nun ein Bash-Skript erzeugt, das später bei dem shutdown Befehl via FHEM ausgeführt wird. Dieses Skript muss auf dem Raspberry in den Ordner “/opt/fhem/FHEM/” hinein und heißt “qnap.sh”. Der Skriptinhalt ist der folgende:

#!/bin/bash
ssh admin@10.0.0.10 '/bin/echo mem > /sys/power/state 2>/dev/null &'
DATE=$(date +%Y.%m.%d)
TIME=$(date +%T)
echo $DATE $TIME "3: QNAP TVS-463 in den Ruhemodus versetzen"
exit 0

WOL-Modul in FHEM anlegen

Um gleich den QNAP via FHEM ein- und ausschalten zu können, müssen in die “fhem.cfg” noch folgende Zeile eingetragen werden. Folgende Anpassungen sind hier nötig: Die MAC-Adresse des QNAP, sowie die IP-Adresse.

define QNAP WOL 01:XX:XX:XX:02 10.0.0.10 BOTH
attr QNAP event-on-change-reading state
attr QNAP genericDeviceType switch
attr QNAP interval 60
attr QNAP room Buro

Durch “attr QNAP interval” wird alle 60 Sekunden geprüft, ob das QNAP online bzw. eingeschaltet ist.

Letzter Schritt

In FHEM muss nun oben in die obere Zeile noch der nachfolgende Befehl abgesetzt werden.

attr shutdownCmd { qx("/opt/fhem/FHEM/qnap.sh") }

 

Es sollte nun möglich sein in FHEM per WOL-Modul das QNAP einzuschalten, sowie in den Ruhemodus zu versetzen.

Meine Meinung:

Die Anleitung ist zwar recht knapp gehalten, benötigt meiner Meinung nach aber alles Nötige um Erfolg zu haben. Sollte es noch irgendwo hapern, bitte einfach kurz einen Kommentar hinterlassen. Bis dahin: Fröhliches ein- und ausschalten.

Wie hilfreich war dieser Beitrag?

Klicke auf einen Stern um eine Bewertung abzugeben!

Durchschnittsbewertung / 5. Bewertungen:

Es tut uns leid, dass dieser Beitrag für dich nicht hilfreich war!

Lassen Sie uns diesen Beitrag verbessern!

8 Gedanken zu “Howto: QNAP via FHEM WOL & Ruhemodus”

8 Kommentare

  1. Hallo,

    was ist denn mit der Zeile..

    “Nun ab damit auf das QNAP.”

    ..gemeint?

    Gruß Chris

    • Hallo Chris,

      mit dem Befehl wird der erstellte RSA-Key auf das Qnap kopiert.

      Viele Grüße
      Michael

  2. Oh, eine Frage noch:

    Beim anlegen des WOL-Modul hat die geXte MAC-Adresse nur vier Stellen, obwohl es sechs sein müssten. Gehört 01: zur MAC-Adresse dazu?

    Gruß Chris

    • Oh, ja das ist vielleicht etwas falsch zu verstehen.
      Natürlich musst du die 6-stellige MAC-Adresse benutzen. Diese sind grundsätzlich 6-stellig, die 01 war kam nur von dem Beispiel und musst nicht am Anfang mit dabei stehen.

      Viele Grüße
      Michael

  3. Hallo,

    leider quittiert mein Qnap “ssh-keygen -t rsa –C admin@IP-QNAP” mit Folgendem:

    Too many arguments.
    usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa]
    [-N new_passphrase] [-C comment] [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
    ssh-keygen -i [-m key_format] [-f input_keyfile]
    ssh-keygen -e [-m key_format] [-f input_keyfile]
    ssh-keygen -y [-f input_keyfile]
    ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
    ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
    ssh-keygen -B [-f input_keyfile]
    ssh-keygen -D pkcs11
    ssh-keygen -F hostname [-f known_hosts_file] [-l]
    ssh-keygen -H [-f known_hosts_file]
    ssh-keygen -R hostname [-f known_hosts_file]
    ssh-keygen -r hostname [-f input_keyfile] [-g]
    ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
    ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]
    [-j start_line] [-K checkpt] [-W generator]
    ssh-keygen -s ca_key -I certificate_identity [-h] [-U]
    [-D pkcs11_provider] [-n principals] [-O option]
    [-V validity_interval] [-z serial_number] file …
    ssh-keygen -L [-f input_keyfile]
    ssh-keygen -A
    ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
    file …
    ssh-keygen -Q -f krl_file file …

    “IP-QNAP” habe ich natürlich durch die IP-Adresse meines Qnaps ersetzt.

    Schade.

    Gruß Chris

    • Du darft nicht copy und paste machen gib es einfach per Hand ein.
      Gruß Alex

  4. Hi Chris,

    ich werde es die Tage auch nochmal bei mir testen. Ist allerdings schon sehr fraglich, wieso er bei dir sagt “too many arguments”.
    Ich gehe davon aus, dass dein Hauptnutzer auf dem QNAP den Benutzernamen “admin” hat?

    Viele Grüße
    Michael

Schreibe einen Kommentar

Do NOT follow this link or you will be banned from the site!
WhatsApp Schicke uns eine WhatsApp!