Fix group state
This commit is contained in:
@@ -73,7 +73,7 @@ sub handleFeed {
|
|||||||
|
|
||||||
my $item = getItem($id);
|
my $item = getItem($id);
|
||||||
$item->{'order'} = $order++ if (!defined $item->{'order'});
|
$item->{'order'} = $order++ if (!defined $item->{'order'});
|
||||||
$log->debug('Namespace: ', $namespace, ' Name: ', $name, ' - ', $item->{'name'}, ' - ', $item->{'order'});
|
$log->debug('getEntities: '.$id.' - '.$item->{'name'}.' - '.$item->{'order'});
|
||||||
push @$items, $item;
|
push @$items, $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -94,7 +94,7 @@ sub getItem {
|
|||||||
my ($id) = @_;
|
my ($id) = @_;
|
||||||
my ($namespace, $name) = split('\.', $id, 2);
|
my ($namespace, $name) = split('\.', $id, 2);
|
||||||
|
|
||||||
$log->debug('Namespace: ', $namespace, ' Name: ', $name);
|
$log->debug($id);
|
||||||
|
|
||||||
if ($namespace eq 'group') {
|
if ($namespace eq 'group') {
|
||||||
|
|
||||||
@@ -107,20 +107,17 @@ sub getItem {
|
|||||||
if (!grep(!/light\./, @{$entities{$id}->{'attributes'}->{'entity_id'}})) {
|
if (!grep(!/light\./, @{$entities{$id}->{'attributes'}->{'entity_id'}})) {
|
||||||
|
|
||||||
$namespace = 'light';
|
$namespace = 'light';
|
||||||
my $tid = 'light.'.$name;
|
|
||||||
if (!defined $entities{$tid}) {
|
my $tid = $namespace.'.'.$name;
|
||||||
$entities{$tid} = $entities{$id};
|
$entities{$tid} = $entities{$id};
|
||||||
}
|
push @{$entities{$id}->{'attributes'}->{'entity_id'}}, $tid;
|
||||||
if (!grep(/$tid/, @{$entities{$id}->{'attributes'}->{'entity_id'}})) {
|
|
||||||
push @{$entities{$id}->{'attributes'}->{'entity_id'}}, $tid;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach my $gid(@{$entities{$id}->{'attributes'}->{'entity_id'}}) {
|
foreach my $gid(@{$entities{$id}->{'attributes'}->{'entity_id'}}) {
|
||||||
my $gitem = getItem($gid, %entities);
|
my $gitem = getItem($gid, %entities);
|
||||||
$gitem->{'order'} = $gorder++ if (!defined $gitem->{'order'});
|
$gitem->{'order'} = $gorder++ if (!defined $gitem->{'order'});
|
||||||
|
|
||||||
$log->debug('Namespace: ', $namespace, ' Name: ', $name, ' - ', $gitem->{'name'}, ' - ', $gitem->{'order'});
|
$log->debug($id.' - '.$gitem->{'name'}.' - '.$gitem->{'order'});
|
||||||
push @$gitems, $gitem;
|
push @$gitems, $gitem;
|
||||||
}
|
}
|
||||||
$gitems = [ sort { uc($a->{order}) cmp uc($b->{order}) } @$gitems ];
|
$gitems = [ sort { uc($a->{order}) cmp uc($b->{order}) } @$gitems ];
|
||||||
|
|||||||
Reference in New Issue
Block a user