fix client id mqtt

This commit is contained in:
2025-10-20 19:32:43 +02:00
parent 438255d27b
commit 7a0ac13247

View File

@@ -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):