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