zurück zur Startseite

zurück zur Übersicht der Heimautomatisierung

25. Die Steuerung des Servers (Stand 13.11.2018)

Normalerweise soll ein Server ja rund um die Uhr laufen. Aber mein Musikserver eben nur, wenn ich Musik hören möchte oder zu Wartungsaufgaben, ansonsten soll er ausgeschaltet sein. 15 Watt rund um die Uhr summieren sich ja auch.

Meine Synology DS115 beherrscht WOL (wake on lan), sofern man es entsprechend aktiviert. Auch meine ältere DS410 kann das. Damit der Raspberry den Server aufwecken kann muss man ein kleines Progrämmchen installieren:

apt-get install etherwake

Danach kann man den Server mit

sudo etherwake 00:11:22:33:44:55

einschalten. Das Ausschalten erfolgt mit

ssh root@192.168.178.123 poweroff

Die MAC-- und IP-Adresse bekomme ich von meiner Fritzbox. Nun hat man zwar eine Lösung – aber wie soll FHEM die beiden Zeilenkommandos absetzen? Dankenswerterweise haben die Entwickler von FHEM daran gedacht, dass FHEM ein Systemkommando absetzen kann. Das sieht dann in einem Notify in etwa so aus:

MusicPlay:on {
  system('sudo etherwake 00:11:22:33:44:55')
}

bzw.
MusicPlay:off {
  system('ssh root@192.168.178.32 poweroff')
}

Leider funktioniert das so noch nicht! FHEM hat standardmäßig nicht die erforderlichen Rechte für diese beiden Befehle. Hier hilft nur die Datei /etc/sudoers geeignet zu ergänzen, wobei hier größte Vorsicht geboten ist. Ich empfehle jedem, sich vorab ausgiebig zu informieren, was dabei alles passieren kann. Ich weiß, wovon ich spreche, denn ich habe 2x das gesamte System komplett neu aufgesetzt. Das Editieren erfolgt mit dem Befehl

sudo visudo

Nachfolgend zeige ich den Inhalt, wie ich ihn von der Standardinstallation vorgefunden habe ergänzt um meine beiden zusätzlichen Zeilen (fett hervor gehoben) – Achtung am Ende ist noch eine Leerzeile, die hier natürlich nicht sichtbar ist.

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults   env_reset
Defaults   mail_badpass
Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias WASFHEMDARF = /sbin/reboot, /usr/sbin/etherwake 00\:11\:22\:33\:44\:55

# User privilege specification
root   ALL=(ALL:ALL) ALL<

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include"directives:

#includedir /etc/sudoers.d

fhem ALL=(ALL) NOPASSWD: WASFHEMDARF

weiter zu: 26. Die Wohnküche, Teil "Wohnen"