diff --git a/main.js b/main.js index 2b14348c5c0b833119ffade62ed2534cb728e1e9..194cd3b7d91845d5f20fad35c6ea23183eacaca3 100644 --- a/main.js +++ b/main.js @@ -1,6 +1,7 @@ const mqtt = require('mqtt'); const http = require('http'); const fs = require('node:fs'); +const crypto = require("crypto"); // Prepend timestamp and severity to all console messages require('console-stamp')(console); @@ -16,11 +17,15 @@ const web_port = process.env.HTTP_PORT; const mqtt_host = process.env.MQTT_HOST; const mqtt_port = process.env.MQTT_PORT; +// Use a randomized client ID to avoid collisions, as we don't need any kind +// of session resumption +const clientId = crypto.randomUUID(); + // Create an MQTT client instance const options = { clean: true, connectTimeout: 5000, - clientId: 'nodejs_door_listener', + clientId: clientId, username: process.env.MQTT_USER, password: process.env.MQTT_PASS, };