diff --git a/fhem/FHEM/98_HMinfo.pm b/fhem/FHEM/98_HMinfo.pm index 0e92c961e..79df53380 100644 --- a/fhem/FHEM/98_HMinfo.pm +++ b/fhem/FHEM/98_HMinfo.pm @@ -1446,8 +1446,8 @@ sub HMinfo_SetFn($@) {######################################################### } $cmd = "?" if(!$cmd);# by default print options - if ($cmd eq "clear" ) {##actionImmediate: clear parameter-------------- - my ($type) = @a; + if ($cmd =~ m/^clear[G]?/ ) {##actionImmediate: clear parameter-------------- + my ($type) = @a; return "please enter what to clear" if (! $type); if ($type eq "msgStat" || $type eq "all" ){ foreach (keys %{$modules{CUL_HM}{stat}{r}}){ @@ -1458,18 +1458,20 @@ sub HMinfo_SetFn($@) {######################################################### } } if ($type ne "msgStat"){ - return "unknown parameter - use Protocol, readings, msgStat, register, rssi or all" - if ($type !~ m/^(Protocol|readings|register|oldRegs|rssi|all|trigger)$/); - $opt .= "d" if ($type =~ m/(Protocol|rssi)/);# readings apply to all, others device only + return "unknown parameter - use msgEvents, readings, msgStat, register, rssi or all" + if ($type !~ m/^(msgEvents|readings|register|oldRegs|rssi|all|trigger)$/); + $opt .= "d" if ($type =~ m/(msgEvents|rssi)/);# readings apply to all, others device only my @entities; - $type = "msgEvents" if ($type eq "Protocol");# translate parameter foreach my $dName (HMinfo_getEntities($opt,$filter)){ push @entities,$dName; CUL_HM_Set($defs{$dName},$dName,"clear",$type); } - return $cmd.$type." done:" ."\n cleared" ."\n ".(join "\n ",sort @entities) - ; + $ret = $cmd.$type." done:" + ."\n cleared" + ."\n ".(join "\n ",sort @entities) + if($filter);# no return if no filter } + HMinfo_status($hash); } elsif($cmd eq "autoReadReg"){##actionImmediate: re-issue register Read------- my @entities; @@ -1562,7 +1564,8 @@ sub HMinfo_SetFn($@) {######################################################### else{ my @cmdLst = ( "autoReadReg" - ,"clear" #:msgStat,Protocol,all,rssi,register,trigger,readings" + ,"clear" #:msgStat,msgEvents,all,rssi,register,trigger,readings" + ,"clearG:msgEvents,readings,register,oldRegs,rssi,msgStat,trigger,attack,all" ,"archConfig:-0,-a","saveConfig","verifyConfig","loadConfig","purgeConfig" ,"update" ,"cpRegs" @@ -1603,13 +1606,17 @@ sub HMInfo_help(){ ############################################################ ."\n range: min to max value" ."\n count: number of events in calculation" ."\n ---clear status---" - ."\n set clear [-typeFilter-] [Protocol|readings|msgStat|register|rssi]" - ."\n Protocol # delete all protocol-events" - ."\n readings # delete all readings" - ."\n register # delete all register-readings" - ."\n rssi # delete all rssi data" - ."\n msgStat # delete message statistics" - ."\n all # delete all of the above" + ."\n set clear[G] [-typeFilter-] [msgEvents|readings|msgStat|register|rssi]" + ."\n # delete readings selective" + ."\n msgEvents # delete all protocol-events , msg events" + ."\n readings # all readings" + ."\n register # all register-readings" + ."\n oldRegs # outdated register (cleanup) " + ."\n rssi # all rssi data " + ."\n msgStat # message statistics" + ."\n trigger # trigger readings" + ."\n attack # attack related readings" + ."\n all # all of the above" ."\n ---help---" ."\n get help #" ."\n ***footnote***" @@ -2673,7 +2680,7 @@ sub HMinfo_noDup(@) {#return list with no duplicates###########################