From 0d129f3f648abf9a37d14df92802b214b5c264db Mon Sep 17 00:00:00 2001 From: Philipp Wo Date: Sat, 25 Apr 2020 10:57:42 +0200 Subject: [PATCH] error message on token-file error instead of fhem crash (die, croak) --- 98_TadoAPI.pm | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/98_TadoAPI.pm b/98_TadoAPI.pm index af4f319..e585016 100644 --- a/98_TadoAPI.pm +++ b/98_TadoAPI.pm @@ -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);