mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-01 01:09:47 +00:00
clear all option
git-svn-id: https://svn.fhem.de/fhem/trunk@6231 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
5fc714f346
commit
f68fbda7b6
@ -3071,53 +3071,63 @@ sub CUL_HM_Set($@) {#+++++++++++++++++ set command+++++++++++++++++++++++++++++
|
||||
}
|
||||
}
|
||||
elsif($cmd eq "clear") { ####################################################
|
||||
my (undef,undef,$sect) = @a;
|
||||
if ($sect eq "readings"){
|
||||
my @cH = ($hash);
|
||||
push @cH,$defs{$hash->{$_}} foreach(grep /^channel/,keys %{$hash});
|
||||
delete $_->{READINGS} foreach (@cH);
|
||||
delete $modules{CUL_HM}{helper}{cfgCmpl}{$name};
|
||||
CUL_HM_complConfig($_->{NAME}) foreach (@cH);
|
||||
my (undef,undef,$sectIn) = @a;
|
||||
my @sectL;
|
||||
if ($sectIn eq "all") {
|
||||
@sectL = ("rssi","msgEvents","readings");#readings is last - it schedules a reread possible
|
||||
}
|
||||
elsif($sect eq "register"){
|
||||
my @cH = ($hash);
|
||||
push @cH,$defs{$hash->{$_}} foreach(grep /^channel/,keys %{$hash});
|
||||
|
||||
foreach my $h(@cH){
|
||||
delete $h->{READINGS}{$_}
|
||||
foreach (grep /^(\.?)(R-|RegL)/,keys %{$h->{READINGS}});
|
||||
delete $modules{CUL_HM}{helper}{cfgCmpl}{$name};
|
||||
CUL_HM_complConfig($h->{NAME});
|
||||
}
|
||||
}
|
||||
elsif($sect eq "msgEvents"){
|
||||
CUL_HM_respPendRm($hash);
|
||||
|
||||
$hash->{helper}{prt}{bErr}=0;
|
||||
delete $hash->{cmdStack};
|
||||
delete $hash->{helper}{prt}{rspWait};
|
||||
delete $hash->{helper}{prt}{rspWaitSec};
|
||||
delete $hash->{helper}{prt}{mmcA};
|
||||
delete $hash->{helper}{prt}{mmcS};
|
||||
delete ($hash->{$_}) foreach (grep(/^prot/,keys %{$hash}));
|
||||
|
||||
if ($hash->{IODev}{NAME} &&
|
||||
$modules{CUL_HM}{$hash->{IODev}{NAME}} &&
|
||||
$modules{CUL_HM}{$hash->{IODev}{NAME}}{pendDev}){
|
||||
@{$modules{CUL_HM}{$hash->{IODev}{NAME}}{pendDev}} =
|
||||
grep !/$name/,@{$modules{CUL_HM}{$hash->{IODev}{NAME}}{pendDev}};
|
||||
}
|
||||
CUL_HM_unQEntity($name,"qReqConf");
|
||||
CUL_HM_unQEntity($name,"qReqStat");
|
||||
CUL_HM_protState($hash,"Info_Cleared");
|
||||
}
|
||||
elsif($sect eq "rssi"){
|
||||
delete $defs{$name}{helper}{rssi};
|
||||
delete ($hash->{$_}) foreach (grep(/^rssi/,keys %{$hash}))
|
||||
elsif($sectIn =~ m/(rssi|msgEvents|readings|register)/){
|
||||
@sectL = ($sectIn);
|
||||
}
|
||||
else{
|
||||
return "unknown section. User readings, msgEvents or rssi";
|
||||
}
|
||||
foreach my $sect (@sectL){
|
||||
if ($sect eq "readings"){
|
||||
my @cH = ($hash);
|
||||
push @cH,$defs{$hash->{$_}} foreach(grep /^channel/,keys %{$hash});
|
||||
delete $_->{READINGS} foreach (@cH);
|
||||
delete $modules{CUL_HM}{helper}{cfgCmpl}{$name};
|
||||
CUL_HM_complConfig($_->{NAME}) foreach (@cH);
|
||||
CUL_HM_qStateUpdatIfEnab($_->{NAME}) foreach (@cH);
|
||||
}
|
||||
elsif($sect eq "register"){
|
||||
my @cH = ($hash);
|
||||
push @cH,$defs{$hash->{$_}} foreach(grep /^channel/,keys %{$hash});
|
||||
|
||||
foreach my $h(@cH){
|
||||
delete $h->{READINGS}{$_}
|
||||
foreach (grep /^(\.?)(R-|RegL)/,keys %{$h->{READINGS}});
|
||||
delete $modules{CUL_HM}{helper}{cfgCmpl}{$name};
|
||||
CUL_HM_complConfig($h->{NAME});
|
||||
}
|
||||
}
|
||||
elsif($sect eq "msgEvents"){
|
||||
CUL_HM_respPendRm($hash);
|
||||
|
||||
$hash->{helper}{prt}{bErr}=0;
|
||||
delete $hash->{cmdStack};
|
||||
delete $hash->{helper}{prt}{rspWait};
|
||||
delete $hash->{helper}{prt}{rspWaitSec};
|
||||
delete $hash->{helper}{prt}{mmcA};
|
||||
delete $hash->{helper}{prt}{mmcS};
|
||||
delete ($hash->{$_}) foreach (grep(/^prot/,keys %{$hash}));
|
||||
|
||||
if ($hash->{IODev}{NAME} &&
|
||||
$modules{CUL_HM}{$hash->{IODev}{NAME}} &&
|
||||
$modules{CUL_HM}{$hash->{IODev}{NAME}}{pendDev}){
|
||||
@{$modules{CUL_HM}{$hash->{IODev}{NAME}}{pendDev}} =
|
||||
grep !/$name/,@{$modules{CUL_HM}{$hash->{IODev}{NAME}}{pendDev}};
|
||||
}
|
||||
CUL_HM_unQEntity($name,"qReqConf");
|
||||
CUL_HM_unQEntity($name,"qReqStat");
|
||||
CUL_HM_protState($hash,"Info_Cleared");
|
||||
}
|
||||
elsif($sect eq "rssi"){
|
||||
delete $defs{$name}{helper}{rssi};
|
||||
delete ($hash->{$_}) foreach (grep(/^rssi/,keys %{$hash}))
|
||||
}
|
||||
}
|
||||
$state = "";
|
||||
}
|
||||
elsif($cmd eq "reset") { ####################################################
|
||||
@ -7151,13 +7161,14 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
|
||||
|
||||
Universal commands (available to most hm devices):
|
||||
<ul>
|
||||
<li><B>clear <[readings|register|msgEvents]></B><a name="CUL_HMclear"></a><br>
|
||||
<li><B>clear <[readings|register|msgEvents|all]></B><a name="CUL_HMclear"></a><br>
|
||||
A set of variables can be removed.<br>
|
||||
<ul>
|
||||
readings: all readings will be deleted. Any new reading will be added usual. May be used to eliminate old data<br>
|
||||
register: all captured register-readings in FHEM will be removed. This has NO impact to the values in the device.<br>
|
||||
msgEvents: all message event counter will be removed. Also commandstack will be cleared. <br>
|
||||
rssi: collected rssi values will be cleared. <br>
|
||||
all: all of the above. <br>
|
||||
</ul>
|
||||
</li>
|
||||
<li><B>getConfig</B><a name="CUL_HMgetConfig"></a><br>
|
||||
@ -8434,13 +8445,14 @@ sub CUL_HM_tempListTmpl(@) { ##################################################
|
||||
|
||||
Allgemeine Befehle (verfügbar für die meisten HM-Geräte):
|
||||
<ul>
|
||||
<li><B>clear <[readings|register|msgEvents]></B><a name="CUL_HMclear"></a><br>
|
||||
<li><B>clear <[readings|register|msgEvents|all]></B><a name="CUL_HMclear"></a><br>
|
||||
Eine Reihe von Variablen kann entfernt werden.<br>
|
||||
<ul>
|
||||
readings: Alle Messwerte werden gelöscht, neue Werte werden normal hinzugefügt. Kann benutzt werden um alte Daten zu entfernen<br>
|
||||
register: Alle in FHEM aufgezeichneten Registerwerte werden entfernt. Dies hat KEINEN Einfluss auf Werte im Gerät.<br>
|
||||
msgEvents: Alle Anchrichtenzähler werden gelöscht. Ebenso wird der Befehlsspeicher zurückgesetzt. <br>
|
||||
rssi: gesammelte RSSI-Werte werden gelöscht. <br>
|
||||
rssi: gesammelte RSSI-Werte werden gelöscht.<br>
|
||||
all: alles oben genannte.<br>
|
||||
</ul>
|
||||
</li>
|
||||
<li><B>getConfig</B><a name="CUL_HMgetConfig"></a><br>
|
||||
|
@ -1015,12 +1015,13 @@ sub HMinfo_GetFn($@) {#########################################################
|
||||
."\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 set clear [<typeFilter>] [Protocol|readings|msgStat|register|rssi|all]"
|
||||
."\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 ---help---"
|
||||
."\n get help #"
|
||||
."\n ***footnote***"
|
||||
@ -1086,7 +1087,7 @@ sub HMinfo_SetFn($@) {#########################################################
|
||||
$cmd = "?" if(!$cmd);# by default print options
|
||||
if ($cmd eq "clear" ) {##actionImmediate: clear parameter--------------
|
||||
my ($type) = @a;
|
||||
if ($type eq "msgStat"){
|
||||
if ($type eq "msgStat" || $type eq "all" ){
|
||||
foreach (keys %{$modules{CUL_HM}{stat}{r}}){
|
||||
next if ($_ ne "dummy");
|
||||
delete $modules{CUL_HM}{stat}{$_};
|
||||
@ -1095,9 +1096,9 @@ sub HMinfo_SetFn($@) {#########################################################
|
||||
}
|
||||
return;
|
||||
}
|
||||
else{
|
||||
return "unknown parameter - use Protocol, readings, msgStat, register or rssi"
|
||||
if ($type !~ m/^(Protocol|readings|register|rssi)$/);
|
||||
if ($type ne "msgStat"){
|
||||
return "unknown parameter - use Protocol, readings, msgStat, register, rssi or all"
|
||||
if ($type !~ m/^(Protocol|readings|register|rssi|all)$/);
|
||||
$opt .= "d" if ($type !~ m/(readings|register)/);# readings apply to all, others device only
|
||||
my @entities;
|
||||
$type = "msgEvents" if ($type eq "Protocol");# translate parameter
|
||||
|
@ -1255,7 +1255,7 @@ $culHmRegChan{"ROTO_ZEL-STG-RM-FWT03"}= $culHmRegChan{"HM-CC-TC03"};
|
||||
getRegRaw => "[List0|List1|List2|List3|List4|List5|List6] ... [<PeerChannel>]",
|
||||
getConfig => "",
|
||||
regSet => "[prep|exec] <regName> <value> ... [<peerChannel>]",
|
||||
clear => "[readings|register|rssi|msgEvents]",
|
||||
clear => "[readings|register|rssi|msgEvents|all]",
|
||||
);
|
||||
%culHmGlobalSetsVrtDev = (# virtuals and devices without subtype
|
||||
raw => "data ...",
|
||||
|
Loading…
Reference in New Issue
Block a user