From 125ca61812a3fd47834943265777bfdabff600d1 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Mon, 12 Sep 2022 09:34:20 +0200 Subject: [PATCH] Log MQTT disconnect reason. #13965 --- lib/controller.ts | 3 +-- lib/mqtt.ts | 5 ++++- test/controller.test.js | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/controller.ts b/lib/controller.ts index cf632509b..dbe177cff 100644 --- a/lib/controller.ts +++ b/lib/controller.ts @@ -144,8 +144,7 @@ class Controller { try { await this.mqtt.connect(); } catch (error) { - logger.error(`MQTT failed to connect: ${error.message}`); - logger.error('Exiting...'); + logger.error(`MQTT failed to connect, exiting...`); await this.zigbee.stop(); await this.exit(1); } diff --git a/lib/mqtt.ts b/lib/mqtt.ts index d10adeb2f..6b21cdc43 100644 --- a/lib/mqtt.ts +++ b/lib/mqtt.ts @@ -83,7 +83,10 @@ export default class MQTT { resolve(); }); - this.client.on('error', (err) => reject(err)); + this.client.on('error', (err) => { + logger.error(`MQTT error: ${err.message}`); + reject(err); + }); this.client.on('message', this.onMessage); }); } diff --git a/test/controller.test.js b/test/controller.test.js index 2896e8d22..8a18982e3 100644 --- a/test/controller.test.js +++ b/test/controller.test.js @@ -202,7 +202,8 @@ describe('Controller', () => { }); await controller.start(); await flushPromises(); - expect(logger.error).toHaveBeenCalledWith('MQTT failed to connect: addr not found'); + expect(logger.error).toHaveBeenCalledWith('MQTT error: addr not found'); + expect(logger.error).toHaveBeenCalledWith('MQTT failed to connect, exiting...'); expect(mockExit).toHaveBeenCalledTimes(1); expect(mockExit).toHaveBeenCalledWith(1, false); });