From 1e80aa7b5af65414e7946cd573a9b763e1e98aa2 Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Thu, 27 Nov 2014 10:47:22 +0000 Subject: [PATCH] Color.pm: use the command/reading name as the name of the longpoll trigger event if a reading with this name exists git-svn-id: https://svn.fhem.de/fhem/trunk@7069 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/Color.pm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/fhem/FHEM/Color.pm b/fhem/FHEM/Color.pm index d5345729c..471b0f933 100644 --- a/fhem/FHEM/Color.pm +++ b/fhem/FHEM/Color.pm @@ -29,12 +29,19 @@ FHEM_colorpickerFn($$$) my @args = split("[ \t]+", $cmd); return undef if($values !~ m/^colorpicker,(.*)$/); + my ($mode) = ($1); $mode = "RGB" if( !defined($mode) ); - my $srf = $FW_room ? "&room=$FW_room" : ""; - my $cv = ReadingsVal($d,$cmd,""); - $cv = CommandGet("","$d $cmd") if( !$cv ); + + my $trigger = $cmd; #default trigger is event from reading with the same name as the command + my $cv = ReadingsVal($d,$cmd,""); #get default value from this reading + if( !$cv ) { #if this reading does not exist -> + $trigger = "RGB"; # trigger name will be RGB + $cv = CommandGet("","$d $cmd"); # get default value from get command + } + $cmd = "" if($cmd eq "state"); + my $srf = $FW_room ? "&room=$FW_room" : ""; if( $args[1] ) { my $c = "cmd=set $d $cmd$srf"; @@ -54,12 +61,12 @@ FHEM_colorpickerFn($$$) my $ci = $c; $ci = "$FW_ME?XHR=1&cmd=set $d $cmd % : transitiontime 0 : noUpdate$srf" if($defs{$d}->{TYPE} eq "HUEDevice"); return ''. - "". + "". ''; } else { my $c = "$FW_ME?XHR=1&cmd=set $d $cmd %$srf"; return ''. - "". + "". ''; } }