10_ZWave.pm: be more silen for secure commands (Forum #41337)

git-svn-id: https://svn.fhem.de/fhem/trunk@9588 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2015-10-22 10:19:20 +00:00
parent ccd4c88857
commit b22fc5cc1a

View File

@ -396,10 +396,12 @@ my %zwave_class = (
NON_INTEROPERABLE => { id => 'f0' }, NON_INTEROPERABLE => { id => 'f0' },
); );
my %zwave_noStateSetCmds = ( my %zwave_quietCmds = (
secScheme=>1, secScheme=>1,
sendNonce=>1, sendNonce=>1,
secEncap=>1 secEncap=>1,
secNonce=>1
); );
my %zwave_cmdArgs = ( my %zwave_cmdArgs = (
@ -619,13 +621,13 @@ ZWave_Cmd($$@)
if(!$cmdList{$cmd}) { if(!$cmdList{$cmd}) {
my @list; my @list;
foreach my $cmd (sort keys %cmdList) { foreach my $lcmd (sort keys %cmdList) {
if($zwave_cmdArgs{$type}{$cmd}) { if($zwave_cmdArgs{$type}{$lcmd}) {
push @list, "$cmd:$zwave_cmdArgs{$type}{$cmd}"; push @list, "$lcmd:$zwave_cmdArgs{$type}{$lcmd}";
} elsif($cmdList{$cmd}{fmt} !~ m/%/) { } elsif($cmdList{$lcmd}{fmt} !~ m/%/) {
push @list, "$cmd:noArg"; push @list, "$lcmd:noArg";
} else { } else {
push @list, $cmd; push @list, $lcmd;
} }
} }
my $list = join(" ",@list); my $list = join(" ",@list);
@ -674,10 +676,10 @@ ZWave_Cmd($$@)
} }
if($cmd =~ m/^config/ && $cmd ne "configRequestAll") { if($cmd =~ m/^config/ && $cmd ne "configRequestAll") {
my ($err, $cmd) = my ($err, $lcmd) =
ZWave_configCheckParam($hash, $cfgReq, $type, $cmd, $cmdFmt, @a); ZWave_configCheckParam($hash, $cfgReq, $type, $cmd, $cmdFmt, @a);
return $err if($err); return $err if($err);
$cmdFmt = $cmd; $cmdFmt = $lcmd;
} else { } else {
$cmdFmt = sprintf($cmdFmt, @a) if($nArg); $cmdFmt = sprintf($cmdFmt, @a) if($nArg);
my ($err, $ncmd) = eval($cmdFmt) if($cmdFmt !~ m/^\d/); my ($err, $ncmd) = eval($cmdFmt) if($cmdFmt !~ m/^\d/);
@ -686,7 +688,8 @@ ZWave_Cmd($$@)
return "" if($ncmd && $ncmd eq "EMPTY"); # e.g. configRequestAll return "" if($ncmd && $ncmd eq "EMPTY"); # e.g. configRequestAll
} }
Log3 $name, 2, "ZWave $type $name $cmd ".join(" ", @a); Log3 $name, 2, "ZWave $type $name $cmd ".join(" ", @a)
if(!$zwave_quietCmds{$cmd});
my ($baseClasses, $baseHash) = ($classes, $hash); my ($baseClasses, $baseHash) = ($classes, $hash);
if($id =~ m/(..)(..)/) { # Multi-Channel, encapsulate if($id =~ m/(..)(..)/) { # Multi-Channel, encapsulate
@ -748,12 +751,13 @@ ZWave_Cmd($$@)
$val = ($data ? ZWave_Parse($iohash, $data, $type) : "no data returned"); $val = ($data ? ZWave_Parse($iohash, $data, $type) : "no data returned");
} else { } else {
$cmd .= " ".join(" ", @a) if(@a); if(!$zwave_quietCmds{$cmd}) {
$cmd .= " ".join(" ", @a) if(@a);
readingsSingleUpdate($hash, "state", $cmd, 1);
}
} }
readingsSingleUpdate($hash, "state", $cmd, 1)
if($type eq "set" && !$zwave_noStateSetCmds{( split / /, $cmd, 2 )[0]});
return $val; return $val;
} }