SleepOnLan
Analog zu WakeOnLan ist es manchmal auch sinnvoll, eine SleepOnLan Aktion anzustoßen, also einen Rechner auszuschalten oder in den Ruhezustand zu schicken. Dazu gibt es mehrere Möglichkeiten.
Windows
SleepOnLan Freeware
SleepOnLan ist ein kleines Tool, welches auf einen Seitenaufruf wartet. Dabei kann man verschiedene Sleep-Modi auswählen, ebenso wie Neustarts etc.
Das elegante ist, dass letztlich ein einfacher wget Aufruf ausreicht. Diesen könnte z.B. das WOL Modul von Fhem aus generieren.
Attribut
shutdownCmd "wget http://192.168.5.21:7760/suspend"
Das ist alles.
EventGhost
Mit EventGhost läßt sich dieser Mechanismus ebenfalls umsetzen.
Im Eventghost muss erst das Webserver Plugin aktiviert werden. Im Plugin wird dann ein Port festgelegt und das Datenverzeichnis in welchem eine index.html plaziert wird. Anschließend erstellt man ein Makro mit dem Befehl System->Energieoptionen->Ruhezustand und dem Ereignis HTTP.<befehl>
Beispiel bei dem Schalter "PC" über den GetHttpFile-Link den Sleep-Zustand auslöst:
([PC:"hibernate"]) ({GetHttpFile("192.168.178.96", ":82/index.html?hibernate")})
Quelle: Thema
Telnet
Windows bringt einen Telnet Server mit, der jedoch erst aktiviert werden muss. Dann am Windows Rechner anmelden und etwas in der Art lostreten:
shutdown -s -t 60 -c "Shutdown wurde ausgelöst"
Linux
Noch nicht selber getestet
Hier ist es etwas komplexer. Prinzipiell kann man sich prima per SSH einloggen und dort das shutdown Kommando absetzen. Leider (oder besser: glücklicherweise) verweigert SSH jeden Versuch, die Anmeldedaten bei der (möglicherweise ungesichteren) Verbindung mit anzugeben. Sowas wie :ssh <name>:<passwort>@<IP-Adresse>
fällt also aus.
Stattdessen führt der Weg letztlich über einen Schlüssel. Selbiger identifiziert den User auf dem Fhem Rechner gegenüber dem gewünschten User auf dem remote-Rechner. Lösung hier im Forum.
Dann führt ein :ssh user@ip sudo shutdown -h now
zum Ziel