mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 23:06:37 +00:00
10_ZWave.pm: security_classes/classes change (Forum #38587)
git-svn-id: https://svn.fhem.de/fhem/trunk@9774 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
320799100d
commit
6d9f1dad48
@ -1985,7 +1985,48 @@ ZWave_secSupported($$)
|
||||
$zwave_id2class{lc($sec_classId)} : "UNKNOWN_".lc($sec_classId);
|
||||
}
|
||||
$attr{$name}{secure_classes} = join(" ", @sec_classes)
|
||||
if (@sec_classes && !$attr{$name}{secure_classes});
|
||||
if (@sec_classes);
|
||||
}
|
||||
|
||||
# Add new secure_classes to classes if not already present
|
||||
# Needed for classes that are only supported with SECURITY
|
||||
|
||||
if ($attr{$name}{secure_classes} && $attr{$name}{classes}) {
|
||||
my $classes = $attr{$name}{classes};
|
||||
my $secure_classes = $attr{$name}{secure_classes};
|
||||
my $c1;
|
||||
my $c2;
|
||||
my $s1;
|
||||
my $s2;
|
||||
my $classname;
|
||||
|
||||
if ($classes =~ m/(.*)(MARK)(.*)/) {
|
||||
($c1, $c2) = ($1, $2 . $3);
|
||||
} else {
|
||||
($c1, $c2) = ($classes, "");
|
||||
}
|
||||
|
||||
if ($secure_classes =~ m/(.*)(MARK)(.*)/) {
|
||||
($s1, $s2) = ($1, $2 . $3);
|
||||
} else {
|
||||
($s1, $s2) = ($secure_classes, "");
|
||||
}
|
||||
|
||||
foreach $classname (split(" ", $s1)) {
|
||||
if ($c1 !~ m/$classname/) {
|
||||
$c1 = join (" ", $c1, $classname);
|
||||
}
|
||||
}
|
||||
|
||||
foreach $classname (split(" ", $s2)) {
|
||||
if ($c2 !~ m/$classname/) {
|
||||
$c2 = join (" ", $c2, $classname);
|
||||
}
|
||||
}
|
||||
|
||||
$classes = join (" ", $c1, $c2);
|
||||
$classes =~ s/ +/ /gs;
|
||||
$attr{$name}{classes} = $classes;
|
||||
}
|
||||
|
||||
if ($iodev->{secInitName} && $hash->{secStatus}) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user