mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-01 20:20:10 +00:00
fixed: globalPublish
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@19737 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
457688d5e7
commit
999af83915
@ -30,6 +30,9 @@
|
|||||||
#
|
#
|
||||||
# CHANGE LOG
|
# CHANGE LOG
|
||||||
#
|
#
|
||||||
|
# 25.06.2019 1.2.6
|
||||||
|
# bugfix : globalPublish ohne funktion
|
||||||
|
#
|
||||||
# 06.06.2019 1.2.5
|
# 06.06.2019 1.2.5
|
||||||
# bugfix : Korrekte Trennung von Events mit mehrzeiligen Werten
|
# bugfix : Korrekte Trennung von Events mit mehrzeiligen Werten
|
||||||
# (regex Schalter /sm)
|
# (regex Schalter /sm)
|
||||||
@ -360,7 +363,7 @@ use warnings;
|
|||||||
|
|
||||||
#my $DEBUG = 1;
|
#my $DEBUG = 1;
|
||||||
my $cvsid = '$Id$';
|
my $cvsid = '$Id$';
|
||||||
my $VERSION = "version 1.2.5 by hexenmeister\n$cvsid";
|
my $VERSION = "version 1.2.6 by hexenmeister\n$cvsid";
|
||||||
|
|
||||||
my %sets = (
|
my %sets = (
|
||||||
);
|
);
|
||||||
@ -1088,7 +1091,10 @@ sub getDevicePublishRec($$$) {
|
|||||||
my $globalMap = $map->{':global'};
|
my $globalMap = $map->{':global'};
|
||||||
my $devMap = $map->{$dev};
|
my $devMap = $map->{$dev};
|
||||||
|
|
||||||
|
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> devmap: ".Dumper($devMap));
|
||||||
|
|
||||||
foreach my $key (keys %{$devMap->{':publish'}} ) {
|
foreach my $key (keys %{$devMap->{':publish'}} ) {
|
||||||
|
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> dev: $key");
|
||||||
my($keyRName,$keyPostfix) = split("!",$key);
|
my($keyRName,$keyPostfix) = split("!",$key);
|
||||||
if($keyRName eq $reading) {
|
if($keyRName eq $reading) {
|
||||||
my $devRec = getDevicePublishRecIntern($hash, $devMap, $globalMap, $dev, $key, $reading, $keyPostfix);
|
my $devRec = getDevicePublishRecIntern($hash, $devMap, $globalMap, $dev, $key, $reading, $keyPostfix);
|
||||||
@ -1100,6 +1106,7 @@ sub getDevicePublishRec($$$) {
|
|||||||
if(!@$ret) {
|
if(!@$ret) {
|
||||||
#push(@$ret, getDevicePublishRecIntern($hash, $devMap, $globalMap, $dev, $reading, $reading, undef));
|
#push(@$ret, getDevicePublishRecIntern($hash, $devMap, $globalMap, $dev, $reading, $reading, undef));
|
||||||
foreach my $key (keys %{$devMap->{':publish'}} ) {
|
foreach my $key (keys %{$devMap->{':publish'}} ) {
|
||||||
|
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> dev: $key");
|
||||||
my($keyRName,$keyPostfix) = split("!",$key);
|
my($keyRName,$keyPostfix) = split("!",$key);
|
||||||
if($keyRName eq '*') {
|
if($keyRName eq '*') {
|
||||||
my $devRec = getDevicePublishRecIntern($hash, $devMap, $globalMap, $dev, $key, $reading, $keyPostfix);
|
my $devRec = getDevicePublishRecIntern($hash, $devMap, $globalMap, $dev, $key, $reading, $keyPostfix);
|
||||||
@ -1109,6 +1116,13 @@ sub getDevicePublishRec($$$) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# wenn immer noch keine explizite Readings gefunden wurden, dann noch einmal in globalPublishMap suchen
|
||||||
|
if(!@$ret) {
|
||||||
|
my $devRec = getDevicePublishRecIntern($hash, $devMap, $globalMap, $dev, $reading, $reading, '');
|
||||||
|
#$devRec->{'postfix'}=defined($keyPostfix)?$keyPostfix:'';
|
||||||
|
push(@$ret, $devRec) if defined $devRec;
|
||||||
|
}
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1145,8 +1159,8 @@ sub getDevicePublishRecIntern($$$$$$$) {
|
|||||||
|
|
||||||
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> readingMap ".Dumper($readingMap));
|
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> readingMap ".Dumper($readingMap));
|
||||||
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> wildcardReadingMap ".Dumper($wildcardReadingMap));
|
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> wildcardReadingMap ".Dumper($wildcardReadingMap));
|
||||||
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> readingMap ".Dumper($globalReadingMap));
|
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> global readingMap ".Dumper($globalReadingMap));
|
||||||
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> wildcardReadingMap ".Dumper($globalWildcardReadingsMap));
|
#Log3($hash->{NAME},1,"MQTT_GENERIC_BRIDGE:DEBUG:> [$hash->{NAME}] getDevicePublishRec> global wildcardReadingMap ".Dumper($globalWildcardReadingsMap));
|
||||||
# topic
|
# topic
|
||||||
my $topic = undef;
|
my $topic = undef;
|
||||||
$topic = $readingMap->{'topic'} if defined $readingMap;
|
$topic = $readingMap->{'topic'} if defined $readingMap;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user