diff --git a/FHEM/93_InfluxDBLogger.pm b/FHEM/93_InfluxDBLogger.pm index d889a7d09..485d15095 100644 --- a/FHEM/93_InfluxDBLogger.pm +++ b/FHEM/93_InfluxDBLogger.pm @@ -197,9 +197,16 @@ sub InfluxDBLogger_GetMeasurement($$$) my ($hash, $dev_hash, $device, $reading, $value) = @_; my $name = $hash->{NAME}; - my $measurement = AttrVal($name, "measurement", $reading); - $measurement =~ s/\$DEVICE/$device/ei; - $measurement =~ s/\$READINGNAME/$reading/ei; + my $measurement = AttrVal($name, "measurement", undef); + + if (defined $measurement) { + $measurement =~ s/\{(.*)\}/eval($1)/ei; + $measurement =~ s/\$DEVICE/$device/ei; + $measurement =~ s/\$READINGNAME/$reading/ei; + } + else { + $measurement = $reading; + } return $measurement; } @@ -213,8 +220,8 @@ sub InfluxDBLogger_GetTagSet($$$) if ( $tags_set eq "-" ) { $tags_set = undef; } else { - $tags_set =~ s/\{(.*)\}/eval($1) /ei; - $tags_set =~ s/\$DEVICE/$device /ei; + $tags_set =~ s/\{(.*)\}/eval($1)/ei; + $tags_set =~ s/\$DEVICE/$device/ei; } } else { $tags_set = AttrVal($name, "deviceTagName", "site_name")."=".$device; @@ -598,13 +605,15 @@ sub InfluxDBLogger_Rename($$) { The keyword $DEVICE will be replaced by the device-name. The keyword $READINGNAME will be replaced by the reading-name Default is $READINGNAME. + Perl-Expressions can be used in curly braces. $name, $device, $reading, $value are available as variables. + attr influx measurement { AttrVal($device, "influx_measurement", $reading)}
attr <name> tags <x,y>
attr <name> fields <val=$READINGVALUE>
attr <name> tags <x,y>