From 1a285be368dfe568c0b1d43b3e850ebe7456b6c1 Mon Sep 17 00:00:00 2001 From: zap <> Date: Tue, 12 Jun 2018 06:54:17 +0000 Subject: [PATCH] FULLY: Added screen saver commands git-svn-id: https://svn.fhem.de/fhem/trunk@16854 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/89_FULLY.pm | 50 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index d78001124..bf110905d 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - feature: 89_FULLY: Added screen saver commands. - feature: 49_SSCam: V5.0.0, HLS Streaming implemented, new Streamingdevice based on module 49_SSCamSTRM, some improvements & fixes - feature: 98_Text2Speech: added Duch language for Google TTS diff --git a/fhem/FHEM/89_FULLY.pm b/fhem/FHEM/89_FULLY.pm index 55d8835e4..a81173f14 100755 --- a/fhem/FHEM/89_FULLY.pm +++ b/fhem/FHEM/89_FULLY.pm @@ -1,6 +1,6 @@ ############################################################################## # -# 89_FULLY.pm 0.6 +# 89_FULLY.pm 0.7 # # $Id$ # @@ -34,7 +34,7 @@ sub FULLY_Abort ($); sub FULLY_UpdateReadings ($$); sub FULLY_Ping ($$); -my $FULLY_VERSION = "0.6"; +my $FULLY_VERSION = "0.7"; my $FULLY_TIMEOUT = 4; my $FULLY_POLL_INTERVAL = 3600; @@ -179,7 +179,8 @@ sub FULLY_Set ($@) my $name = shift @$a; my $opt = shift @$a; my $options = "brightness clearCache:noArg exit:noArg lock:noArg motionDetection:on,off ". - "off:noArg on:noArg on-for-timer restart:noArg unlock:noArg speak url"; + "off:noArg on:noArg on-for-timer restart:noArg screenOffTimer screenSaver:start,stop ". + "screenSaverTimer screenSaverURL speak unlock:noArg url"; my $response; # Fully commands without argument @@ -226,6 +227,37 @@ sub FULLY_Set ($@) RemoveInternalTimer ($hash, "FULLY_ScreenOff") if ($par eq 'off' || $par eq 'forever'); $hash->{onForTimer} = $par if (defined ($response) && $response ne ''); } + elsif ($opt eq 'screenOffTimer') { + my $value = shift @$a; + return "Usage: set $name $opt {seconds}" if (!defined ($value)); + $response = FULLY_Execute ($hash, "setStringSetting", + { "key" => "timeToScreenOffV2", "value" => "$value" }, 1); + } + elsif ($opt eq 'screenSaver') { + my $state = shift @$a; + return "Usage: set $name $opt { start | stop }" if (!defined ($state)); + if ($state eq 'start') { + $response = FULLY_Execute ($hash, "startScreensaver", undef, 1); + } + elsif ($state eq 'stop') { + $response = FULLY_Execute ($hash, "stopScreensaver", undef, 1); + } + else { + return "Usage: set $name $opt { start | stop }"; + } + } + elsif ($opt eq 'screenSaverTimer') { + my $value = shift @$a; + return "Usage: set $name $opt {seconds}" if (!defined ($value)); + $response = FULLY_Execute ($hash, "setStringSetting", + { "key" => "timeToScreensaverV2", "value" => "$value" }, 1); + } + elsif ($opt eq 'screenSaverURL') { + my $value = shift @$a; + return "Usage: set $name $opt {URL}" if (!defined ($value)); + $response = FULLY_Execute ($hash, "setStringSetting", + { "key" => "screensaverURL", "value" => "$value" }, 1); + } elsif ($opt eq 'brightness') { my $value = shift @$a; return "Usage: set $name brightness 0-255" if (!defined ($value)); @@ -620,6 +652,18 @@ sub FULLY_Ping ($$)