Hallo zusammen ,
ich weis zwar nicht was an dem Sequence Modul gemacht worden ist aber meine Sequenzen werden nicht mehr ausgeführt .
Die Schalter kommen im Eventmonitor an . Allerdings schaltet die Sequenz einfach nicht mehr. Hier die Sequence : define 123 sequence Btn_01:Short*.* 10 Btn_02:Short*.* hier der Schalter define test notify 123:trigger set Box_Decke on.
Ich habe mir das Modul aus der Sicherung vor Update geholt und siehe da alles funktioniert wieder.
Wahrscheinlich hängt es mit dieser Änderung zusammen -> https://forum.fhem.de/index.php/topic,113108.0.html
Sicherlich gut in diesem Thread zu melden.
Davon abgesehen würde ich die Definition besser so schreiben:
define 123 sequence Btn_01:Short 10 Btn_02:Short
oder vllt. auch:
define 123 sequence Btn_01:^Short 10 Btn_02:^Short
Grüße,
Heiko
ZitatWahrscheinlich hängt es mit dieser Änderung zusammen -> https://forum.fhem.de/index.php/topic,113108.0.html
Richtig, ich tendiere leider beim Patch Einbauen das Denken dem Patch-Erstellen zu ueberlassen.
Sollte jetzt gefixt sein.
Zitatdefine 123 sequence Btn_01:^Short 10 Btn_02:^Short
Diese Variante wird nicht funktionieren, da device:event zusammen geprueft werden.
The new commit has a side-effect that when subsequent patterns in the DEF skip the device name, NOTIFYDEV is not set anymore.
fhem> list Seq_EnO_FEF75504 DEF
Seq_EnO_FEF75504 EnO_FEF75504|EnO_FEF08262:BI 0.40 :BI
fhem> {notifyRegexpCheck 'EnO_FEF75504|EnO_FEF08262:BI|:BI' }
EnO_FEF75504: device EnO_FEF75504 (OK)
EnO_FEF08262:BI: device EnO_FEF08262 (OK)
:BI: no match (ignored)
Fixed with following patch:
--- - 2020-08-17 19:45:57.201647634 +0200
+++ /srv/fhem/FHEM/91_sequence.pm 2020-08-17 19:45:55.182140037 +0200
@@ -52,7 +52,7 @@
return "Bad regexp 1: $@" if($@);
return "Bad timeout spec $to" # timeout or delay:timeout
if (defined($to) && $to !~ m/^(\d+(\.\d+)?:)?\d+(\.\d+)?$/);
- push @reList,$re;
+ push @reList,$re if ((split(':', $re))[0] ne '');
}
$hash->{RE} = $def[0];
Thanks for the hint.
I modified your patch slightly by using regexp instead of split, and I also delayed calling notifyRegexpChanged, for cases where the sequence is defined before the device referenced in the regexp.