From 1658ffe7403e4b8c0e82a9d84c3240fd9c6bcb6c Mon Sep 17 00:00:00 2001 From: Damian <> Date: Fri, 21 Sep 2018 13:28:15 +0000 Subject: [PATCH] 98_DOIF.pm: time check in perl mode fixed git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@17380 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/98_DOIF.pm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/FHEM/98_DOIF.pm b/FHEM/98_DOIF.pm index d3b93302d..4ce3110aa 100644 --- a/FHEM/98_DOIF.pm +++ b/FHEM/98_DOIF.pm @@ -1585,15 +1585,13 @@ DOIF_CheckTimers($$$$) my $end; my $intervaltimer; - if ($timer !~ /^\s*(\[.*\]|\{.*\}|\(.*\)|\+.*|[0-9][0-9]:.*|:[0-5][0-9])$/ and $hash->{MODEL} eq "Perl") { - return ($timer,"no timer"); - } $timer =~ s/\s//g; ($timer,$days)=SplitDoIf('|',$timer); $days="" if (!defined $days); ($timer,$intervaltimer)=SplitDoIf(',',$timer); ($time,$end)=SplitDoIf('-',$timer); + if (defined $intervaltimer) { if (!defined $end) { return($timer,"intervaltimer without time interval"); @@ -1601,12 +1599,18 @@ DOIF_CheckTimers($$$$) } $i=$hash->{helper}{last_timer}++; if (defined $time) { + if ($time !~ /^\s*(\[.*\]|\{.*\}|\(.*\)|\+.*|[0-9][0-9]:.*|:[0-5][0-9])$/ and $hash->{MODEL} eq "Perl") { + return ($timer,"no timer"); + } ($result,$err) = DOIF_getTime($hash,$condition,$time,$trigger,$i,$days); return ($result,$err) if ($err); } else { return($timer,"no timer defined"); } if (defined $end) { + if ($end !~ /^\s*(\[.*\]|\{.*\}|\(.*\)|\+.*|[0-9][0-9]:.*|:[0-5][0-9])$/ and $hash->{MODEL} eq "Perl") { + return ($timer,"no timer"); + } ($result,$err) = DOIF_getTime($hash,$condition,$end,$trigger,$hash->{helper}{last_timer}++,$days); return ($result,$err) if ($err); }