From 5e340b9159f262d4f258683f1b62a66e95a840bb Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 27 Mar 2022 10:22:58 +0000 Subject: [PATCH] 10_MQTT2_DEVICE.pm: check the regexp in the readingList (Forum #126969) git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@25888 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/10_MQTT2_DEVICE.pm | 4 ++++ FHEM/91_notify.pm | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/FHEM/10_MQTT2_DEVICE.pm b/FHEM/10_MQTT2_DEVICE.pm index c9121ef04..6d8730936 100644 --- a/FHEM/10_MQTT2_DEVICE.pm +++ b/FHEM/10_MQTT2_DEVICE.pm @@ -474,6 +474,10 @@ MQTT2_DEVICE_Attr($$) return "$dev attr $attrName: more parameters needed" if(!$par2); if($atype eq "reading") { + $par1 =~ s/\$[a-z0-9_]+/\.\*/gi; + eval { "Hallo" =~ m/^$par1$/ }; + return "Bad regexp in $dev readingList: $@" if($@); + if($par2 =~ m/^{.*}\s*$/) { my %v = ("%TOPIC"=>1, "%EVENT"=>"0 1 2 3 4 5 6 7 8 9", "%NAME"=>$dev, "%CID"=>"clientId", "%JSONMAP"=>""); diff --git a/FHEM/91_notify.pm b/FHEM/91_notify.pm index 34cb050c1..fdf5377b4 100644 --- a/FHEM/91_notify.pm +++ b/FHEM/91_notify.pm @@ -55,7 +55,7 @@ notify_Define($$) # Checking for misleading regexps return "Bad regexp: starting with *" if($re =~ m/^\*/); eval { "Hallo" =~ m/^$re$/ }; - return "Bad regexp: $@" if($@); + return "Bad regexp in $name definition: $@" if($@); $hash->{REGEXP} = $re; my %specials= ( "%NAME" => $name,