diff --git a/98_TadoAPI.pm b/98_TadoAPI.pm index c5db87b..80a15ab 100644 --- a/98_TadoAPI.pm +++ b/98_TadoAPI.pm @@ -210,7 +210,7 @@ sub TadoAPI_Set(@) { } elsif( $cmd eq 'update' ) { Log3 $name, 3, "TadoAPI: set $name: processing ($cmd)"; - TadoAPI_UpdateFnNb($hash); + TadoAPI_UpdateFn($hash); Log3 $name, 3, "TadoAPI $name" . ": " . "$cmd finished\n"; } elsif( $cmd eq 'zoneUpdate' ) { @@ -534,7 +534,7 @@ sub TadoAPI_Update(@){ InternalTimer( $nextTimer, "TadoAPI_Update", $hash, 0 ); # update subs - TadoAPI_UpdateFnNb($hash); + TadoAPI_UpdateFn($hash); return undef; } @@ -674,14 +674,8 @@ sub TadoAPI_SetAllOverlays(@){ } } } -###### main update function -sub TadoAPI_UpdateFnNb(@){ - my ($hash) = @_; - delete($hash->{helper}{RUNNING_PID}); - $hash->{helper}{RUNNING_PID} = BlockingCall("TadoAPI_DoUpdate", $hash,"TadoAPI_UpdateFnNbDone", 120, "TadoAPI_UpdateFnNbAborted", $hash) unless(exists($hash->{helper}{RUNNING_PID})); -} -sub TadoAPI_DoUpdate($){ +sub TadoAPI_UpdateFn(@){ my ($hash) = @_; my $name = $hash->{NAME}; my $TokenData = TadoAPI_LoadToken($hash); @@ -708,33 +702,14 @@ sub TadoAPI_DoUpdate($){ url => $URL, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, method => 'GET', - timeout => 15, + timeout => 10, incrementalTimout => 1, callback => \&TadoAPI_UpdateMobileReadingsCallback, hash => $hash }; HttpUtils_NonblockingGet($request); + } - return $name; -} - -sub TadoAPI_UpdateFnNbDone($){ - my ($string) = @_; - - return unless(defined($string)); - - my @a = split("\\|",$string); - my $hash = $defs{$a[0]}; - - delete($hash->{helper}{RUNNING_PID}); - Log3 $hash->{NAME}, 3, "BlockingCall for ".$hash->{NAME}." was DONE"; -} - -sub TadoAPI_UpdateFnNbAborted($){ - my ($hash) = @_; - - delete($hash->{helper}{RUNNING_PID}); - Log3 $hash->{NAME}, 3, "BlockingCall for ".$hash->{NAME}." was aborted"; } ######################################################################################################################################################################## @@ -746,9 +721,6 @@ sub TadoAPI_callback($){ my $name = $hash->{NAME}; $param->{code} = 0 unless defined $param->{code}; -# todo remove this - Log3 $name, 3, "TadoAPI $name" . ": " . "API Callback running..... Callback Status: " . $param->{code}; - if($param->{code} == 401 || $param->{code} == 400){ $apiStatus = 1; $hash->{STATE}="reachable"; @@ -758,7 +730,6 @@ sub TadoAPI_callback($){ $apiStatus = 0; $hash->{STATE}="error"; Log3 $name, 5, "TadoAPI $name" . ": " . "API error: apiStatus $apiStatus ($err)"; - } return undef; }