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.