MQTT Last Will + publish retain sur agents/status/{name}
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -110,10 +110,22 @@ def start_mqtt_listener():
|
||||
global mqtt_publish_client
|
||||
|
||||
# Client dédié à la publication
|
||||
import json as _json
|
||||
_status_topic = "agents/status/{}".format(MQTT_CLIENT)
|
||||
_offline_payload = _json.dumps({"status": "offline", "agent": MQTT_CLIENT})
|
||||
_online_payload = _json.dumps({
|
||||
"status" : "online",
|
||||
"agent" : MQTT_CLIENT,
|
||||
"jid" : XMPP_JID,
|
||||
"mqtt_inbox": MQTT_INBOX,
|
||||
})
|
||||
|
||||
mqtt_publish_client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
|
||||
client_id=MQTT_CLIENT + "_pub")
|
||||
mqtt_publish_client.will_set(_status_topic, _offline_payload, retain=True)
|
||||
mqtt_publish_client.connect(MQTT_HOST, MQTT_PORT)
|
||||
mqtt_publish_client.loop_start()
|
||||
mqtt_publish_client.publish(_status_topic, _online_payload, retain=True)
|
||||
register_to_agent1()
|
||||
|
||||
# Client dédié à la souscription
|
||||
|
||||
Reference in New Issue
Block a user