From 760cae9af18d6095556aa7421a7c4780f9bb3396 Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Fri, 11 Jul 2014 12:35:23 +0000 Subject: [PATCH] added valueColumn attribute git-svn-id: https://svn.fhem.de/fhem/trunk@6237 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/33_readingsGroup.pm | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 994ebc0e4..1a48bfecc 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - feature: readingsGroup: added valueColumn attribute - feature: readingsGroup: added ...,@,... argument format - feature: 52_I2C_PCF8574.pm: added attribute OnStartup 52_I2C_PCA9532.pm: added attribute OnStartup, diff --git a/fhem/FHEM/33_readingsGroup.pm b/fhem/FHEM/33_readingsGroup.pm index 5eec46d8d..a835e1185 100644 --- a/fhem/FHEM/33_readingsGroup.pm +++ b/fhem/FHEM/33_readingsGroup.pm @@ -40,7 +40,7 @@ sub readingsGroup_Initialize($) #$hash->{SetFn} = "readingsGroup_Set"; $hash->{GetFn} = "readingsGroup_Get"; $hash->{AttrFn} = "readingsGroup_Attr"; - $hash->{AttrList} = "disable:1,2,3 nameIcon valueIcon mapping separator style nameStyle valueColumns valueStyle valueFormat commands timestampStyle noheading:1 nolinks:1 nonames:1 notime:1 nostate:1 alwaysTrigger:1 sortDevices:1"; + $hash->{AttrList} = "disable:1,2,3 nameIcon valueIcon mapping separator style nameStyle valueColumn valueColumns valueStyle valueFormat commands timestampStyle noheading:1 nolinks:1 nonames:1 notime:1 nostate:1 alwaysTrigger:1 sortDevices:1"; $hash->{FW_detailFn} = "readingsGroup_detailFn"; $hash->{FW_summaryFn} = "readingsGroup_detailFn"; @@ -385,12 +385,19 @@ readingsGroup_2html($) $value_format = $vf if( $vf ); } + my $value_column = AttrVal( $d, "valueColumn", "" ); + if( $value_column =~ m/^{.*}$/ ) { + my $vc = eval $value_column; + $value_column = $vc if( $vc ); + } + my $value_columns = AttrVal( $d, "valueColumns", "" ); if( $value_columns =~ m/^{.*}$/ ) { my $vc = eval $value_columns; $value_columns = $vc if( $vc ); } + my $mapping = AttrVal( $d, "mapping", ""); $mapping = eval $mapping if( $mapping =~ m/^{.*}$/ ); #$mapping = undef if( ref($mapping) ne 'HASH' ); @@ -433,6 +440,7 @@ readingsGroup_2html($) @list = split(",",$regex) if( $regex ); my $first = 1; my $multi = @list; + my $column = 1; #foreach my $regex (@list) { for( my $i = 0; $i <= $#list; ++$i ) { my $regex = $list[$i]; @@ -600,6 +608,7 @@ readingsGroup_2html($) $v = $value_format; } + my $value_column = lookup2($value_column,$name,$n,undef); my $value_columns = lookup2($value_columns,$name,$n,$v); my $a = AttrVal($name2, "alias", $name2); @@ -683,11 +692,20 @@ readingsGroup_2html($) $v = "
$v
" if( $value_style && !$devStateIcon ); $ret .= "
$txt
" if( $show_names && ($first || $multi == 1) ); + + if( $value_column && $multi ) { + while ($column < $value_column ) { + $ret .= ""; + ++$column; + } + } + $ret .= "$devStateIcon" if( $devStateIcon ); $ret .= "
$v
" if( !$devStateIcon ); $ret .= "
$t
" if( $show_time && $t ); $first = 0; + ++$column; } } } @@ -1125,6 +1143,9 @@ readingsGroup_Attr($$$)
  • valueStyle
    Specify an HTML style for the reading values, e.g.:
    attr temperatures valueStyle style="text-align:right"
  • +
  • valueColumn
    + Specify the minimum column in which a reading should appear.
    + attr temperatures valueColumn { temperature => 2 }
  • valueColumns
    Specify an HTML colspan for the reading values, e.g.:
    attr wzReceiverRG valueColumns { eventdescription => 'colspan="4"' }