SleepOnLan: Unterschied zwischen den Versionen

Aus FHEMWiki
(Mithilfe erwünscht :))
 
(FHEM(R))
 
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Sleep on LAN=
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.
Analog zu WakeOnLan ist es manchmal auch sinnvoll, einen Rechner auszuschalten oder in den Ruhezustand zu schicken. Dazu gibt es mehrere Möglichkeiten.


==Windows==
==Windows==
Zeile 6: Zeile 5:
[http://www.ireksoftware.com/SleepOnLan/ SleepOnLan] ist ein kleines Tool, welches auf einen Seitenaufruf wartet. Dabei kann man verschiedene Sleep-Modi auswählen, ebenso wie Neustarts etc.
[http://www.ireksoftware.com/SleepOnLan/ 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.
Das elegante ist, dass letztlich ein einfacher wget Aufruf ausreicht. Diesen könnte z.B. das WOL Modul von FHEM aus generieren.


Attribut
Attribut
Zeile 16: Zeile 15:
Mit [http://www.eventghost.org EventGhost] läßt sich dieser Mechanismus ebenfalls umsetzen.
Mit [http://www.eventghost.org EventGhost] läßt sich dieser Mechanismus ebenfalls umsetzen.


?Hat wer ein Codebeispiel?
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:
<code><nowiki>([PC:"hibernate"]) ({GetHttpFile("192.168.178.96", ":82/index.html?hibernate")})</nowiki></code>
Quelle: {{Link2Forum|Topic=58810}}


===Telnet===
===Telnet===
Zeile 25: Zeile 30:
  shutdown -s -t 60 -c "Shutdown wurde ausgelöst"
  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 :<code><nowiki>ssh <name>:<passwort>@<IP-Adresse> </nowiki></code> 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.
{{Link2Forum|Topic=34257|Message=268535|LinkText=Lösung}} hier im Forum.


Dann führt ein :<code><nowiki>ssh user@ip sudo shutdown -h now </nowiki></code>zum Ziel


[[Kategorie:Code Snippets]]
[[Kategorie:Code Snippets]]

Aktuelle Version vom 26. Januar 2017, 23:38 Uhr

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