From ae1a25be603ffea1c1db512b4a6a4034b3f75433 Mon Sep 17 00:00:00 2001 From: grompo Date: Thu, 29 Sep 2016 18:35:21 +0000 Subject: [PATCH] JSONMETER: improved robustness git-svn-id: https://svn.fhem.de/fhem/trunk@12222 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/70_JSONMETER.pm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/fhem/FHEM/70_JSONMETER.pm b/fhem/FHEM/70_JSONMETER.pm index ab446afc3..861d8fef2 100644 --- a/fhem/FHEM/70_JSONMETER.pm +++ b/fhem/FHEM/70_JSONMETER.pm @@ -330,12 +330,13 @@ JSONMETER_Get($@) } return $message; - } elsif ($cmd eq "jsonAnalysis") { + } + elsif ($cmd eq "jsonAnalysis") { my $time = gettimeofday(); $hash->{fhem}{jsonInterpreter} = ""; $result = JSONMETER_GetJsonFile $name; my @a = split /\|/, $result; - if ($a[1]==0) { return $a[2]; } + return $a[2] if $a[1]==0; $result = JSONMETER_ParseJsonFile $result; # my @a = split /\|/, $result; @@ -386,7 +387,7 @@ sub JSONMETER_GetJsonFile ($) { my ($name) = @_; my $returnStr; - my $hash = $defs{$name}; + my $hash = $defs{$name}; my $type = $hash->{deviceType}; my $ip = ""; $ip = $hash->{HOST} if defined $hash->{HOST}; @@ -485,12 +486,15 @@ JSONMETER_ReadFromUrl($) } # end JSONMETER_ReadFromUrl -sub ########################### -JSONMETER_ParseJsonFile($) +########################### +sub JSONMETER_ParseJsonFile($) { my ($string) = @_; return unless(defined($string)); + my (@a) = split("\\|", $string); + return unless (defined $defs{$a[0]}); + my $hash = $defs{$a[0]}; my $name = $hash->{NAME}; my $value; @@ -912,6 +916,10 @@ JSONMETER_doStatisticDeltaSingle ($$$$$$) =pod =begin html +=item device +=item summary reads OBIS data from measurement units +=item summary_DE liest OBIS Daten von Messgeräten +

JSONMETER