critic -4 done, protos removed

This commit is contained in:
Philipp Wo 2020-04-22 02:12:01 +02:00
parent bfb50d1ac5
commit cb245489be
1 changed files with 54 additions and 49 deletions

View File

@ -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;
@ -149,13 +153,13 @@ 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 $hash = shift;
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);
@ -308,13 +310,11 @@ sub TadoAPI_Set {
}
sub TadoAPI_Get {
my $hash = shift;
my @a = @_;
my $hash = shift;
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);
@ -1778,7 +1783,7 @@ sub TadoAPI_storePassword {
sub TadoAPI_readPassword {
my $name = shift;
my $index = "TadoAPI_" . $name . "_passwd";
my $key = getUniqueId() . $index;