error message on token-file error instead of fhem crash (die, croak)

This commit is contained in:
Philipp Wo 2020-04-25 10:57:42 +02:00
parent 99ff30c13a
commit 0d129f3f64
1 changed files with 20 additions and 5 deletions

View File

@ -29,7 +29,6 @@ use HTTP::Request::Common qw (POST GET PUT);
use HTTP::Headers;
use JSON;
use POSIX qw(strftime);
use Carp;
####DEFAULTS############
my $client_id = 'public-api-preview';
@ -469,7 +468,11 @@ sub TadoAPI_LoadToken {
if ($apiStatus) {
my $TOKENFILE;
eval{
open( $TOKENFILE, q{<}, $tokenFileName ) or croak( "Tokenfile loading error: $! " );
open( $TOKENFILE, q{<}, $tokenFileName ) or do {
$apiStatus = 0;
$hash->{STATE} = "Token error";
return;
};
$Token = decode_json(<$TOKENFILE>) };
close($TOKENFILE);
@ -549,7 +552,11 @@ sub TadoAPI_NewTokenRequest {
}
else {
#write token data in file
open( my $TOKENFILE, q{>}, $tokenFileName ) or croak( "Tokenfile writing error: $! " );
open( my $TOKENFILE, q{>}, $tokenFileName ) or do {
$apiStatus = 0;
$hash->{STATE} = "Token error";
return;
};
print $TOKENFILE $returnData . "\n";
close($TOKENFILE);
@ -578,7 +585,11 @@ sub TadoAPI_TokenRefresh {
# load token
my $TOKENFILE;
eval {
open( $TOKENFILE, q{<}, $tokenFileName ) or croak( "Tokenfile loading for refresh error: $! " );
open( $TOKENFILE, q{<}, $tokenFileName ) or do {
$apiStatus = 0;
$hash->{STATE} = "Token error";
return;
};
$Token = decode_json(<$TOKENFILE>) };
close($TOKENFILE);
@ -624,7 +635,11 @@ sub TadoAPI_TokenRefresh {
}
else {
#write token data in file
open( my $TOKENFILE, q{>}, $tokenFileName ) or croak( "Tokenfile refreshing (write) error: $! " );
open( my $TOKENFILE, q{>}, $tokenFileName ) or do {
$apiStatus = 0;
$hash->{STATE} = "Token error";
return;
};
print $TOKENFILE $returnData . "\n";
close($TOKENFILE);