From b7d9d9e1428b725e6591dae05938d9538f387696 Mon Sep 17 00:00:00 2001 From: Nerivec <62446222+Nerivec@users.noreply.github.com> Date: Wed, 24 Jul 2024 21:58:48 +0200 Subject: [PATCH] fix: Improve looping when retrieving all devices from herdsman (#23405) --- lib/zigbee.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/zigbee.ts b/lib/zigbee.ts index 043889d4b..728b3f733 100644 --- a/lib/zigbee.ts +++ b/lib/zigbee.ts @@ -330,10 +330,15 @@ export default class Zigbee { } devices(includeCoordinator = true): Device[] { - return this.herdsman - .getDevices() - .map((d) => this.resolveDevice(d.ieeeAddr)) - .filter((d) => includeCoordinator || d.zh.type !== 'Coordinator'); + const devices: Device[] = []; + + for (const device of this.herdsman.getDevices()) { + if (includeCoordinator || device.type !== 'Coordinator') { + devices.push(this.resolveDevice(device.ieeeAddr)); + } + } + + return devices; } @bind private async acceptJoiningDeviceHandler(ieeeAddr: string): Promise {