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