diff --git a/lib/controller.ts b/lib/controller.ts index 11825482aa..b2cd3f2b03 100644 --- a/lib/controller.ts +++ b/lib/controller.ts @@ -97,6 +97,7 @@ export class Controller { ]; this.extensions = [ + new ExtensionExternalConverters(...this.extensionArgs), new ExtensionOnEvent(...this.extensionArgs), new ExtensionBridge(...this.extensionArgs), new ExtensionPublish(...this.extensionArgs), @@ -107,7 +108,6 @@ export class Controller { new ExtensionBind(...this.extensionArgs), new ExtensionOTAUpdate(...this.extensionArgs), new ExtensionExternalExtensions(...this.extensionArgs), - new ExtensionExternalConverters(...this.extensionArgs), new ExtensionAvailability(...this.extensionArgs), ]; diff --git a/test/extensions/externalConverters.test.ts b/test/extensions/externalConverters.test.ts index f64fec9f84..08e16f61db 100644 --- a/test/extensions/externalConverters.test.ts +++ b/test/extensions/externalConverters.test.ts @@ -74,7 +74,7 @@ describe('Extension: ExternalConverters', () => { data.writeDefaultConfiguration(); data.writeDefaultState(); settings.reRead(); - returnDevices.push(devices.external_converter_device.ieeeAddr); + returnDevices.push(devices.external_converter_device.ieeeAddr, devices.coordinator.ieeeAddr); controller = new Controller(jest.fn(), jest.fn()); }); @@ -147,6 +147,21 @@ describe('Extension: ExternalConverters', () => { description: 'external', }), ); + + const bridgeDevices = mockMQTT.publishAsync.mock.calls.filter((c) => c[0] === 'zigbee2mqtt/bridge/devices'); + expect(bridgeDevices.length).toBe(1); + expect(JSON.parse(bridgeDevices[0][1])).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + model_id: 'external_converter_device', + supported: true, + definition: expect.objectContaining({ + description: 'external', + model: 'external_converter_device', + }), + }), + ]), + ); }); it('saves and removes from MQTT', async () => {