diff --git a/FHEM/98_WOL.pm b/FHEM/98_WOL.pm index bc44dbe16..5eee14212 100644 --- a/FHEM/98_WOL.pm +++ b/FHEM/98_WOL.pm @@ -15,7 +15,7 @@ WOL_Initialize($) $hash->{SetFn} = "WOL_Set"; $hash->{DefFn} = "WOL_Define"; $hash->{UndefFn} = "WOL_Undef"; - $hash->{AttrList} = "loglevel:0,1,2,3,4,5,6"; + $hash->{AttrList} = "shutdownCmd loglevel:0,1,2,3,4,5,6"; } ################################### @@ -50,6 +50,14 @@ WOL_Set($@) } elsif ($v eq "refresh") { WOL_GetUpdate($hash); + } elsif ($v eq "off") { + my $cmd = AttrVal($name, "shutdownCmd", ""); + if ($cmd eq "") + { + Log $logLevel, "No shutdown command given!"; + return "no shutdown command given (see shutdownCmd attribute)!" + } + `$cmd`; } else { return "unknown argument $v, choose one of refresh, on"; @@ -156,7 +164,7 @@ sub wol_by_udp {
define <name> WOL <MAC> <IP>
<unitcode>
@@ -176,7 +184,7 @@ sub wol_by_udp {
set <name> <value>
set computer1 refreshattr <name> shutdownCmd <string>
+ sh /path/to/some/shell/script.sh