perlcritic -3 started

This commit is contained in:
Philipp Wo 2020-04-19 23:44:16 +02:00
parent 053df6d7ea
commit ae011426b0
1 changed files with 49 additions and 50 deletions

View File

@ -40,7 +40,6 @@ my $QueryURL = qq{https://my.tado.com/api/v2/homes};
my $tokenFile = "./FHEM/FhemUtils/TadoAPI_token"; my $tokenFile = "./FHEM/FhemUtils/TadoAPI_token";
my $header = {}; my $header = {};
my $data = {}; my $data = {};
my $TokenData = {};
my $reqDebug = 5; my $reqDebug = 5;
# helpers # helpers
@ -376,7 +375,7 @@ sub TadoAPI_Get(@) {
} }
} }
sub TadoAPI_Catch($) { sub TadoAPI_Catch {
my $exception = shift; my $exception = shift;
if ($exception) { if ($exception) {
$exception =~ /^(.*)( at.*FHEM.*)$/; $exception =~ /^(.*)( at.*FHEM.*)$/;
@ -472,22 +471,22 @@ sub TadoAPI_NewTokenRequest(@) {
#Log3 $name, 5, 'Blocking GET: ' . Dumper($param); #Log3 $name, 5, 'Blocking GET: ' . Dumper($param);
Log3 $name, $reqDebug, "TadoAPI $name" . ": " . "Request $AuthURL"; Log3 $name, $reqDebug, "TadoAPI $name" . ": " . "Request $AuthURL";
my ($err, $data) = HttpUtils_BlockingGet($param); my ($err, $returnData) = HttpUtils_BlockingGet($param);
if($err ne "") if($err ne "")
{ {
Log3 $name, 3, "TadoAPI $name" . ": " . "NewTokenRequest: Error while requesting ".$param->{url}." - $err"; Log3 $name, 3, "TadoAPI $name" . ": " . "NewTokenRequest: Error while requesting ".$param->{url}." - $err";
} }
elsif($data ne "") elsif($returnData ne "")
{ {
Log3 $name, 5, "url ".$param->{url}." returned: $data"; Log3 $name, 5, "url ".$param->{url}." returned: $returnData";
my $decoded_data = eval { decode_json($data) }; my $decoded_data = eval { decode_json($returnData) };
if ($@){ if ($@){
Log3 $name, 3, "TadoAPI $name" . ": " . "NewTokenRequest: decode_json failed, invalid json. error: $@ "; Log3 $name, 3, "TadoAPI $name" . ": " . "NewTokenRequest: decode_json failed, invalid json. error: $@ ";
}else{ }else{
#write token data in file #write token data in file
open(my $TOKENFILE, q{>} ,$tokenFileName) or die("ERROR: $!"); open(my $TOKENFILE, q{>} ,$tokenFileName) or die("ERROR: $!");
print $TOKENFILE $data . "\n"; print $TOKENFILE $returnData . "\n";
close($TOKENFILE); close($TOKENFILE);
# token lifetime management # token lifetime management
@ -517,7 +516,7 @@ sub TadoAPI_TokenRefresh(@) {
client_secret => $client_secret, client_secret => $client_secret,
scope => $scope, scope => $scope,
grant_type=>'refresh_token', grant_type=>'refresh_token',
refresh_token => $TokenData->{'refresh_token'} refresh_token => $Token->{'refresh_token'}
}; };
my $param = { my $param = {
@ -530,7 +529,7 @@ sub TadoAPI_TokenRefresh(@) {
#Log3 $name, 5, 'Blocking GET TokenRefresh: ' . Dumper($param); #Log3 $name, 5, 'Blocking GET TokenRefresh: ' . Dumper($param);
Log3 $name, $reqDebug, "TadoAPI $name" . ": " . "Request $AuthURL"; Log3 $name, $reqDebug, "TadoAPI $name" . ": " . "Request $AuthURL";
my ($err, $data) = HttpUtils_BlockingGet($param); my ($err, $returnData) = HttpUtils_BlockingGet($param);
if($err ne "") if($err ne "")
{ {
@ -538,10 +537,10 @@ sub TadoAPI_TokenRefresh(@) {
$hash->{STATE}="error"; $hash->{STATE}="error";
} }
elsif($data ne "") elsif($returnData ne "")
{ {
Log3 $name, 5, "url ".$param->{url}." returned: $data"; Log3 $name, 5, "url ".$param->{url}." returned: $returnData";
my $decoded_data = eval{decode_json($data);}; my $decoded_data = eval{decode_json($returnData);};
if ($@){ if ($@){
Log3 $name, 3, "TadoAPI $name" . ": " . "TokenRefresh: decode_json failed, invalid json. error:$@\n" if $@; Log3 $name, 3, "TadoAPI $name" . ": " . "TokenRefresh: decode_json failed, invalid json. error:$@\n" if $@;
@ -549,7 +548,7 @@ sub TadoAPI_TokenRefresh(@) {
}else{ }else{
#write token data in file #write token data in file
open(my $TOKENFILE, q{>}, $tokenFileName) or die("ERROR: $!"); open(my $TOKENFILE, q{>}, $tokenFileName) or die("ERROR: $!");
print $TOKENFILE $data . "\n"; print $TOKENFILE $returnData . "\n";
close($TOKENFILE); close($TOKENFILE);
# token lifetime management # token lifetime management
@ -594,9 +593,9 @@ sub TadoAPI_SetZoneOverlayById(@){
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my $homeID = $attr{$name}{homeID}; my $homeID = $attr{$name}{homeID};
my $URL = $QueryURL . qq{/$homeID/zones/$zoneID/overlay}; my $URL = $QueryURL . qq{/$homeID/zones/$zoneID/overlay};
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
my $method = ""; my $method = "";
my $myjson =undef; my $myjson =undef;
@ -690,7 +689,7 @@ sub TadoAPI_SetZoneOverlayById(@){
my $request = { my $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => $method, method => $method,
timeout => 5, timeout => 5,
callback => \&Tado_UpdateZoneOverlayCallback, callback => \&Tado_UpdateZoneOverlayCallback,
@ -740,15 +739,15 @@ sub TadoAPI_GetAllZoneOverlays(@){
sub TadoAPI_UpdateFn(@){ sub TadoAPI_UpdateFn(@){
my ($hash) = @_; my ($hash) = @_;
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
my $homeID = $attr{$name}{homeID}; my $homeID = $attr{$name}{homeID};
if($apiStatus == 1 && defined($TokenData)){ if($apiStatus == 1 && defined($CurrentTokenData)){
# zone specific updates # zone specific updates
my $URL = $QueryURL.qq{/$homeID/zones}; my $URL = $QueryURL.qq{/$homeID/zones};
my $request = { my $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'GET', method => 'GET',
timeout => 25, timeout => 25,
incrementalTimout => 1, incrementalTimout => 1,
@ -762,7 +761,7 @@ sub TadoAPI_UpdateFn(@){
$URL=$QueryURL . qq{/$homeID/mobileDevices}; $URL=$QueryURL . qq{/$homeID/mobileDevices};
$request = { $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'GET', method => 'GET',
timeout => 7, timeout => 7,
incrementalTimout => 1, incrementalTimout => 1,
@ -962,14 +961,14 @@ sub TadoAPI_GetZoneInfo(@) {
my ($hash) = @_; my ($hash) = @_;
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my $homeID = $attr{$name}{homeID}; my $homeID = $attr{$name}{homeID};
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
# HomeInfo # HomeInfo
my $URL = qq{https://my.tado.com/api/v2/me}; my $URL = qq{https://my.tado.com/api/v2/me};
my $request = { my $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'GET', method => 'GET',
timeout => 8, timeout => 8,
infotext => "HomeInfos", infotext => "HomeInfos",
@ -983,7 +982,7 @@ sub TadoAPI_GetZoneInfo(@) {
$URL = $QueryURL . qq{/$homeID/zones}; $URL = $QueryURL . qq{/$homeID/zones};
$request = { $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'GET', method => 'GET',
timeout => 3, timeout => 3,
infotext => "Tado Devices Info", infotext => "Tado Devices Info",
@ -997,7 +996,7 @@ sub TadoAPI_GetZoneInfo(@) {
$URL = $QueryURL . qq{/$homeID/mobileDevices}; $URL = $QueryURL . qq{/$homeID/mobileDevices};
$request = { $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'GET', method => 'GET',
timeout => 3, timeout => 3,
infotext => "Mobile Devices Info", infotext => "Mobile Devices Info",
@ -1012,7 +1011,7 @@ sub TadoAPI_GetZoneInfo(@) {
$URL=$QueryURL . qq{/$homeID/mobileDevices/$mobileID/settings}; $URL=$QueryURL . qq{/$homeID/mobileDevices/$mobileID/settings};
$request = { $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'GET', method => 'GET',
timeout => 3, timeout => 3,
infotext => "Mobile Device $mobileID", infotext => "Mobile Device $mobileID",
@ -1027,11 +1026,11 @@ sub TadoAPI_GetZoneInfo(@) {
my @devArr = TadoAPI_GetTadoDevices($hash); my @devArr = TadoAPI_GetTadoDevices($hash);
for (my $i=0; $i < @devArr; $i++) { for (my $i=0; $i < @devArr; $i++) {
my $zoneID = $devArr[$i]->{'id'}; my $zoneID = $devArr[$i]->{'id'};
my $URL=$QueryURL . qq{/$homeID/zones/$zoneID/state}; $URL=$QueryURL . qq{/$homeID/zones/$zoneID/state};
my $infotext = "ZoneID $zoneID (" . TadoAPI_GetZoneNameById($hash, $zoneID) . ") Status"; my $infotext = "ZoneID $zoneID (" . TadoAPI_GetZoneNameById($hash, $zoneID) . ") Status";
my $request = { $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'GET', method => 'GET',
timeout => 3, timeout => 3,
infotext => $infotext, infotext => $infotext,
@ -1050,9 +1049,9 @@ sub TadoAPI_SetGeoById(@){
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my $homeID = $attr{$name}{homeID}; my $homeID = $attr{$name}{homeID};
my $URL=$QueryURL . qq{/$homeID/mobileDevices/$mobileID/settings}; my $URL=$QueryURL . qq{/$homeID/mobileDevices/$mobileID/settings};
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
if($geo){ if($geo){
my $data = { geoTrackingEnabled=>"true" }; my $data = { geoTrackingEnabled=>"true" };
}else{ }else{
@ -1063,7 +1062,7 @@ sub TadoAPI_SetGeoById(@){
my $request = { my $request = {
url => $URL, url => $URL,
header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}" }, header => { "Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}" },
method => 'PUT', method => 'PUT',
timeout => 3, timeout => 3,
mobileID => $mobileID, mobileID => $mobileID,
@ -1102,13 +1101,13 @@ sub TadoAPI_GetHomeId(@){
# returns first home id only # returns first home id only
my ($hash) = @_; my ($hash) = @_;
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)) if(defined($CurrentTokenData))
{ {
my $param = { my $param = {
url => $DataURL, url => $DataURL,
header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"}, header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}"},
method => 'GET', method => 'GET',
timeout => 2, timeout => 2,
hash => $hash, hash => $hash,
@ -1146,12 +1145,12 @@ sub TadoAPI_GetGeoById(@){
my $URL=$QueryURL.qq{/$homeID/mobileDevices}; my $URL=$QueryURL.qq{/$homeID/mobileDevices};
if(!defined($item)){ if(!defined($item)){
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
my $param = { my $param = {
url => $URL, url => $URL,
header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"}, header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}"},
method => 'GET', method => 'GET',
timeout => 4, timeout => 4,
hash => $hash, hash => $hash,
@ -1222,12 +1221,12 @@ sub TadoAPI_GetMobileDevices(@) {
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my $homeID = $attr{$name}{homeID}; my $homeID = $attr{$name}{homeID};
my $URL=$QueryURL . qq{/$homeID/mobileDevices}; my $URL=$QueryURL . qq{/$homeID/mobileDevices};
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
my $param = { my $param = {
url => $URL, url => $URL,
header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"}, header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}"},
method => 'GET', method => 'GET',
timeout => 2, timeout => 2,
hash => $hash hash => $hash
@ -1271,12 +1270,12 @@ sub TadoAPI_GetZoneCount(@) {
my $homeID = $attr{$name}{homeID}; my $homeID = $attr{$name}{homeID};
my $URL=$QueryURL.qq{/$homeID/zones}; my $URL=$QueryURL.qq{/$homeID/zones};
my $zonecount = 0; my $zonecount = 0;
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
my $param = { my $param = {
url => $URL, url => $URL,
header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"}, header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}"},
method => 'GET', method => 'GET',
timeout => 2, timeout => 2,
hash => $hash hash => $hash
@ -1339,12 +1338,12 @@ sub TadoAPI_GetZoneReadingsById(@){
my $desiredTemp = 0; my $desiredTemp = 0;
my $currentHeatingPower = 0; my $currentHeatingPower = 0;
my $overlay = 0; my $overlay = 0;
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
my $param = { my $param = {
url => $URL, url => $URL,
header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"}, header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}"},
method => 'GET', method => 'GET',
timeout => 4, timeout => 4,
hash => $hash hash => $hash
@ -1389,12 +1388,12 @@ sub TadoAPI_GetTadoDevices(@) {
my $name = $hash->{NAME}; my $name = $hash->{NAME};
my $homeID = $attr{$name}{homeID}; my $homeID = $attr{$name}{homeID};
my $URL=$QueryURL . qq{/$homeID/zones}; my $URL=$QueryURL . qq{/$homeID/zones};
my $TokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
if(defined($TokenData)){ if(defined($CurrentTokenData)){
my $param = { my $param = {
url => $URL, url => $URL,
header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$TokenData->{'token_type'} $TokenData->{'access_token'}"}, header => {"Content-Type"=>"application/json;charset=UTF-8","Authorization" => "$CurrentTokenData->{'token_type'} $CurrentTokenData->{'access_token'}"},
method => 'GET', method => 'GET',
timeout => 5, timeout => 5,
hash => $hash hash => $hash