diff --git a/fhem/FHEM/33_readingsGroup.pm b/fhem/FHEM/33_readingsGroup.pm index 97704097d..0ecffff4e 100644 --- a/fhem/FHEM/33_readingsGroup.pm +++ b/fhem/FHEM/33_readingsGroup.pm @@ -123,9 +123,9 @@ readingsGroup_2html($) my $value_style = AttrVal( $d, "valueStyle", "" ); my $timestamp_style = AttrVal( $d, "timestampStyle", "" ); - my $mapping = AttrVal( $d, "mapping", undef); - $mapping = eval $mapping if( $mapping ); - $mapping = undef if( ref($mapping) ne 'HASH' ); + my $mapping = AttrVal( $d, "mapping", ""); + $mapping = eval $mapping if( $mapping =~ m/^{.*}$/ ); + #$mapping = undef if( ref($mapping) ne 'HASH' ); my $devices = $hash->{DEVICES}; @@ -179,11 +179,18 @@ readingsGroup_2html($) my $a = AttrVal($name, "alias", $name); my $m = "$a$separator$n"; - $m = $mapping->{$n} if( defined($mapping) && defined($mapping->{$n}) ); - $m = $mapping->{$name.".".$n} if( defined($mapping) && defined($mapping->{$name.".".$n}) ); - $m =~ s/\%DEVICE/$name/g; - $m =~ s/\%READING/$n/g; - $m =~ s/\%ALIAS/$a/g; + + if( $mapping ) { + if( ref($mapping) eq 'HASH' ) { + $m = $mapping->{$n} if( defined($mapping) && defined($mapping->{$n}) ); + $m = $mapping->{$name.".".$n} if( defined($mapping) && defined($mapping->{$name.".".$n}) ); + } else { + $m = $mapping; + } + $m =~ s/\%DEVICE/$name/g; + $m =~ s/\%READING/$n/g; + $m =~ s/\%ALIAS/$a/g; + } $ret .= "
attr temperatures mapping %READING in %ALIAS
attr temperatures mapping {temperature => "%DEVICE Temperatur"}