From 3e7bab95067b06f93437fde8f22c84be3fa3fd98 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 22 Jan 2019 18:29:59 +0000 Subject: [PATCH] 10_MQTT2_DEVICE.pm: do not escape value for perl fhem.pl: check if associatedWith exists git-svn-id: https://svn.fhem.de/fhem/trunk@18381 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_MQTT2_DEVICE.pm | 4 ++-- fhem/fhem.pl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/10_MQTT2_DEVICE.pm b/fhem/FHEM/10_MQTT2_DEVICE.pm index 6c8b3ef38..e974077eb 100644 --- a/fhem/FHEM/10_MQTT2_DEVICE.pm +++ b/fhem/FHEM/10_MQTT2_DEVICE.pm @@ -179,9 +179,9 @@ MQTT2_DEVICE_Parse($$) if(!$add) { $topic =~ m,.*/([^/]+),; $add = ($1 ? $1 : $topic); + $add = makeReadingName($add); # Convert non-valid characters to _ } - $add = makeReadingName($add); # Convert non-valid characters to _ $topic =~ s,([\^\$\[\]()\.\\]),\\$1,g; for my $ch (@{$cidArr}) { @@ -193,7 +193,7 @@ MQTT2_DEVICE_Parse($$) CommandAttr(undef, "$nn readingList $rl$regex $add") if(index($rl, $regex) == -1); # Forum #84372 setReadingsVal($defs{$nn}, "associatedWith", $parentBridge, TimeNow()) - if($parentBridge); + if($parentBridge && $defs{$nn}); } MQTT2_DEVICE_Parse($iodev, $msg); }, undef); diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 4ae560c09..687c8ff81 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -2651,7 +2651,7 @@ CommandRename($$) my $aw = ReadingsVal($d, "associatedWith", ""); next if($aw !~ m/\b$old\b/); $aw =~ s/\b$old\b/$new/; - setReadingsVal($defs{$d}, "associatedWith", $aw, TimeNow()); + setReadingsVal($defs{$d}, "associatedWith", $aw, TimeNow()) if($defs{$d}); } addStructChange("rename", $new, $param); @@ -5664,7 +5664,7 @@ getPawList($) } } my $aw = ReadingsVal($d, "associatedWith", ""); # Explicit link - push(@dob, split("[ ,]",$aw)) if($aw); + push(@dob, grep { $defs{$_} } split("[ ,]",$aw)) if($aw); return @dob; }