mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-23 20:52:13 +00:00
10_MQTT2_DEVICE.pm: add autocreate (Forum #94060)
00_MQTT2_SERVER.pm: change default from 0 to 1. git-svn-id: https://svn.fhem.de/fhem/trunk@17953 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e9e5ebe83f
commit
107b3c3e43
@ -36,9 +36,9 @@ MQTT2_CLIENT_Initialize($)
|
|||||||
|
|
||||||
no warnings 'qw';
|
no warnings 'qw';
|
||||||
my @attrList = qw(
|
my @attrList = qw(
|
||||||
autocreate
|
autocreate:1,0
|
||||||
clientId
|
clientId
|
||||||
disable:0,1
|
disable:1,0
|
||||||
disabledForIntervals
|
disabledForIntervals
|
||||||
lwt
|
lwt
|
||||||
lwtRetain
|
lwtRetain
|
||||||
|
@ -40,7 +40,7 @@ MQTT2_SERVER_Initialize($)
|
|||||||
no warnings 'qw';
|
no warnings 'qw';
|
||||||
my @attrList = qw(
|
my @attrList = qw(
|
||||||
SSL:0,1
|
SSL:0,1
|
||||||
autocreate
|
autocreate:0,1
|
||||||
disable:0,1
|
disable:0,1
|
||||||
disabledForIntervals
|
disabledForIntervals
|
||||||
keepaliveFactor
|
keepaliveFactor
|
||||||
@ -418,7 +418,7 @@ MQTT2_SERVER_doPublish($$$$;$)
|
|||||||
if(defined($src->{cid})) { # "real" MQTT client
|
if(defined($src->{cid})) { # "real" MQTT client
|
||||||
my $cid = $src->{cid};
|
my $cid = $src->{cid};
|
||||||
$cid =~ s,[^a-z0-9._],_,gi;
|
$cid =~ s,[^a-z0-9._],_,gi;
|
||||||
my $ac = AttrVal($tgt->{NAME}, "autocreate", undef) ? "autocreate:":"";
|
my $ac = AttrVal($tgt->{NAME}, "autocreate", 1) ? "autocreate:":"";
|
||||||
Dispatch($tgt, "$ac$cid:$tp:$val", undef, !$ac);
|
Dispatch($tgt, "$ac$cid:$tp:$val", undef, !$ac);
|
||||||
my $re = AttrVal($tgt->{NAME}, "rawEvents", undef);
|
my $re = AttrVal($tgt->{NAME}, "rawEvents", undef);
|
||||||
DoTrigger($tgt->{NAME}, "$tp:$val") if($re && $tp =~ m/$re/);
|
DoTrigger($tgt->{NAME}, "$tp:$val") if($re && $tp =~ m/$re/);
|
||||||
@ -612,8 +612,8 @@ MQTT2_SERVER_getStr($$)
|
|||||||
|
|
||||||
<a name="autocreate"></a>
|
<a name="autocreate"></a>
|
||||||
<li>autocreate<br>
|
<li>autocreate<br>
|
||||||
If set, MQTT2_DEVICES will be automatically created upon receiving an
|
MQTT2_DEVICES will be automatically created upon receiving an
|
||||||
unknown message.
|
unknown message. Set this value to 0 to disable autocreating.
|
||||||
</li><br>
|
</li><br>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -22,6 +22,7 @@ MQTT2_DEVICE_Initialize($)
|
|||||||
no warnings 'qw';
|
no warnings 'qw';
|
||||||
my @attrList = qw(
|
my @attrList = qw(
|
||||||
IODev
|
IODev
|
||||||
|
autocreate:0,1
|
||||||
bridgeRegexp:textField-long
|
bridgeRegexp:textField-long
|
||||||
devicetopic
|
devicetopic
|
||||||
disable:0,1
|
disable:0,1
|
||||||
@ -173,6 +174,7 @@ MQTT2_DEVICE_Parse($$)
|
|||||||
|
|
||||||
for my $ch (@{$cidArr}) {
|
for my $ch (@{$cidArr}) {
|
||||||
my $nn = $ch->{NAME};
|
my $nn = $ch->{NAME};
|
||||||
|
next if(!AttrVal($nn, "autocreate", 1));
|
||||||
my $rl = AttrVal($nn, "readingList", "");
|
my $rl = AttrVal($nn, "readingList", "");
|
||||||
$rl .= "\n" if($rl);
|
$rl .= "\n" if($rl);
|
||||||
my $regexpCid = ($cid eq $newCid ? "$cid:" : "");
|
my $regexpCid = ($cid eq $newCid ? "$cid:" : "");
|
||||||
@ -483,6 +485,13 @@ zigbee2mqtt_devStateIcon255($)
|
|||||||
<b>Attributes</b>
|
<b>Attributes</b>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
<a name="autocreate"></a>
|
||||||
|
<li>autocreate {0|1}<br>
|
||||||
|
if set to 0, disables extending the readingList, when the IODev
|
||||||
|
autocreate is also set. Default is 1, i.e. new topics will be
|
||||||
|
automatically added to the readingList.
|
||||||
|
</li>
|
||||||
|
|
||||||
<a name="bridgeRegexp"></a>
|
<a name="bridgeRegexp"></a>
|
||||||
<li>bridgeRegexp <regexp> newClientId ...<br>
|
<li>bridgeRegexp <regexp> newClientId ...<br>
|
||||||
Used to automatically redirect some types of topics to different
|
Used to automatically redirect some types of topics to different
|
||||||
|
Loading…
x
Reference in New Issue
Block a user