From 51f364a1d5dfd46f50830c6412ae78fb74994929 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Thu, 5 Dec 2024 19:58:55 +0100 Subject: [PATCH] fix(ignore): Fix external converter loading (#25063) --- lib/controller.ts | 2 +- test/extensions/externalConverters.test.ts | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/controller.ts b/lib/controller.ts index 11825482a..b2cd3f2b0 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 f64fec9f8..08e16f61d 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 () => {