From 70446b02b75b7ee3544d6ef4d31dda929c0a6163 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Mon, 10 Jul 2023 09:32:40 +0000 Subject: [PATCH] sequence.pm: add strictSequence Attribute (Forum #121953) git-svn-id: https://svn.fhem.de/fhem/trunk@27742 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/91_sequence.pm | 73 ++++++++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 21 deletions(-) diff --git a/fhem/FHEM/91_sequence.pm b/fhem/FHEM/91_sequence.pm index 55a88ed93..a14af53e7 100644 --- a/fhem/FHEM/91_sequence.pm +++ b/fhem/FHEM/91_sequence.pm @@ -23,6 +23,7 @@ sequence_Initialize($) reportEvents:1,0 triggerPartial:1,0 showtime:1,0 + strictSequence:1,0 ); use warnings 'qw'; $hash->{AttrList} = join(" ", @attrList); @@ -79,11 +80,17 @@ sequence_Notify($$) my $events = deviceEvents($dev, AttrVal($ln, "addStateEvent", 0)); return if(!$events); my $max = int(@{$events}); + my $strictSequence = AttrVal($ln, "strictSequence", 0); for (my $i = 0; $i < $max; $i++) { my $s = $events->[$i]; $s = "" if(!defined($s)); - next if($n !~ m/^$re$/ && "$n:$s" !~ m/^$re$/); + if($n !~ m/^$re$/ && "$n:$s" !~ m/^$re$/) { + next if(!$strictSequence && $hash->{IDX}); + RemoveInternalTimer($ln); + sequence_Trigger($ln, "abort-strict"); + return ""; + } RemoveInternalTimer($ln); $hash->{last_source} = $n; @@ -169,12 +176,12 @@ sequence_Undef($$) =item summary_DE generiert Event nach Empfang einer definierten Event-Sequenz =begin html - +

sequence