From b66eb7612f09788c4ad1c3596ec6aea2a0756ef7 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Sat, 2 Feb 2019 14:19:02 +0000 Subject: [PATCH] 10_MQTT2_DEVICE.pm: add $NAME/$DEVICETOPIC to perl@setList (Forum #96833) git-svn-id: https://svn.fhem.de/fhem/trunk@18485 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_MQTT2_DEVICE.pm | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/fhem/FHEM/10_MQTT2_DEVICE.pm b/fhem/FHEM/10_MQTT2_DEVICE.pm index 4da09e239..89d440fba 100644 --- a/fhem/FHEM/10_MQTT2_DEVICE.pm +++ b/fhem/FHEM/10_MQTT2_DEVICE.pm @@ -256,7 +256,10 @@ MQTT2_buildCmd($$$) shift @{$a}; if($cmd =~ m/^{.*}$/) { - $cmd = EvalSpecials($cmd, ("%EVENT"=>join(" ",@{$a}), "%NAME"=>$hash->{NAME})); + $cmd = EvalSpecials($cmd, + ("%EVENT" => join(" ",@{$a}), + "%NAME" => $hash->{NAME}, + "%DEVICETOPIC" => $hash->{DEVICETOPIC})); $cmd = AnalyzeCommandChain($hash->{CL}, $cmd); return if(!$cmd); @@ -272,9 +275,10 @@ MQTT2_buildCmd($$$) shift @{$a}; $cmd .= " ".join(" ",@{$a}) if(@{$a}); } + $cmd =~ s/\$NAME/$hash->{NAME}/g; + $cmd =~ s/\$DEVICETOPIC/$hash->{DEVICETOPIC}/g; } - $cmd =~ s/\$DEVICETOPIC/$hash->{DEVICETOPIC}/g; return $cmd; } @@ -374,7 +378,8 @@ MQTT2_DEVICE_Attr($$) if($par2 =~ m/^{.*}$/) { my $ret = perlSyntaxCheck($par2, ("%TOPIC"=>1, "%EVENT"=>"0 1 2 3 4 5 6 7 8 9", - "%NAME"=>$dev, "%DEVICETOPIC"=>$hash->{DEVICETOPIC}, + "%NAME"=>$dev, + "%DEVICETOPIC"=>$hash->{DEVICETOPIC}, "%JSONMAP"=>"")); return $ret if($ret); } else { @@ -383,7 +388,10 @@ MQTT2_DEVICE_Attr($$) } } else { - my $ret = perlSyntaxCheck($par2, ("%EVENT"=>"0 1 2 3 4 5 6 7 8 9")); + my $ret = perlSyntaxCheck($par2, + ("%NAME"=>$dev, + "%EVENT"=>"0 1 2 3 4 5 6 7 8 9", + "%DEVICETOPIC"=>$dev)); return $ret if($ret); } @@ -842,8 +850,9 @@ zigbee2mqtt_devStateIcon255($)