diff --git a/fhem/contrib/97_GROUP.pm b/fhem/contrib/97_GROUP.pm index f3b818cdb..ba2a8413b 100644 --- a/fhem/contrib/97_GROUP.pm +++ b/fhem/contrib/97_GROUP.pm @@ -1,19 +1,22 @@ ################################################################################ -#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA # 97 GROUP # Feedback: http://groups.google.com/group/fhem-users # Logging to RRDs # Autor: a[PUNKT]r[BEI]oo2p[PUNKT]net -# Stand: 19.03.2010 -# Version: 0.9.5 -#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA +# Stand: 21.03.2010 +# Version: 0.9.0 +# ToDos: +# - Delete empty Categories in sub GRP_Undef +# - rebuild $hash->{defptr} and $hash->{conf} in sub GROUP_Initialize ################################################################################ # Usage: # define GROUP # set ADD/DEL :: # # Spezial Categories: -# SHOWLEFT -> This cat shows Name und Value of READING on the Left-Side (DIV-Left) +# SHOWLEFT -> DisplayName & Value are shown on the Left-Side (DIV-Left) +# +# Unkown RAEDINGS: ??? ################################################################################ package main; use strict; @@ -36,15 +39,15 @@ sub GROUP_Initialize($) $data{FWEXT}{$fhem_url}{NAME} = $name; # Rebuild - delete $hash->{defptr}; - delete $hash->{conf}; - foreach my $d (sort keys %defs) { - # # Log 0, "GROUP INIT $d:" . $defs{$d}{TYPE}; - next if(!defined($defs{$d}{TYPE})); - next if($defs{$d}{TYPE} ne "GROUP"); - my $cat = $defs{$d}{STATE}; - my $ret = &GRP_HANDLE_CAT($d,$cat); - } + # delete $hash->{defptr}; + # delete $hash->{conf}; + # foreach my $d (sort keys %defs) { + # # Log 0, "GROUP INIT $d:" . $defs{$d}{TYPE}; + # next if(!defined($defs{$d}{TYPE})); + # next if($defs{$d}{TYPE} ne "GROUP"); + # my $cat = $defs{$d}{STATE}; + # my $ret = &GRP_HANDLE_CAT($d,$cat); + # } return undef; } @@ -52,18 +55,14 @@ sub GROUP_Initialize($) sub GRP_Define(){ # define GROUP # If no Cat is defined: = - # define GROUP SHOWLEFT - # Show this Values in DIV-Container LEFT my ($self, $defs) = @_; # # Log 0, "GROUP DEFINE " . Dumper(@_); my $name = $self->{NAME}; - # defs = $a[0] $a[1] GROUP $a[2] $a[3] SHOWLEFT - # $VAR2 = 'L01 GROUP SHOWLEFT'; + # defs = $a[0] $a[1] GROUP $a[2]; my @a = split(/ /, $defs); # CATEGORY my $cat = $name; if(int(@a) gt 2){$cat = $a[2];} - # Log 0, "GROUP DEFINE CAT:" . $cat; my $ret = &GRP_HANDLE_CAT($name,$cat); # Save cat to State $self->{STATE} = $cat; @@ -97,21 +96,18 @@ sub GRP_Set() # set ADD/DEL :: # @a => a[0]:; a[1]=ADD; a[2]= : my ($self, @a) = @_; - # FHEMWEB Frage....Auswahliste - # Log 0, "GROUP SET " . Dumper(@_); + # FHEMWEB Question....select return "GROUP Unknown argument $a[1], choose one of ". join(" ",sort keys %{$self->{READINGS}}) if($a[1] eq "?"); # ADD if($a[1] eq "ADD") { my ($name,$dev,$reading) = split(/:/,$a[2]); if(!defined($defs{$dev})){return "Device unkwon";} - # Log 0 , "GRP SET ". $a[0] . ":" . $a[1] . ":" . $dev . ":" . $reading; $self->{READINGS}{$name}{VAL} = $dev . ":" . $reading; $self->{READINGS}{$name}{TIME} = TimeNow(); } if($a[1] eq "DEL") { - # @a => a[0]:; a[1]=DEL; a[2]= - delete $self->{READINGS}{$a[2]}; - } + delete $self->{READINGS}{$a[2]}; + } # Set GROUP-CAT # set CAT if($a[1] eq "CAT") { @@ -150,8 +146,9 @@ sub GRP_CGI_CSS() { my $css; $css = "