removing prototypes started

This commit is contained in:
Philipp Wo 2020-04-20 16:13:19 +02:00
parent 8154b435d5
commit 9f5f1d131d
1 changed files with 32 additions and 27 deletions

View File

@ -39,7 +39,6 @@ my $DataURL = qq{https://my.tado.com/api/v2/me};
my $QueryURL = qq{https://my.tado.com/api/v2/homes}; 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 $reqDebug = 5; my $reqDebug = 5;
# helpers # helpers
@ -66,35 +65,39 @@ my %gets = (
); );
sub sub
TadoAPI_Initialize($) TadoAPI_Initialize
{ {
my ($hash) = @_; my $hash = shift;
my $TYPE = "TadoAPI";
$hash->{DefFn} = "TadoAPI_Define"; $hash->{DefFn} = $TYPE."_Define";
$hash->{InitFn} = "TadoAPI_Init"; $hash->{InitFn} = $TYPE."_Init";
$hash->{SetFn} = "TadoAPI_Set"; $hash->{SetFn} = $TYPE."_Set";
$hash->{GetFn} = "TadoAPI_Get"; $hash->{GetFn} = $TYPE."_Get";
$hash->{AttrList} = $hash->{AttrList} = ""
"homeID " . . "homeID "
"mobileID " . . "mobileID "
"showPosData:0,1 " . . "showPosData:0,1 "
"updateIntervall " . . "updateIntervall "
$main::readingFnAttributes; . $readingFnAttributes
;
return;
} }
sub TadoAPI_Init($$) sub TadoAPI_Init
{ {
my ($hash,$args) = @_; my $hash = shift;
my @args = @_;
my $u = "wrong syntax: define <name> TadoAPI <username> <homeID> [<mobileID>]"; my $u = "wrong syntax: define <name> TadoAPI <username> <homeID> [<mobileID>]";
return $u if(int(@$args) < 2); return $u if(int(@args) < 2);
return; return;
} }
sub TadoAPI_Define($$) sub TadoAPI_Define
{ {
my ($hash, $def) = @_; my $hash = shift;
my $def = shift;
my @a = split( "[ \t]+", $def ); my @a = split( "[ \t]+", $def );
my $name = shift @a; my $name = shift @a;
my $type = shift @a; my $type = shift @a;
@ -452,7 +455,7 @@ sub TadoAPI_NewTokenRequest(@) {
Log3 $name, 5, "TadoAPI $name" . ": " . "calling NewTokenRequest()"; Log3 $name, 5, "TadoAPI $name" . ": " . "calling NewTokenRequest()";
$data = { my $data = {
client_id => $client_id, client_id => $client_id,
client_secret => $client_secret, client_secret => $client_secret,
username => $username, username => $username,
@ -511,7 +514,7 @@ sub TadoAPI_TokenRefresh(@) {
eval { $Token = decode_json(<$TOKENFILE>)}; eval { $Token = decode_json(<$TOKENFILE>)};
close($TOKENFILE); close($TOKENFILE);
$data = { my $data = {
client_id => $client_id, client_id => $client_id,
client_secret => $client_secret, client_secret => $client_secret,
scope => $scope, scope => $scope,
@ -921,7 +924,7 @@ sub TadoAPI_SetGeoByIdCallback($){
} }
elsif($data ne "") elsif($data ne "")
{ {
Log3 $name, 3, "url ".$param->{url}." returned: $data"; Log3 $name, 3, "SetGeoById URL: ".$param->{url}." returned: $data";
} }
return; return;
} }
@ -1050,12 +1053,13 @@ sub TadoAPI_SetGeoById(@){
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 $CurrentTokenData = TadoAPI_LoadToken($hash); my $CurrentTokenData = TadoAPI_LoadToken($hash);
my $data = {};
if(defined($CurrentTokenData)){ if(defined($CurrentTokenData)){
if($geo){ if($geo){
my $data = { geoTrackingEnabled=>"true" }; $data = { geoTrackingEnabled=>"true" };
}else{ }else{
my $data = { geoTrackingEnabled=>"false" }; $data = { geoTrackingEnabled=>"false" };
} }
$data = encode_json($data); $data = encode_json($data);
@ -1071,6 +1075,7 @@ sub TadoAPI_SetGeoById(@){
callback => \&TadoAPI_SetGeoByIdCallback callback => \&TadoAPI_SetGeoByIdCallback
}; };
Log3 $name, $reqDebug, "TadoAPI $name" . ": " . "Request $URL"; Log3 $name, $reqDebug, "TadoAPI $name" . ": " . "Request $URL";
Log3 $name, $reqDebug, "TadoAPI $name" . ": " . "PUT setting $data";
HttpUtils_NonblockingGet($request); HttpUtils_NonblockingGet($request);
} }
return; return;
@ -1123,7 +1128,7 @@ sub TadoAPI_GetHomeId(@){
} }
elsif($data ne "") elsif($data ne "")
{ {
Log3 $name, 5, "url ".$param->{url}." returned: $data"; Log3 $name, 5, "URL ".$param->{url}." returned: $data";
my $decoded_data = eval { decode_json($data) }; my $decoded_data = eval { decode_json($data) };
if ($@){ if ($@){
Log3 $name, 3, "TadoAPI $name" . ": " . "GetHomeId: Decode_json failed, invalid json. error:$@" if $@; Log3 $name, 3, "TadoAPI $name" . ": " . "GetHomeId: Decode_json failed, invalid json. error:$@" if $@;
@ -1166,7 +1171,7 @@ sub TadoAPI_GetGeoById(@){
} }
elsif($data ne "") elsif($data ne "")
{ {
Log3 $name, 5, "url ".$param->{url}." returned: $data"; Log3 $name, 5, "GetGeoById URL: ".$param->{url}." returned: $data";
my $decoded_data = eval { decode_json($data) }; my $decoded_data = eval { decode_json($data) };
if ($@){ if ($@){
Log3 $name, 3, "TadoAPI $name" . ": " . "GetGeoById: Decode_json failed, invalid json. error:$@\n" if $@; Log3 $name, 3, "TadoAPI $name" . ": " . "GetGeoById: Decode_json failed, invalid json. error:$@\n" if $@;