perlcritic -3 started
This commit is contained in:
parent
053df6d7ea
commit
ae011426b0
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user