From c147fd8b6f05114390d628b8d84bdd4aebcc3d39 Mon Sep 17 00:00:00 2001
From: hexenmeister
Date: Sat, 11 Sep 2021 16:20:35 +0000
Subject: [PATCH] improvement: use makeReadingName
git-svn-id: https://svn.fhem.de/fhem/trunk@24952 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/FHEM/10_MQTT_DEVICE.pm | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/fhem/FHEM/10_MQTT_DEVICE.pm b/fhem/FHEM/10_MQTT_DEVICE.pm
index f77302e92..4cb03e10b 100644
--- a/fhem/FHEM/10_MQTT_DEVICE.pm
+++ b/fhem/FHEM/10_MQTT_DEVICE.pm
@@ -84,6 +84,7 @@ BEGIN {
defs
AttrVal
ReadingsVal
+ makeReadingName
))
};
@@ -248,33 +249,38 @@ sub onmessage($$$) {
Log3($hash->{NAME},5,"calling readingsSingleUpdate($hash->{NAME},$reading,$message,1)");
readingsSingleUpdate($hash,$reading,$message,1);
}
- } elsif ($topic =~ $hash->{'.autoSubscribeExpr'}) {
- Log3($hash->{NAME},5,"calling readingsSingleUpdate($hash->{NAME},$1,$message,1)");
- CommandAttr(undef,"$hash->{NAME} subscribeReading_$1 $topic");
- readingsSingleUpdate($hash,$1,$message,1);
+ } elsif ($topic =~ m{$hash->{'.autoSubscribeExpr'}}) {
+ my $rname = $1;
+ $rname = makeReadingName($rname);
+ return if !defined $rname;
+ Log3($hash->{NAME},5,"calling readingsSingleUpdate($hash->{NAME}, $rname, $message,1)");
+ CommandAttr(undef,"$hash->{NAME} subscribeReading_$rname $topic");
+ readingsSingleUpdate($hash,$rname,$message,1);
}
+ return;
}
1;
+__END__
=pod
=item [device]
=item summary MQTT_DEVICE acts as a fhem-device that is mapped to mqtt-topics
=begin html
-
+
MQTT_DEVICE
acts as a fhem-device that is mapped to mqtt-topics.
requires a MQTT-device as IODev
Note: this module is based on Net::MQTT which needs to be installed from CPAN first.
-
+
Define
-
+
Set
-
@@ -292,7 +298,7 @@ sub onmessage($$$) {
attr mqttest eventMap { dev=>{ 'true'=>'on', 'false'=>'off' }, usr=>{ '^on$'=>'true', '^off$'=>'false' }, fw=>{ '^on$'=>'on', '^off$'=>'off' } }
-
+
Attributes