From 965b3b3d2bca65ad8b90b22fe9cd593ed267b5aa Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sat, 9 Mar 2019 11:11:53 +0000 Subject: [PATCH] 76_SMAPortal: contrib 1.1.0 git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@18834 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- contrib/DS_Starter/76_SMAPortal.pm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/contrib/DS_Starter/76_SMAPortal.pm b/contrib/DS_Starter/76_SMAPortal.pm index 13d8c99c9..77ee69beb 100644 --- a/contrib/DS_Starter/76_SMAPortal.pm +++ b/contrib/DS_Starter/76_SMAPortal.pm @@ -522,17 +522,11 @@ sub SMAPortal_ParseData($) { my $dl = AttrVal($name, "detailLevel", 1); SMAPortal_delread($hash, $dl+1); - readingsBeginUpdate($hash); - readingsBulkUpdate($hash, "L1_FeedIn", 0); - readingsBulkUpdate($hash, "L1_GridConsumption", 0); - readingsBulkUpdate($hash, "L1_PV", 0); - readingsEndUpdate($hash, 0); - readingsBeginUpdate($hash); + my ($FeedIn_done,$GridConsumption_done,$PV_done) = (0,0,0); for my $k (keys %$livedata_content) { - my $new_val = ""; - + my $new_val = ""; if (defined $livedata_content->{$k}) { Log3 $name, 4, "$name - livedata content \"$k\": ".($livedata_content->{$k}); if (($livedata_content->{$k} =~ m/ARRAY/i) || ($livedata_content->{$k} =~ m/HASH/i)) { @@ -554,10 +548,17 @@ sub SMAPortal_ParseData($) { if ($new_val && $k !~ /__type/i) { Log3 $name, 4, "$name -> $k - $new_val"; readingsBulkUpdate($hash, "L1_$k", $new_val); + $FeedIn_done = 1 if($k =~ /^FeedIn$/); + $GridConsumption_done = 1 if($k =~ /^GridConsumption$/); + $PV_done = 1 if($k =~ /^PV$/); } } } + readingsBulkUpdate($hash, "L1_FeedIn", 0) if(!$FeedIn_done); + readingsBulkUpdate($hash, "L1_GridConsumption", 0) if(!$GridConsumption_done); + readingsBulkUpdate($hash, "L1_PV", 0) if(!$PV_done); + readingsEndUpdate($hash, 1); if ($forecast_content && $forecast_content !~ m/undefined/i) {