From f8afe4ae4c814c697efa369e5bccf6450b037b53 Mon Sep 17 00:00:00 2001 From: James Pattinson Date: Mon, 10 Nov 2025 06:26:03 -0500 Subject: [PATCH] Random MQTT client ID --- docker-compose.yml | 1 - src/wxconnect/config.py | 3 ++- src/wxconnect/main.py | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8685b55..99ac58f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,6 @@ services: MQTT_USERNAME: ${MQTT_USERNAME} MQTT_PASSWORD: ${MQTT_PASSWORD} MQTT_TOPIC: ${MQTT_TOPIC} - MQTT_CLIENT_ID: wxconnect-docker # Database Configuration DB_TYPE: ${DB_TYPE} diff --git a/src/wxconnect/config.py b/src/wxconnect/config.py index 2574c22..4491452 100644 --- a/src/wxconnect/config.py +++ b/src/wxconnect/config.py @@ -1,6 +1,7 @@ """Configuration management for Weather Connect.""" import os +import uuid from typing import Optional from dataclasses import dataclass from dotenv import load_dotenv @@ -53,7 +54,7 @@ class Config: username=os.getenv("MQTT_USERNAME"), password=os.getenv("MQTT_PASSWORD"), topic=os.getenv("MQTT_TOPIC", "weather/+"), - client_id=os.getenv("MQTT_CLIENT_ID", "wxconnect") + client_id=os.getenv("MQTT_CLIENT_ID", f"wxconnect-{uuid.uuid4().hex[:8]}") ) self.database = DatabaseConfig( diff --git a/src/wxconnect/main.py b/src/wxconnect/main.py index c5296ef..41e1812 100644 --- a/src/wxconnect/main.py +++ b/src/wxconnect/main.py @@ -66,6 +66,7 @@ class WeatherConnectApp: logger.info("Configuration loaded successfully", mqtt_host=self.config.mqtt.host, + mqtt_client_id=self.config.mqtt.client_id, db_type=self.config.database.db_type) return True