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