From aaed20eaf448f24485cf5703af01f085f12e3b88 Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Tue, 23 Dec 2014 21:44:26 +0000 Subject: [PATCH] 30_HUEBridge.pm: gracefully handle empty and non json answers. probably due to bridge overload. git-svn-id: https://svn.fhem.de/fhem/trunk@7316 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/30_HUEBridge.pm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/30_HUEBridge.pm b/fhem/FHEM/30_HUEBridge.pm index db45b6b67..4ea0d9e50 100644 --- a/fhem/FHEM/30_HUEBridge.pm +++ b/fhem/FHEM/30_HUEBridge.pm @@ -535,6 +535,14 @@ HUEBridge_HTTP_Call($$$;$) return "HTTP Error Code " . $1; } + if( !$ret ) { + Log3 $name, 2, "$name: empty answer received"; + return undef; + } elsif( $ret !~ m/^[\[{].*[\]}]$/ ) { + Log3 $name, 2, "$name: invalid json detected: $ret"; + return undef; + } + # try { # from_json($ret); # } catch { @@ -625,7 +633,10 @@ HUEBridge_dispatch($$$;$) if( $err ) { Log3 $name, 2, "$name: http request failed: $err"; } elsif( $data || $json ) { - if( $data && $data !~ m/^[\[{].*[\]}]$/ ) { + if( !$data ) { + Log3 $name, 2, "$name: empty answer received"; + return undef; + } elsif( $data && $data !~ m/^[\[{].*[\]}]$/ ) { Log3 $name, 2, "$name: invalid json detected: $data"; return undef; }