diff --git a/lib/controller.js b/lib/controller.js index d6c8c1ff3..46678f37b 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -149,7 +149,6 @@ class Controller { // MQTT this.mqtt.on('message', this.onMQTTMessage.bind(this)); await this.mqtt.connect(); - this.mqtt.publish('bridge/state', 'online', {retain: true, qos: 0}); // Send all cached states. if (settings.get().advanced.cache_state_send_on_startup && settings.get().advanced.cache_state) { diff --git a/lib/mqtt.js b/lib/mqtt.js index b2caf96fd..17d54811a 100644 --- a/lib/mqtt.js +++ b/lib/mqtt.js @@ -72,8 +72,10 @@ class MQTT extends events.EventEmitter { return new Promise((resolve) => { this.client = mqtt.connect(mqttSettings.server, options); + const self = this; this.client.on('connect', () => { logger.info('Connected to MQTT server'); + self.publish('bridge/state', 'online', {retain: true, qos: 0}); resolve(); });