From b5cbac4d341bb710829ca4e31c7ee0621a0e621c Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Fri, 26 Dec 2014 16:11:36 +0000 Subject: [PATCH] 31_HUEDevice.pm: added lightify Classic A60 TW, try to handle *TW and *RGBW modelid automaticaly git-svn-id: https://svn.fhem.de/fhem/trunk@7326 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/31_HUEDevice.pm | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/fhem/FHEM/31_HUEDevice.pm b/fhem/FHEM/31_HUEDevice.pm index bef0fbdff..ed3999336 100644 --- a/fhem/FHEM/31_HUEDevice.pm +++ b/fhem/FHEM/31_HUEDevice.pm @@ -37,8 +37,9 @@ my %hueModels = ( LWB004 => {name => 'Hue Lux' ,type => 'Dimmable light' ,subType => 'dimmer',}, LWL001 => {name => 'LivingWhites Outlet' ,type => 'Dimmable plug-in unit' ,subType => 'dimmer',}, - 'PAR16 50 TW' => {name => 'Lightify PAR16 50 TW' ,type => 'Color Temperature Light' ,subType => 'ctdimmer',}, - 'Classic A60 RGBW' => {name => 'Lightify Classic A60 RGBW' ,type => 'Extended Color Light' ,subType => 'extcolordimmer',}, + 'PAR16 50 TW' => {name => 'Lightify PAR16 50 tunable white' ,type => 'Color Temperature Light' ,subType => 'ctdimmer',}, + 'Classic A60 TW' => {name => 'Lightify Classic A60 tunable white' ,type => 'Color Temperature Light' ,subType => 'ctdimmer',}, + 'Classic A60 RGBW' => {name => 'Lightify Classic A60 RGBW' ,type => 'Extended Color Light' ,subType => 'extcolordimmer',}, ); my %dim_values = ( @@ -786,19 +787,31 @@ HUEDevice_Parse($$) return undef; } - $hash->{modelid} = $result->{'modelid'}; - $hash->{swversion} = $result->{'swversion'}; + $hash->{modelid} = $result->{modelid}; + $hash->{swversion} = $result->{swversion}; - $attr{$name}{model} = $result->{'modelid'} unless( defined($attr{$name}{model}) || $result->{'modelid'} eq '' ); - $attr{$name}{subType} = $hueModels{$attr{$name}{model}}{subType} unless( defined($attr{$name}{subType}) - || !defined($attr{$name}{model}) - || !defined($hueModels{$attr{$name}{model}}{subType}) ); - if( defined($attr{$name}{subType}) && $attr{$name}{subType} eq "colordimmer" ) { - $attr{$name}{subType} = $hueModels{$attr{$name}{model}}{subType} unless( !defined($attr{$name}{model}) - || !defined($hueModels{$attr{$name}{model}}{subType}) ); + $attr{$name}{model} = $result->{modelid} if( !defined($attr{$name}{model}) && $result->{modelid} ); + + if( defined($attr{$name}{model}) ) { + if( !defined($attr{$name}{subType}) ) { + if( defined($hueModels{$attr{$name}{model}}{subType}) ) { + $attr{$name}{subType} = $hueModels{$attr{$name}{model}}{subType}; + + } elsif( $attr{$name}{model} =~ m/TW$/ ) { + $attr{$name}{subType} = 'ctdimmer'; + + } elsif( $attr{$name}{model} =~ m/RGBW$/ ) { + $attr{$name}{subType} = 'extcolordimmer'; + + } + + } elsif( $attr{$name}{subType} eq "colordimmer" ) { + $attr{$name}{subType} = $hueModels{$attr{$name}{model}}{subType} if( defined($hueModels{$attr{$name}{model}}{subType}) ); + } } + $attr{$name}{devStateIcon} = '{(HUEDevice_devStateIcon($name),"toggle")}' if( !defined( $attr{$name}{devStateIcon} ) ); if( !defined($attr{$name}{webCmd}) && defined($attr{$name}{subType}) ) {