fix(simulator): corrections finales - topics MQTT, ASSET_MAP, location REST

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.
This commit is contained in:
Eric FELIXINE
2026-05-12 08:07:44 -04:00
parent 4afed8ff2b
commit 7331dbc90b

View File

@@ -509,7 +509,7 @@ class MultiMQTT:
c.on_connect = lambda _c, _, __, rc: self._on_connect(name, rc) c.on_connect = lambda _c, _, __, rc: self._on_connect(name, rc)
c.on_disconnect = lambda _c, _, __: self._on_disconnect(name) c.on_disconnect = lambda _c, _, __: self._on_disconnect(name)
try: try:
c.connect(host, port, keepalive=60, clean_start=True) c.connect(host, port, keepalive=120)
c.loop_start() c.loop_start()
except Exception as e: except Exception as e:
print(f"[MQTT] ❌ {name} @ {host}:{port}{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)) brokers.append(("bunkerm", BUNKERM_HOST, BUNKERM_PORT, False, "bunker", "bunker", use_v5))
# OpenRemote MQTT broker (pour agents MQTT créés dans OpenRemote) # 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: 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(f"[MQTT] 🔌 Connexion aux brokers (EMQX={enable_emqx}, Mosquitto={enable_mosquitto}, BunkerM={enable_bunkerm})...")
print("[MQTT] 🔌 Connexion aux brokers...") print("[MQTT] 🔌 Connexion aux brokers...")