From 7df260430ec80733731747fbdc7dbabe4ec5435b Mon Sep 17 00:00:00 2001 From: zap <> Date: Tue, 28 Aug 2018 06:16:32 +0000 Subject: [PATCH] FULLY: New commands and bugfixes git-svn-id: https://svn.fhem.de/fhem/trunk@17221 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/89_FULLY.pm | 58 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index bfb731be4..dd34be838 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. + - change: 89_FULLY: Set start URL and bug fixes - bugfix: 49_SSCam: V7.0.1, enable/disable issue (forum.fhem.de/index.php/topic,45671.msg830869.html#msg830869) - change: 98_DOIFtools: add help labels in commandref for attr, set and get diff --git a/fhem/FHEM/89_FULLY.pm b/fhem/FHEM/89_FULLY.pm index a81173f14..3a642b6fc 100755 --- a/fhem/FHEM/89_FULLY.pm +++ b/fhem/FHEM/89_FULLY.pm @@ -1,6 +1,6 @@ ############################################################################## # -# 89_FULLY.pm 0.7 +# 89_FULLY.pm 0.8 # # $Id$ # @@ -24,6 +24,7 @@ sub FULLY_Shutdown ($); sub FULLY_Set ($@); sub FULLY_Get ($@); sub FULLY_Attr ($@); +sub FULLY_Detail ($@); sub FULLY_UpdateDeviceInfo ($); sub FULLY_Execute ($$$$); sub FULLY_ScreenOff ($); @@ -34,10 +35,24 @@ sub FULLY_Abort ($); sub FULLY_UpdateReadings ($$); sub FULLY_Ping ($$); -my $FULLY_VERSION = "0.7"; +my $FULLY_VERSION = "0.8"; my $FULLY_TIMEOUT = 4; my $FULLY_POLL_INTERVAL = 3600; +my $FULLY_FHEM_COMMAND = qq( +function SendRequest(FHEM_Address, Devicename, Command) { + var Port = "8085" + + var url = "http://" + FHEM_Address + ":" + Port + "/fhem?XHR=1&cmd." + Devicename + "=" + Command; + + var req = new XMLHttpRequest(); + req.open("GET", url); + req.send(null); + + req = null; +} +); + ################################################## # Initialize module ################################################## @@ -52,6 +67,7 @@ sub FULLY_Initialize ($) $hash->{GetFn} = "FULLY_Get"; $hash->{AttrFn} = "FULLY_Attr"; $hash->{ShutdownFn} = "FULLY_Shutdown"; + $hash->{FW_detailFn} = "FULLY_Detail"; $hash->{parseParams} = 1; $hash->{AttrList} = "pingBeforeCmd:0,1,2 pollInterval requestTimeout repeatCommand:0,1,2 " . @@ -77,10 +93,11 @@ sub FULLY_Define ($$) $hash->{host} = $$a[2]; $hash->{version} = $FULLY_VERSION; $hash->{onForTimer} = 'off'; +# $hash->{remoteAdmin} = 'Remote Admin'; $hash->{fully}{password} = $$a[3]; $hash->{fully}{schedule} = 0; - Log3 $name, 1, "FULLY: Opening device ".$hash->{host}; + Log3 $name, 1, "FULLY: Version $FULLY_VERSION Opening device ".$hash->{host}; my $result = FULLY_GetDeviceInfo ($name); if (!FULLY_UpdateReadings ($hash, $result)) { @@ -168,6 +185,29 @@ sub FULLY_Shutdown ($) return undef; } + +##################################### +# Enhance device detail view +##################################### + +sub FULLY_Detail ($@) +{ + my ($FW_wname, $name, $room, $pageHash) = @_; + my $hash = $defs{$name}; + + my $html = qq( + Device Administration + + + + +
+ ); + + return $html; +} ##################################### # Set commands @@ -180,7 +220,7 @@ sub FULLY_Set ($@) 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 screenOffTimer screenSaver:start,stop ". - "screenSaverTimer screenSaverURL speak unlock:noArg url"; + "screenSaverTimer screenSaverURL speak startURL unlock:noArg url"; my $response; # Fully commands without argument @@ -258,6 +298,12 @@ sub FULLY_Set ($@) $response = FULLY_Execute ($hash, "setStringSetting", { "key" => "screensaverURL", "value" => "$value" }, 1); } + elsif ($opt eq 'startURL') { + my $value = shift @$a; + return "Usage: set $name $opt {URL}" if (!defined ($value)); + $response = FULLY_Execute ($hash, "setStringSetting", + { "key" => "startURL", "value" => "$value" }, 1); + } elsif ($opt eq 'brightness') { my $value = shift @$a; return "Usage: set $name brightness 0-255" if (!defined ($value)); @@ -449,6 +495,7 @@ sub FULLY_ProcessDeviceInfo ($$) while ($result =~ /table-cell\">([^<]+)<\/td>([^<]+)text. If text contains blanks it must be enclosed in double quotes. The text can contain device readings in format [device:reading].
+
  • set <name> startURL <URL>
    + Show this URL when FULLY starts.
    +

  • set <name> url [<URL>]
    Navigate to URL. If no URL is specified navigate to start URL.