From fab70210c6684f164df0f48e2d89ca21bbdea382 Mon Sep 17 00:00:00 2001 From: tpoitzsch Date: Sun, 14 Sep 2014 10:03:05 +0000 Subject: [PATCH] doku git-svn-id: https://svn.fhem.de/fhem/trunk@6552 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_statistics.pm | 48 +++++++++++++++++++++++++------------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/fhem/FHEM/98_statistics.pm b/fhem/FHEM/98_statistics.pm index feae2f4a3..ec2689ac4 100644 --- a/fhem/FHEM/98_statistics.pm +++ b/fhem/FHEM/98_statistics.pm @@ -519,6 +519,7 @@ statistics_doStatisticMinMaxSingle ($$$$$$$) $statReadingName .= ucfirst($readingName).$period; my @hidden; my @stat; + my $lastValue; my $firstRun = not exists($hash->{READINGS}{$hiddenReadingName}); if ( $firstRun ) { @@ -557,13 +558,16 @@ statistics_doStatisticMinMaxSingle ($$$$$$$) # Store single readings my $singularReadings = AttrVal($name, "singularReadings", ""); if ($singularReadings ne "") { - # statistics_storeSingularReadings $hashName,$singleReading,$dev,$statReadingName,$readingName,$statType,$period,$statValue,$value,$saveLast + # statistics_storeSingularReadings $hashName,$singularReadings,$dev,$statReadingName,$readingName,$statType,$period,$statValue,$lastValue,$saveLast my $statValue = sprintf "%.".$decPlaces."f", $stat[1]; - statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Min",$period,$statValue,$value,$saveLast); + if ($saveLast) { $lastValue = $statValue; $statValue = $value; } + statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Min",$period,$statValue,$lastValue,$saveLast); $statValue = sprintf "%.".$decPlaces."f", $stat[3]; - statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Avg",$period,$statValue,$value,$saveLast); + if ($saveLast) { $lastValue = $statValue; $statValue = $value; } + statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Avg",$period,$statValue,$lastValue,$saveLast); $statValue = sprintf "%.".$decPlaces."f", $stat[5]; - statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Max",$period,$statValue,$value,$saveLast); + if ($saveLast) { $lastValue = $statValue; $statValue = $value; } + statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Max",$period,$statValue,$lastValue,$saveLast); } # Store hidden reading @@ -1096,12 +1100,20 @@ statistics_UpdateDevReading($$$$)