mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
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:
parent
ccd4c88857
commit
b22fc5cc1a
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user