From 94052abd8ac1c31ddd4c1a6c88fb50791dfcdec0 Mon Sep 17 00:00:00 2001 From: dietmar63 <> Date: Mon, 24 Nov 2014 22:27:02 +0000 Subject: [PATCH] 98_Heating_Control.pm, 98_WeekdayTimer.pm : bug in computing switchingtimes repaired git-svn-id: https://svn.fhem.de/fhem/trunk@7061 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_Heating_Control.pm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/fhem/FHEM/98_Heating_Control.pm b/fhem/FHEM/98_Heating_Control.pm index 866e76748..f336d41ab 100644 --- a/fhem/FHEM/98_Heating_Control.pm +++ b/fhem/FHEM/98_Heating_Control.pm @@ -203,7 +203,7 @@ sub Heating_Control_ParseSwitchingProfile($$$) { my $name = $hash->{NAME}; my $language = $hash->{LANGUAGE}; - + my %dayNumber=(); my $daysRegExp = "("; for(my $idx=0; $idx<7; $idx++) { @@ -270,9 +270,11 @@ sub Heating_Control_ParseSwitchingProfile($$$) { } @days = sort(SortNumber keys %hdays); - + + my $TIME_AS_PERL = 0; if($time =~ m/^\{.*\}$/g) { - $hash->{TIME_AS_PERL} = 1; + $TIME_AS_PERL = 1; + $hash->{TIME_AS_PERL} |= 1; } my $now = time(); @@ -281,7 +283,7 @@ sub Heating_Control_ParseSwitchingProfile($$$) { for (my $d=0; $d<@days; $d++) { # Zeitangabe verarbeiten. - if ($hash->{TIME_AS_PERL}) { # Perlausdruck {*} + if ($TIME_AS_PERL) { # Perlausdruck {*} my $date = $now+($d-$wday)*86400; $timeString = '{ my $date='."$date;" .$time."}"; $timeString = eval( $timeString ); # must deliver HH:MM[:SS] @@ -289,7 +291,7 @@ sub Heating_Control_ParseSwitchingProfile($$$) { } else { $timeString = $time; } - + if ($timeString =~ m/^[0-2][0-9]:[0-5][0-9]$/g) { # HH:MM $timeString .= ":00"; # HH:MM:SS erzeugen } elsif ($timeString =~ m/^[0-2][0-9](:[0-5][0-9]){2,2}$/g) { # HH:MM:SS