diff --git a/fhem/FHEM/98_statistics.pm b/fhem/FHEM/98_statistics.pm
index e327547ac..acdd67866 100644
--- a/fhem/FHEM/98_statistics.pm
+++ b/fhem/FHEM/98_statistics.pm
@@ -67,6 +67,7 @@ sub statistics_FormatDuration($);
,["lock", 3]
,["motion", 3]
,["power", 1, 1]
+ ,["pressure", 1, 1]
,["rain", 2, 1]
,["rain_rate", 1, 1]
,["rain_total", 2, 1]
@@ -263,6 +264,7 @@ statistics_PeriodChange($)
my $dayChangeTime = timelocal(0,0,0,$th[3],$th[4],$th[5]+1900);
if (AttrVal($name, "dayChangeTime", "00:00") =~ /(\d+):(\d+)/ && $1<24 && $1 >=0 && $2<60 && $2>=0) {
$dayChangeDelay = $1 * 3600 + $2 * 60;
+ if ($dayChangeDelay == 0) { $dayChangeDelay = 24*3600; }
$dayChangeTime += $dayChangeDelay - $periodChangePreset;
}
@@ -271,7 +273,7 @@ statistics_PeriodChange($)
my $periodEndTime = 3600 * ( int((gettimeofday()+$periodChangePreset)/3600) + 1 ) - $periodChangePreset ;
# Run procedure also for given dayChangeTime
$val = "";
- if ( $dayChangeDelay>0 && gettimeofday()<$dayChangeTime && $dayChangeTime<=$periodEndTime ) {
+ if ( gettimeofday()<$dayChangeTime && $dayChangeTime<=$periodEndTime ) {
$periodEndTime = $dayChangeTime;
$val = " (Day Change)";
}
@@ -709,7 +711,7 @@ statistics_doStatisticSpecialPeriod ($$$$$)
$result = 0;
foreach my $val (@hidden) { $result += $val; }
$result = sprintf "%.".$decPlaces."f", $result;
- if ($#hidden != $specialPeriod) { $result .= " (".($#hidden+1).".hours)"; }
+ if ($#hidden + 1 != $specialPeriod) { $result .= " (".($#hidden+1).".hours)"; }
readingsBulkUpdate($dev, $statReadingName, $result, 1);
$result = join( " ", @hidden );
@@ -885,7 +887,7 @@ statistics_FormatDuration($)
Until now statistics for the following readings are automatically built:
minAvgMaxReadings <Gerätewerte>
periodChangePreset <Sekunden>