From 24b62fba9ee5c12ee6ef95f2f549f73230e80230 Mon Sep 17 00:00:00 2001 From: justme1968 Date: Sat, 9 Mar 2013 13:33:37 +0000 Subject: [PATCH] allow multiple parameters in one set, used in LightScene will be optimized that only one command ist send to the bridge git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@2882 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/31_HUEDevice.pm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/31_HUEDevice.pm b/fhem/FHEM/31_HUEDevice.pm index 0272b79c2..1eb03840e 100644 --- a/fhem/FHEM/31_HUEDevice.pm +++ b/fhem/FHEM/31_HUEDevice.pm @@ -117,7 +117,17 @@ sub HUEDevice_Undefine($$) sub HUEDevice_Set($@) { - my ($hash, $name, $cmd, $value, $value2, @a) = @_; + my ($hash, $name, @aa) = @_; + + if( (my $joined = join(" ", @aa)) =~ /:/ ) { + my @cmds = split(":", $joined); + for( my $i = 0; $i <= $#cmds; ++$i ) { + HUEDevice_Set( $hash, $name, split(" ", $cmds[$i]) ); + } + return; + } + + my ($cmd, $value, $value2, @a) = @aa; if( $cmd eq "color" ) { $value = int(100000/$value); @@ -145,7 +155,7 @@ HUEDevice_Set($@) my $obj = { 'on' => JSON::true, }; - $obj->{bri} =254 if( ReadingsVal($name,"bri","0") eq 0 ); + $obj->{bri} = 254 if( ReadingsVal($name,"bri","0") eq 0 ); if( defined($value) ) { $obj->{transitiontime} = $value / 10; }