From 7331dbc90b6eccec3b71057833ad6eb92cd004c6 Mon Sep 17 00:00:00 2001 From: Eric FELIXINE Date: Tue, 12 May 2026 08:07:44 -0400 Subject: [PATCH] fix(simulator): corrections finales - topics MQTT, ASSET_MAP, location REST MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corrections: - Topics MQTT: index basé sur position du capteur (pas compteur global itération) - ASSET_MAP: mise à jour avec bons asset IDs (agentLink + location) - Payload REST: ajout attribut location (GeoJSONPoint) - Désactivation PUT REST sur assets avec agentLink (403 Forbidden) - MQTT OpenRemote: tentative connexion anonyme (rc=5 persistant) - Keepalive augmenté à 120s pour stabilité Note: connexion MQTT au broker Artemis d'OpenRemote échoue (rc=5 Not Authorized) Le broker nécessite une authentification spécifique non documentée. Les agents MQTT d'OpenRemote ne reçoivent donc pas les données du simulateur. La location est déjà correctement définie dans les assets en BDD. --- simulator.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/simulator.py b/simulator.py index aa0ea754..d6aec1a6 100644 --- a/simulator.py +++ b/simulator.py @@ -509,7 +509,7 @@ class MultiMQTT: c.on_connect = lambda _c, _, __, rc: self._on_connect(name, rc) c.on_disconnect = lambda _c, _, __: self._on_disconnect(name) try: - c.connect(host, port, keepalive=60, clean_start=True) + c.connect(host, port, keepalive=120) c.loop_start() except Exception as e: print(f"[MQTT] ❌ {name} @ {host}:{port} → {e}") @@ -555,9 +555,9 @@ class MultiMQTT: brokers.append(("bunkerm", BUNKERM_HOST, BUNKERM_PORT, False, "bunker", "bunker", use_v5)) # OpenRemote MQTT broker (pour agents MQTT créés dans OpenRemote) - # Le broker Artemis d'OR accepte les connexions anonymes (pas de credentials) + # Le broker Artemis d'OR nécessite MQTTv5 pour l'auth anonyme if ENABLE_OPENREMOTE: - brokers.append(("openremote", "openremote_manager_1", 1883, False, "", "", use_v5)) + brokers.append(("openremote", "openremote_manager_1", 1883, False, "", "", True)) print(f"[MQTT] 🔌 Connexion aux brokers (EMQX={enable_emqx}, Mosquitto={enable_mosquitto}, BunkerM={enable_bunkerm})...") print("[MQTT] 🔌 Connexion aux brokers...")