From dbb8e7257e399d3d97ddc4502d8c10ddf28bc25d Mon Sep 17 00:00:00 2001 From: tpoitzsch <> Date: Sat, 10 May 2014 07:59:06 +0000 Subject: [PATCH] bugfix: Type of arg 1 to keys must be hash or array (not hash element) at... git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@5805 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/98_statistics.pm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/FHEM/98_statistics.pm b/FHEM/98_statistics.pm index 53ef82be3..dc35b1d5a 100644 --- a/FHEM/98_statistics.pm +++ b/FHEM/98_statistics.pm @@ -44,7 +44,7 @@ sub statistics_doStatisticMinMaxSingle ($$$$$$); sub statistics_doStatisticDelta ($$$$$); # Modul Version for remote debugging - my $modulVersion = "2014-05-04"; + my $modulVersion = "2014-05-10"; ############################################################## # Syntax: deviceType, readingName, statisticType, decimalPlaces @@ -133,12 +133,12 @@ statistics_Notify($$) my $devName = $dev->{NAME}; # At startup: delete old Readings of monitored devices and rebuild from hidden readings - if ($devName eq "global" && grep (m/^INITIALIZED|REREADCFG$/,@{$dev->{CHANGED}}) && exists ($hash->{READINGS})) { - my %unknownDevices; - foreach my $r (keys ($hash->{READINGS})) { + if ($devName eq "global" && grep (m/^INITIALIZED|REREADCFG$/,@{$dev->{CHANGED}})) { + my %unknownDevices; + foreach my $r (keys %{$hash->{READINGS}}) { if ($r =~ /^\.(.*):.*/) { $unknownDevices{$1}++; } } - foreach my $r (keys $hash->{READINGS}) { + foreach my $r (keys %{$hash->{READINGS}}) { if ($r =~ /^monitoredDevices.*/) { Log3 $name,5,"$name: Initialization - Delete old reading '$r'."; delete($hash->{READINGS}{$r}); @@ -225,7 +225,7 @@ statistics_PeriodChange($) elsif ($monthNow != $monthLast) { $periodSwitch = 3; } elsif ($dayNow != $dayLast) { $periodSwitch = 2; } - foreach my $r (keys $hash->{READINGS}) + foreach my $r (keys %{$hash->{READINGS}}) { if ($r =~ /^monitoredDevices.*/) { if ($r !~/UnknownTypes|Unsupported/) { @@ -299,7 +299,7 @@ statistics_DoStatistics($$$) my $monReadingName; if ($statisticDone ==1) { $monReadingName = "monitoredDevices".$devType; - readingsBulkUpdate($hash,"state","Last calculated device: $devName",1); + readingsBulkUpdate($hash,"state","Updated stats for: $devName",1); } else { $monReadingName = "monitoredDevicesUnsupported"; $devName .= "($devType)", }