From 7077de2541e37a216a71e03fe9f10b73e9357210 Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Fri, 11 Nov 2016 08:40:40 +0000 Subject: [PATCH] 33_readingsGroup.pm: allow .. in lookups git-svn-id: https://svn.fhem.de/fhem/trunk@12545 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/33_readingsGroup.pm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/fhem/FHEM/33_readingsGroup.pm b/fhem/FHEM/33_readingsGroup.pm index 49d4a91f2..a93e2d10e 100644 --- a/fhem/FHEM/33_readingsGroup.pm +++ b/fhem/FHEM/33_readingsGroup.pm @@ -283,8 +283,9 @@ lookup($$$$$$$$$) if( ref($mapping) eq 'HASH' ) { $default = $mapping->{$name} if( defined($mapping->{$name}) ); $default = $mapping->{$reading} if( defined($mapping->{$reading}) ); - $default = $mapping->{$name.".".$reading} if( defined($mapping->{$name.".".$reading}) ); - $default = $mapping->{$reading.".".$value} if( defined($mapping->{$reading.".".$value}) ); + $default = $mapping->{"$name.$reading"} if( defined($mapping->{"$name.$reading"}) ); + $default = $mapping->{"$reading.$value"} if( defined($mapping->{"$reading.$value"}) ); + $default = $mapping->{"$name.$reading.$value"} if( defined($mapping->{"$name.$reading.$value"}) ); } else { $default = $mapping; } @@ -349,8 +350,9 @@ lookup2($$$$;$$) my $vf = ""; $vf = $lookup->{""} if( defined( $lookup->{""} ) ); $vf = $lookup->{$reading} if( defined($reading) && exists($lookup->{$reading}) ); - $vf = $lookup->{$name.".".$reading} if( defined($reading) && exists($lookup->{$name.".".$reading}) ); - $vf = $lookup->{$reading.".".$value} if( defined($value) && exists($lookup->{$reading.".".$value}) ); + $vf = $lookup->{"$name.$reading"} if( defined($reading) && exists($lookup->{"$reading.$value"}) ); + $vf = $lookup->{"$reading.$value"} if( defined($value) && exists($lookup->{"$reading.$value"}) ); + $vf = $lookup->{"$name.$reading.$value"} if( defined($value) && exists($lookup->{"$name.$reading.$value"}) ); $vf = $lookup->{"r:$row"} if( defined($row) && exists($lookup->{"r:$row"}) ); $vf = $lookup->{"c:$column"} if( defined($column) && exists($lookup->{"c:$column"}) ); $vf = $lookup->{"r:$row,c:$column"} if( defined($row) && defined($column) && exists($lookup->{"r:$row,c:$column"}) ); @@ -1727,7 +1729,8 @@ readingsGroup_Attr($$$;$) If set to 1 the reading timestamp is not displayed.
  • mapping
    Can be a simple string or a perl expression enclosed in {} that returns a hash that maps reading names - to the displayed name. The keys can be either the name of the reading or <device>.<reading>. + to the displayed name. The keys can be either the name of the reading or <device>.<reading> or + <reading>.<value> or <device>.<reading>.<value>. %DEVICE, %ALIAS, %ROOM, %GROUP, %ROW and %READING are replaced by the device name, device alias, room attribute, group attribute and reading name respectively. You can also prefix these keywords with $ instead of %. Examples:
    attr temperatures mapping $DEVICE-$READING