diff --git a/lib/extension/deviceBind.js b/lib/extension/deviceBind.js index 5fc2bf48b..6cace0530 100644 --- a/lib/extension/deviceBind.js +++ b/lib/extension/deviceBind.js @@ -11,10 +11,8 @@ const defaultBindGroup = {type: 'group_number', ID: 901}; class DeviceBind extends BaseExtension { onMQTTConnected() { - for (let step = 1; step < 20; step++) { - this.mqtt.subscribe(`${settings.get().mqtt.base_topic}/bridge/bind${'/+'.repeat(step)}`); - this.mqtt.subscribe(`${settings.get().mqtt.base_topic}/bridge/unbind${'/+'.repeat(step)}`); - } + this.mqtt.subscribe(`${settings.get().mqtt.base_topic}/bridge/bind/#`); + this.mqtt.subscribe(`${settings.get().mqtt.base_topic}/bridge/unbind/#`); } async onMQTTMessage(topic, message) { diff --git a/test/deviceBind.test.js b/test/deviceBind.test.js index e73dd4001..c6f48ec75 100644 --- a/test/deviceBind.test.js +++ b/test/deviceBind.test.js @@ -30,11 +30,8 @@ describe('Device bind', () => { MQTT.publish.mockClear(); }); - it('Should subscribe to nested topics', async () => { - expect(MQTT.subscribe).toHaveBeenCalledWith('zigbee2mqtt/bridge/bind/+'); - expect(MQTT.subscribe).toHaveBeenCalledWith('zigbee2mqtt/bridge/bind/+/+'); - expect(MQTT.subscribe).toHaveBeenCalledWith('zigbee2mqtt/bridge/bind/+/+/+'); - expect(MQTT.subscribe).toHaveBeenCalledWith('zigbee2mqtt/bridge/bind/+/+/+/+/+'); + it('Should subscribe to topics', async () => { + expect(MQTT.subscribe).toHaveBeenCalledWith('zigbee2mqtt/bridge/bind/#'); }); it('Should bind', async () => { diff --git a/test/otaUpdate.test.js b/test/otaUpdate.test.js index c75a0934a..a8cc81f7a 100644 --- a/test/otaUpdate.test.js +++ b/test/otaUpdate.test.js @@ -25,7 +25,7 @@ describe('OTA update', () => { MQTT.publish.mockClear(); }); - it('Should subscribe to nested topics', async () => { + it('Should subscribe to topics', async () => { expect(MQTT.subscribe).toHaveBeenCalledWith('zigbee2mqtt/bridge/ota_update/check'); expect(MQTT.subscribe).toHaveBeenCalledWith('zigbee2mqtt/bridge/ota_update/update'); });