From 7e9dfd4f41e483d4a14f9a20e8bc7dadce278ea5 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Sat, 26 Oct 2019 18:05:40 +0200 Subject: [PATCH] Accept device without log when no ban or whitelist set. --- lib/zigbee.js | 4 +++- test/controller.test.js | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/zigbee.js b/lib/zigbee.js index 7b651f02..c4fe1e23 100644 --- a/lib/zigbee.js +++ b/lib/zigbee.js @@ -224,7 +224,7 @@ class Zigbee extends events.EventEmitter { logger.info(`Rejecting joining non-whitelisted device '${ieeeAddr}'`); return false; } - } else { + } else if (settings.get().ban.length > 0) { if (settings.get().ban.includes(ieeeAddr)) { logger.info(`Rejecting joining banned device '${ieeeAddr}'`); return false; @@ -232,6 +232,8 @@ class Zigbee extends events.EventEmitter { logger.info(`Accepting joining non-banned device '${ieeeAddr}'`); return true; } + } else { + return true; } } } diff --git a/test/controller.test.js b/test/controller.test.js index d94dbbfa..08ca0540 100644 --- a/test/controller.test.js +++ b/test/controller.test.js @@ -291,6 +291,13 @@ describe('Controller', () => { expect(await handler(device.ieeeAddr)).toBe(true); }); + it('acceptJoiningDeviceHandler accept when no ban and whitelist', async () => { + await controller.start(); + const device = zigbeeHerdsman.devices.bulb; + const handler = zigbeeHerdsman.constructor.mock.calls[0][0].acceptJoiningDeviceHandler; + expect(await handler(device.ieeeAddr)).toBe(true); + }); + it('Shouldnt crash when two device join events are received', async () => { await controller.start(); const device = zigbeeHerdsman.devices.bulb;