Zur Verdeutlichung: Das Folgende ist nicht auf meinem Mist gewachsen! Ich habe es lediglich zusammengetragen und (hoffentlich einigermaßen verständlich) runtergeschrieben.
Wie im Betreff zu lesen ist, ist diese Anleitung nicht mit DSM 6.x kompatibel. Diese Inkompatibilität bezieht sich nur auf den Shutdown-Teil. Seit dem Update auf DSM 6.x funktioniert das in dieser Anleitung verwendete Script nicht mehr. Bislang haben schon einige pfiffige Köpfe versucht es wieder zum Laufen zu bringen... leider ohne Erfolg. Der WOL Teil der Anleitung ist davon nicht betroffen und funktioniert unter jeder DSM Version, da hierbei lediglich ein Magic Packet versendet wird, das die Synology weckt.
Wer also nocht nicht mit DSM 6.x unterwegs ist und via Homematic einen Shutdown der Synology veranlassen möchte, benötigt einen SSH Client. Hierzu bietet sich Putty (Link zu Putty Portable) an.
Das folgende HowTo läuft bei mir unter folgendem Setup:
- CCU 2 Version: 2.29.18
- CuxD Version. 1.10a
- DSM Version: 5.2-5644 Update 1
Zur WOL Einrichtung:
1.) Wenn noch nie ein EXEC Gerät via CuxD erstellt worden ist, dann weiter mit Schritt 2.) Wenn bereits ein EXEC Gerät mit der ID 2801001:1 vorhanden ist, dann weiter mit Schritt 3(Link zum CuxD Addon --> https://www.homematic-inside.de/softwar ... gory_id=17). Ob ein Gerät mit der zuvor genannten ID vorhanden ist, kann erkannt werden, indem man in CuxD auf "Geräte" klickt und auf der rechten Seite unter "Akuteller Status" kontrolliert, ob diese ID bereits vorhanden ist.
2.) In CuxD ein neues Gerät erstellen
Gerätetyp: 28 System
Funktion: Exec
Seriennummer: 1
Name: leer lassen
Geräte Icon: Fernbedienung 12 Tasten
3.) In CuxD ein neues Gerät erstellen
Gerätetyp: 28 System
Funktion: Exec
Name: Nach Wunsch
Geräte Icon: Nach Wunsch
4.) In der CCU im Geräte-Posteingang das neue Gerät nach Wunsch einrichten (Name, etc.) und bestätigen (als Name bietet sich an Synology-WOL) - Sofern auch Schritt 2.) der Anleitung durchgeführt worden ist... Das Gerät, das hierdurch entstanden ist, darf nicht weiter angepasst werden!
5.) Der ersten Taste des neuen Geräts folgendes Zuweisen (xx:xx:xx:xx:xx:xx durch die MAC Adresse der Synology ersetzen)
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/usr/local/addons/WOL/ether-wake xx:xx:xx:xx:xx:xx");
Es reicht den Befehl bei ...SHORT einzutragen. Damit man später keinen Fehler bei der Auswahl machen kann, habe ich sowohl auf SHORT als auch auf LONG zugewiesen.
6.) Das Gerät testen, ob ein drücken der Taste die Synology aufweckt
Zur Shutdown Einrichtung:
1.) folgendes in die Zwischenablage kopieren:
Code: Alles auswählen
#!/bin/sh
# syno-script
# Version 0.1
# https://github.com/Skyb0rg/syno-script
# First running code
header="Content-type: text/html\n\n<html><head><title>Syno-Script</title></head><body>"
footer="</body></html>"
case $1 in
"processlist")
echo -e $header'<pre>'
ps
echo -e '</pre>'$footer
;;
"test2")
;;
"synodown")
echo -e $header
poweroff
echo -e $footer
;;
*)
echo -e $header
echo -e '<b>unknown command '$1' <br>\n you may use one of the following:</b>\n<br>'
echo -e 'Commands:\n<br>'
echo -e 'processlist - list all processes on the Diskstation\n<br>'
echo -e 'synodown - shuts the Diskstation down\n<br>'
echo -e $footer
;;
esac
user: root
passwort: synopass
3.) folgende Befehle in Putty absetzen:
mkdir /usr/syno/synoman/webman/3rdparty/Syno-Script
cd /usr/syno/synoman/webman/3rdparty/Syno-Script
cat >syno-script
4.) In Putty einen Rechtsklick ausführen (das bewirkt das Einfügen aus der Zwischenablage (Die Daten die unter Schritt 1.) in die Zwischenablage kopiert worden sind))
5.) In Putty Strg und D Drücken
6.) folgenden Befehl in Putty eingeben: mv syno-script syno-script.cgi
7.) folgenden Befehl in Putty eingeben: chmod oug+x syno-script.cgi
8.) zum Testen im Browser folgende URL aufrufen (<yourDS> durch die IP der Synology ersetzen): http://<yourDS>:5000/webman/3rdparty/Syno-Script/syno-script.cgi?synodown Dieser Aufruf sollte (wenn alles korrekt ausgeführt worden ist) die Synology herunterfahren.
9.) Der zweiten Taste des Geräts von "Zur WOL Einrichtung" einen Namen geben (es bietet sich an den Namen Synology-Shutdown zu verwenden)
10.) Der zweiten Tasten folgenden Befehl zuweisen (daran denken <yourDS> durch die IP der Synology zu ersetzen):
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/usr/local/addons/cuxd/extra/curl -s -k http://<yourDS>:5000/webman/3rdparty/Syno-Script/syno-script.cgi?synodown");
Der Abschluss:
Die beiden Knöpfe können nun in Programmen verwendet werden. Es empfiehlt sich für den WOL Knopf noch eine Variable zu erstellen, die Programmgesteuert gesetzt wird (Wenn WOL gedrückt wird, dann Variable auf 1. Verzögert um 5 Minuten wieder auf 0). In einem Programm, dass nun den Shutdownknopf drückt wird auf die WOL Variable geprüft. Nur wenn die Variable auf 0 steht, wird das sofort Programm ausgeführt. Steht die Variable auf 1, wird das Programm um 5 Minuten verzögert ausgeführt.
Hintergrund hierfür ist, dass man die Synology nicht direkt nach dem Aufwecken (versehentlich oder absichtlich) mit dem Shutdown Befehl anspricht. Das könnte dazu führen, dass ggf. der Shutdown Befehl nicht verarbeitet wird. Über diesen Weg kann man sich sicher sein, dass die Synology zuverlässig herunter fährt.