added disable to bridge

git-svn-id: https://svn.fhem.de/fhem/trunk@4958 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
justme1968
2014-02-16 23:12:03 +00:00
parent 76d29588fa
commit aaeb103623
2 changed files with 15 additions and 9 deletions

View File

@@ -31,7 +31,7 @@ sub HUEBridge_Initialize($)
$hash->{SetFn} = "HUEBridge_Set";
$hash->{GetFn} = "HUEBridge_Get";
$hash->{UndefFn} = "HUEBridge_Undefine";
$hash->{AttrList}= "key";
$hash->{AttrList}= "key disable:1";
}
sub
@@ -92,7 +92,7 @@ HUEBridge_Define($$)
}
if( $init_done ) {
HUEBridge_OpenDev( $hash );
HUEBridge_OpenDev( $hash ) if( !AttrVal($name, "disable", 0) );
}
return undef;
@@ -107,7 +107,7 @@ HUEBridge_Notify($$)
return if($dev->{NAME} ne "global");
return if(!grep(m/^INITIALIZED|REREADCFG$/, @{$dev->{CHANGED}}));
return if($attr{$name} && $attr{$name}{disable});
return undef if( AttrVal($name, "disable", 0) );
HUEBridge_OpenDev($hash);
@@ -390,6 +390,9 @@ sub HUEBridge_HTTP_Call($$$)
my ($hash,$path,$obj) = @_;
my $name = $hash->{NAME};
return undef if($attr{$name} && $attr{$name}{disable});
#return { state => {reachable => 0 } } if($attr{$name} && $attr{$name}{disable});
my $uri = "http://" . $hash->{Host} . "/api";
my $method = 'GET';
if( defined($obj) ) {

View File

@@ -613,9 +613,11 @@ HUEDevice_GetUpdate($)
my $result = HUEDevice_ReadFromServer($hash,$hash->{ID});
if( !defined($result) ) {
$hash->{helper}{reachable} = 0;
$hash->{STATE} = "unknown";
return;
} elsif( $result->{'error'} ) {
$hash->{helper}{reachable} = 0;
$hash->{STATE} = $result->{'error'}->{'description'};
return;
}
@@ -690,7 +692,7 @@ HUEDevice_GetUpdate($)
{
$s = 'off';
$percent = 0;
if( $on != $hash->{helper}{on} ) {readingsBulkUpdate($hash,"onoff",0);}
if( $on && $on != $hash->{helper}{on} ) {readingsBulkUpdate($hash,"onoff",0);}
}
if( $percent != $hash->{helper}{percent} ) {readingsBulkUpdate($hash,"level", $percent . ' %');}
@@ -698,11 +700,6 @@ HUEDevice_GetUpdate($)
$s = 'off' if( !$reachable );
if( $s ne $hash->{STATE} ) {readingsBulkUpdate($hash,"state",$s);}
readingsEndUpdate($hash,defined($hash->{LOCAL} ? 0 : 1));
CommandTrigger( "", "$name RGB: ".CommandGet("","$name rgb") );
$hash->{helper}{on} = $on;
$hash->{helper}{reachable} = $reachable;
$hash->{helper}{colormode} = $colormode;
@@ -715,6 +712,12 @@ HUEDevice_GetUpdate($)
$hash->{helper}{effect} = $effect;
$hash->{helper}{percent} = $percent;
if( $s ne $hash->{STATE} ) {readingsBulkUpdate($hash,"state",$s);}
readingsEndUpdate($hash,defined($hash->{LOCAL} ? 0 : 1));
CommandTrigger( "", "$name RGB: ".CommandGet("","$name rgb") );
}
1;