From 7a0ac13247fbbc860354e2e7ffcddc6832c3a53e Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 20 Oct 2025 19:32:43 +0200 Subject: [PATCH] fix client id mqtt --- app/mqtt/client.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/mqtt/client.py b/app/mqtt/client.py index 0f31467..d466c36 100644 --- a/app/mqtt/client.py +++ b/app/mqtt/client.py @@ -1,5 +1,7 @@ import json import logging +import socket +import time from typing import Callable, Optional import paho.mqtt.client as mqtt @@ -12,8 +14,15 @@ class MQTTClient: """Client MQTT per ricevere allarmi dal sistema di monitoraggio""" def __init__(self, message_handler: Optional[Callable] = None): - self.client = mqtt.Client(client_id="terrain_monitor_backend") + # Genera un client_id unico basato su hostname + timestamp + # Questo permette di avere più istanze del backend senza conflitti + hostname = socket.gethostname() + timestamp = int(time.time() * 1000) # milliseconds + client_id = f"terrain_backend_{hostname}_{timestamp}" + + self.client = mqtt.Client(client_id=client_id) self.message_handler = message_handler + logger.info(f"Client MQTT creato con ID: {client_id}") self._setup_callbacks() def _setup_callbacks(self):