mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
10_ZWave.pm: add links to parent/children for Multi_Endpoint devices (Forum #50176)
git-svn-id: https://svn.fhem.de/fhem/trunk@12237 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
949bb9afa1
commit
a30b0cb4dc
@ -21,6 +21,7 @@ sub ZWave_secStart($);
|
||||
sub ZWave_secEnd($);
|
||||
sub ZWave_configParseModel($;$);
|
||||
sub ZWave_callbackId($);
|
||||
sub ZWave_setEndpoints($);
|
||||
|
||||
our ($FW_ME,$FW_tp,$FW_ss);
|
||||
our %zwave_id2class;
|
||||
@ -650,6 +651,8 @@ ZWave_Initialize($)
|
||||
|
||||
|
||||
#############################
|
||||
my $zw_init_ordered;
|
||||
|
||||
sub
|
||||
ZWave_Define($$)
|
||||
{
|
||||
@ -688,9 +691,44 @@ ZWave_Define($$)
|
||||
asyncOutput($hash->{IODev}{addCL}, "created $name") if($hash->{IODev});
|
||||
ZWave_SetClasses($homeId, $id, undef, $a[0]);
|
||||
}
|
||||
|
||||
if($init_done) {
|
||||
ZWave_setEndpoints($hash);
|
||||
} else {
|
||||
if(!$zw_init_ordered) {
|
||||
$zw_init_ordered = 1;
|
||||
InternalTimer(1, "ZWave_setEndpoints", $hash, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return undef;
|
||||
}
|
||||
|
||||
sub
|
||||
ZWave_setEndpoints($)
|
||||
{
|
||||
my $mp = $modules{ZWave}{defptr};
|
||||
for my $k (sort keys %{$mp}) {
|
||||
my $h = $mp->{$k};
|
||||
delete($h->{endpointRoot});
|
||||
delete($h->{endpointChildren});
|
||||
}
|
||||
for my $k (sort keys %{$mp}) {
|
||||
my $h = $mp->{$k};
|
||||
next if($h->{nodeIdHex} !~ m/(..)(..)/);
|
||||
my ($root, $lid) = ($1, $2);
|
||||
my $rd = $mp->{$h->{homeId}." ".$root};
|
||||
$h->{endpointRoot} = ($rd ? $rd->{NAME} : "unknown");
|
||||
if($rd) {
|
||||
if($rd->{endpointChildren}) {
|
||||
$rd->{endpointChildren} .= " ".$h->{NAME};
|
||||
} else {
|
||||
$rd->{endpointChildren} = $h->{NAME};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub
|
||||
ZWave_initFromModelfile($$$)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user