From e90182642db9fa9d4c23c20eff9b3131dd220a2c Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Tue, 6 Oct 2020 19:28:32 +0200 Subject: [PATCH] Republish groups on device remove. https://github.com/nurikk/z2m-frontend/issues/31 --- lib/extension/bridge.js | 1 + test/bridge.test.js | 2 ++ 2 files changed, 3 insertions(+) diff --git a/lib/extension/bridge.js b/lib/extension/bridge.js index 2197cbc2e..af58c3bd6 100644 --- a/lib/extension/bridge.js +++ b/lib/extension/bridge.js @@ -392,6 +392,7 @@ class Bridge extends Extension { logger.info(`Successfully removed ${entity.type} '${entity.settings.friendlyName}'${blockForceLog}`); if (entity.type === 'device') { + this.publishGroups(); this.publishDevices(); return utils.getResponse(message, {id: ID, block, force}, null); } else { diff --git a/test/bridge.test.js b/test/bridge.test.js index 76383afa6..1ac9183a0 100644 --- a/test/bridge.test.js +++ b/test/bridge.test.js @@ -294,6 +294,8 @@ describe('Bridge', () => { {retain: false, qos: 0}, expect.any(Function) ); expect(settings.get().blocklist).toStrictEqual([]); + expect(MQTT.publish).toHaveBeenCalledWith('zigbee2mqtt/bridge/devices', expect.any(String), expect.any(Object), expect.any(Function)); + expect(MQTT.publish).toHaveBeenCalledWith('zigbee2mqtt/bridge/groups', expect.any(String), expect.any(Object), expect.any(Function)); }); it('Should allow to remove device by object ID', async () => {