critic -4 done, protos removed
This commit is contained in:
parent
bfb50d1ac5
commit
cb245489be
@ -1,5 +1,5 @@
|
||||
#===============================================================================
|
||||
# $Id: 98_TadoAPI.pm 102 2019-12-27 15:58:26Z psycho160 $
|
||||
# $Id: 98_TadoAPI.pm 105 2019-12-27 15:58:26Z psycho160 $
|
||||
#
|
||||
# FILE: 98_TadoAPI.pm
|
||||
#
|
||||
@ -79,14 +79,18 @@ sub TadoAPI_Initialize {
|
||||
. "showPosData:0,1 "
|
||||
. "updateIntervall "
|
||||
. $readingFnAttributes;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
sub TadoAPI_Init {
|
||||
my $hash = shift;
|
||||
my @args = @_;
|
||||
my $def = shift;
|
||||
|
||||
my @args = split( "[ \t][ \t]*", $def );
|
||||
|
||||
my $u =
|
||||
"wrong syntax: define <name> TadoAPI <username> <homeID> [<mobileID>]";
|
||||
"wrong syntax: define <name> TadoAPI <username>";
|
||||
return $u if ( int(@args) < 2 );
|
||||
return;
|
||||
}
|
||||
@ -101,7 +105,7 @@ sub TadoAPI_Define {
|
||||
my $tokenFileName = $tokenFile . "_" . $name;
|
||||
|
||||
return "Invalid number of arguments: "
|
||||
. "define <name> TadoAPI <username> [<homeID>]"
|
||||
. "define <name> TadoAPI <username>"
|
||||
if ( int(@a) < 1 );
|
||||
|
||||
my ( $user, $homeID ) = @a;
|
||||
@ -150,12 +154,12 @@ sub TadoAPI_Define {
|
||||
|
||||
sub TadoAPI_Set {
|
||||
my $hash = shift;
|
||||
my @a = @_;
|
||||
return "Need at least one parameters" if ( @a < 2 );
|
||||
my $cmd = $a[1];
|
||||
my $value = $a[2];
|
||||
my $name = $hash->{NAME};
|
||||
my $subcmd;
|
||||
my $name = shift;
|
||||
my $cmd = shift // return qq{set $name needs at least one argument};
|
||||
my $value = shift;
|
||||
my $value2 = shift;
|
||||
my $value3 = shift;
|
||||
|
||||
my $message = undef;
|
||||
|
||||
if ( !defined( $sets{$cmd} ) ) {
|
||||
@ -164,7 +168,7 @@ sub TadoAPI_Set {
|
||||
push @cmds,
|
||||
$sets{$key} ? $key . ":" . join( ",", $sets{$key} ) : $key;
|
||||
}
|
||||
return "Unknown argument $a[1], choose one of " . join( " ", @cmds );
|
||||
return "Unknown argument $cmd, choose one of " . join( " ", @cmds );
|
||||
}
|
||||
|
||||
if ( ( $cmd ne "password" ) ) {
|
||||
@ -179,8 +183,8 @@ sub TadoAPI_Set {
|
||||
}
|
||||
|
||||
if ( $cmd eq 'setGeo' ) {
|
||||
return "Need at least two parameters (mobileID, Setting)" if ( @a < 4 );
|
||||
if ( $a[3] eq "on" ) {
|
||||
return "Need at least two parameters (mobileID, Setting)" if ( !defined($value) );
|
||||
if ( $value2 eq "on" ) {
|
||||
Log3 $name, 3, "TadoAPI: set $name: processing ($cmd)";
|
||||
TadoAPI_SetGeoById( $hash, $value, 1 );
|
||||
}
|
||||
@ -195,16 +199,16 @@ sub TadoAPI_Set {
|
||||
Log3 $name, 5, "TadoAPI $name" . ": " . "processing ($cmd)";
|
||||
return
|
||||
"Need at least two parameters [ZoneID] [Setting] (duration in sec); Setting Info: remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)"
|
||||
if ( @a < 4 );
|
||||
if ( !defined($value2) );
|
||||
|
||||
if ( $a[3] eq "remove" ) {
|
||||
if ( $value2 eq "remove" ) {
|
||||
TadoAPI_SetZoneOverlayById( $hash, $value, "remove" );
|
||||
}
|
||||
elsif ( defined( $a[4] ) ) {
|
||||
TadoAPI_SetZoneOverlayById( $hash, $value, $a[3], $a[4] );
|
||||
elsif ( defined( $value3 ) ) {
|
||||
TadoAPI_SetZoneOverlayById( $hash, $value, $value2, $value3 );
|
||||
}
|
||||
elsif ( $a[3] >= 0 ) {
|
||||
TadoAPI_SetZoneOverlayById( $hash, $value, $a[3] );
|
||||
elsif ( $value2 >= 0 ) {
|
||||
TadoAPI_SetZoneOverlayById( $hash, $value, $value2 );
|
||||
}
|
||||
Log3 $name, 4, "TadoAPI $name" . ": " . "$cmd finished";
|
||||
|
||||
@ -213,19 +217,17 @@ sub TadoAPI_Set {
|
||||
Log3 $name, 5, "TadoAPI $name" . ": " . "processing ($cmd)";
|
||||
return
|
||||
"Need at least three parameters [ZoneID] [Duration (sec)] [Setting]"
|
||||
if ( @a < 4 );
|
||||
if (!defined($value3) );
|
||||
|
||||
if ( defined( $a[4] ) ) {
|
||||
TadoAPI_SetTimedZoneOverlay( $hash, $value, $a[3], $a[4] );
|
||||
if ( defined( $value3 ) ) {
|
||||
TadoAPI_SetTimedZoneOverlay( $hash, $value, $value2, $value3 );
|
||||
}
|
||||
Log3 $name, 4, "TadoAPI $name" . ": " . "$cmd finished";
|
||||
|
||||
}
|
||||
elsif ( $cmd eq 'setAllOverlays' ) {
|
||||
Log3 $name, 5, "TadoAPI $name" . ": " . "processing ($cmd)";
|
||||
return
|
||||
"Need at least one parameter (Setting) - Setting: remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)"
|
||||
if ( @a < 3 );
|
||||
return "Need at least one parameter (Setting) - Setting: remove=delete overlay; 0=heating power off; 1<=desired temperature (overlay)" if ( !defined($value) );
|
||||
if ( $value eq "remove" ) {
|
||||
TadoAPI_SetAllOverlays( $hash, "remove" );
|
||||
}
|
||||
@ -289,13 +291,13 @@ sub TadoAPI_Set {
|
||||
elsif ( $cmd eq 'password' ) {
|
||||
Log3 $name, 3, "TadoAPI $name" . ": " . "processing ($cmd)";
|
||||
|
||||
# name und cmd überspringen
|
||||
shift @a;
|
||||
shift @a;
|
||||
|
||||
# den Rest der das passwort enthält, als ein String
|
||||
$subcmd = join( " ", @a );
|
||||
$message = TadoAPI_storePassword( $name, $subcmd );
|
||||
if (defined($value)){
|
||||
$message = TadoAPI_storePassword( $name, $value );
|
||||
}
|
||||
else{
|
||||
$message = "no password given";
|
||||
}
|
||||
|
||||
# start the status update timer
|
||||
RemoveInternalTimer($hash);
|
||||
@ -309,12 +311,10 @@ sub TadoAPI_Set {
|
||||
|
||||
sub TadoAPI_Get {
|
||||
my $hash = shift;
|
||||
my @a = @_;
|
||||
my $name = shift;
|
||||
my $cmd = shift // return qq{get $name needs at least one argument};
|
||||
my $value = shift;
|
||||
|
||||
return "Need at least one parameters" if ( @a < 2 );
|
||||
my $cmd = $a[1];
|
||||
my $value = $a[2];
|
||||
my $name = $hash->{NAME};
|
||||
my $homeID = $attr{$name}{homeID};
|
||||
my $message = undef;
|
||||
|
||||
@ -324,7 +324,7 @@ sub TadoAPI_Get {
|
||||
push @cmds,
|
||||
$gets{$key} ? $key . ":" . join( ",", $gets{$key} ) : $key;
|
||||
}
|
||||
return "Unknown argument $a[1], choose one of " . join( " ", @cmds );
|
||||
return "Unknown argument $cmd, choose one of " . join( " ", @cmds );
|
||||
}
|
||||
|
||||
my $pwd = TadoAPI_readPassword($name);
|
||||
@ -340,7 +340,7 @@ sub TadoAPI_Get {
|
||||
|
||||
COMMAND_HANDLER: {
|
||||
$cmd eq "getGeo" and do {
|
||||
return "Need at least one parameter (mobileID)" if ( @a < 3 );
|
||||
return "Need at least one parameter (mobileID)" if ( !defined($value) );
|
||||
return "Wrong MobileID" if ( length($value) < 6 );
|
||||
Log3 $name, 3, "TadoAPI $name" . ": " . "processing ($cmd)";
|
||||
TadoAPI_GetGeoById( $hash, $value );
|
||||
@ -466,8 +466,10 @@ sub TadoAPI_LoadToken {
|
||||
my $Token = undef;
|
||||
|
||||
if ($apiStatus) {
|
||||
open( my $TOKENFILE, q{<}, $tokenFileName ) or croak("ERROR: $!");
|
||||
eval { $Token = decode_json(<$TOKENFILE>) };
|
||||
my $TOKENFILE;
|
||||
eval{
|
||||
open( $TOKENFILE, q{<}, $tokenFileName ) or die("ERROR: $!");
|
||||
$Token = decode_json(<$TOKENFILE>) };
|
||||
close($TOKENFILE);
|
||||
|
||||
if ( $@ || $tokenLifeTime < gettimeofday() ) {
|
||||
@ -546,13 +548,14 @@ sub TadoAPI_NewTokenRequest {
|
||||
}
|
||||
else {
|
||||
#write token data in file
|
||||
open( my $TOKENFILE, q{>}, $tokenFileName ) or croak("ERROR: $!");
|
||||
open( my $TOKENFILE, q{>}, $tokenFileName ) or die("ERROR: $!");
|
||||
print $TOKENFILE $returnData . "\n";
|
||||
close($TOKENFILE);
|
||||
|
||||
# token lifetime management
|
||||
$hash->{TOKEN_LIFETIME} =
|
||||
gettimeofday() + $decoded_data->{'expires_in'};
|
||||
if (defined($decoded_data)){
|
||||
$hash->{TOKEN_LIFETIME} = gettimeofday() + $decoded_data->{'expires_in'};
|
||||
}
|
||||
$hash->{TOKEN_LIFETIME_HR} = localtime( $hash->{TOKEN_LIFETIME} );
|
||||
Log3 $name, 5,
|
||||
"TadoAPI $name" . ": "
|
||||
@ -572,8 +575,10 @@ sub TadoAPI_TokenRefresh {
|
||||
my $Token = undef;
|
||||
|
||||
# load token
|
||||
open( my $TOKENFILE, q{<}, $tokenFileName ) or croak("ERROR: $!");
|
||||
eval { $Token = decode_json(<$TOKENFILE>) };
|
||||
my $TOKENFILE;
|
||||
eval {
|
||||
open( $TOKENFILE, q{<}, $tokenFileName ) or die("ERROR: $!");
|
||||
$Token = decode_json(<$TOKENFILE>) };
|
||||
close($TOKENFILE);
|
||||
|
||||
my $data = {
|
||||
@ -618,7 +623,7 @@ sub TadoAPI_TokenRefresh {
|
||||
}
|
||||
else {
|
||||
#write token data in file
|
||||
open( my $TOKENFILE, q{>}, $tokenFileName ) or croak("ERROR: $!");
|
||||
open( my $TOKENFILE, q{>}, $tokenFileName ) or die("ERROR: $!");
|
||||
print $TOKENFILE $returnData . "\n";
|
||||
close($TOKENFILE);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user