From 02bc325fc2cfd2f04908d9e3ac4ef8907b81aa4d Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Sat, 19 Mar 2022 16:41:22 +0100 Subject: [PATCH] Fix configure failing when rejoining device. #10973 --- lib/extension/configure.ts | 2 +- test/configure.test.js | 16 ++-------------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/lib/extension/configure.ts b/lib/extension/configure.ts index e6befa866c..6109f46616 100644 --- a/lib/extension/configure.ts +++ b/lib/extension/configure.ts @@ -85,7 +85,7 @@ export default class Configure extends Extension { private async configure(device: Device, event: 'started' | 'zigbee_event' | 'reporting_disabled' | 'mqtt_message', force=false, thowError=false): Promise { if (!force) { - if (!device.definition?.configure || device.zh.interviewing) { + if (!device.definition?.configure || !device.zh.interviewCompleted) { return; } diff --git a/test/configure.test.js b/test/configure.test.js index 2e7ef95b89..750e9350d3 100644 --- a/test/configure.test.js +++ b/test/configure.test.js @@ -192,19 +192,7 @@ describe('Configure', () => { expect(logger.warn).toHaveBeenCalledWith(`Skipping configure of 'ZNLDP12LM', device does not require this.`) }); - it('Should not configure when interviewing', async () => { - const device = zigbeeHerdsman.devices.remote; - delete device.meta.configured; - device.interviewing = true; - const endpoint = device.getEndpoint(1); - mockClear(device); - await zigbeeHerdsman.events.lastSeenChanged({device}); - await flushPromises(); - expectRemoteNotConfigured(); - device.interviewing = false; - }); - - it('Should configure when not interviewCompleted', async () => { + it('Should not configure when interview not completed', async () => { const device = zigbeeHerdsman.devices.remote; delete device.meta.configured; device.interviewCompleted = false; @@ -212,7 +200,7 @@ describe('Configure', () => { mockClear(device); await zigbeeHerdsman.events.lastSeenChanged({device}); await flushPromises(); - expectRemoteConfigured(); + expectRemoteNotConfigured(); device.interviewCompleted = true; });