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,