From 9b3432965f235bc91bfb2f244030cb0cfded72bc Mon Sep 17 00:00:00 2001
From: rudolfkoenig <>
Date: Fri, 9 Nov 2018 09:24:03 +0000
Subject: [PATCH] 00_MQTT2_CLIENT.pm: delete readingList when setting
bridgeRegexp (Forum #84790)
git-svn-id: https://svn.fhem.de/fhem/trunk@17712 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/FHEM/00_MQTT2_CLIENT.pm | 3 ++-
fhem/FHEM/10_MQTT2_DEVICE.pm | 13 +++++++++++--
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/fhem/FHEM/00_MQTT2_CLIENT.pm b/fhem/FHEM/00_MQTT2_CLIENT.pm
index ea45156e1..49e49884c 100644
--- a/fhem/FHEM/00_MQTT2_CLIENT.pm
+++ b/fhem/FHEM/00_MQTT2_CLIENT.pm
@@ -270,7 +270,7 @@ MQTT2_CLIENT_Read($@)
if(AttrVal($name, "verbose", 1) >= 5) {
my $pltxt = $pl;
$pltxt =~ s/([^ -~])/"(".ord($1).")"/ge;
- Log3 $name, 5, "$cpt: $pltxt";
+ Log3 $name, 5, "$name: received $cpt $pltxt";
}
####################################
@@ -328,6 +328,7 @@ MQTT2_CLIENT_doPublish($$$$)
my $name = $hash->{NAME};
return if(IsDisabled($name));
$val = "" if(!defined($val));
+ Log3 $name, 5, "$name: sending PUBLISH $topic $val";
addToWritebuffer($hash,
pack("C",0x30).
MQTT2_CLIENT_calcRemainingLength(2+length($topic)+length($val)).
diff --git a/fhem/FHEM/10_MQTT2_DEVICE.pm b/fhem/FHEM/10_MQTT2_DEVICE.pm
index 57db0d67b..a60134291 100644
--- a/fhem/FHEM/10_MQTT2_DEVICE.pm
+++ b/fhem/FHEM/10_MQTT2_DEVICE.pm
@@ -332,6 +332,12 @@ MQTT2_DEVICE_Attr($$)
return "$dev $attrName regexp error: $@" if($@);
$modules{MQTT2_DEVICE}{defptr}{bridge}{$par1} = $par2;
}
+
+ if($init_done) {
+ my $name = $hash->{NAME};
+ AnalyzeCommandChain(undef,
+ "deleteattr $name readingList; deletereading $name .*");
+ }
}
return undef;
@@ -437,9 +443,12 @@ MQTT2_DEVICE_Undef($$)
will create different MQTT2_DEVICE instances for different hex numbers in
the topic. Note: the newClientId is enclosed in "", as it is a perl
expression, should be unique, and the automatically created device will
- be created also with this name.
-
+ be created also with this name.
+
Multiple tuples of <regexp> newClientId are separated by newline.
+
+ Note: setting bridgeRegexp will remove th readingList attribute and all
+ readings.