modify: chongming-mqtt 应用

This commit is contained in:
2026-08-07 14:28:21 +08:00
parent b6605061ce
commit 5b848744ac
+36
View File
@@ -44,6 +44,42 @@ enabled = true
uri = "mqtt://admin:Mixc%402021@dg.datagoo.cn:48081" # %40 是 @ 的 URL 编码
topic = "/board_ping" # 转发目标主题
# ====== 外部 MQTT 订阅(本插件直接订阅外部 Broker,不走网关 Bridge) ======
# enabled: 是否启用外部订阅
# uri: 外部 Broker 地址(mqtt://user:pass@host:port,密码中特殊字符需 URL 编码)
# topics: 订阅主题列表,每项包含
# topic: 订阅主题,支持 +(单级)/ #(多级,须在末尾)通配符
# handler: 处理函数名,按序从插件 router 模块、插件包自身查找
# 若该函数首个参数为 Pydantic 模型,则以消息 JSON 构造模型后调用;
# 否则将消息 JSON 作为关键字参数展开调用
# reply_topic: 可选,回复主题;处理后返回值(非 None)发布到该主题
# 支持 {1} {2}... 占位符(填充 topic 通配符捕获值)
[workers.config.mqtt_subscribe]
enabled = true
uri = "mqtt://admin:Mixc%402021@dg.datagoo.cn:48081"
# 边缘应用控制器:请求-响应协议
# 请求: 发布到 /edge_app_controller,消息 {"command": "query_status", ...}
# 回复: 处理结果发布到 /edge_app_controller_reply,统一封装 {"code": 0, "msg": "ok", "data": {...}}
[[workers.config.mqtt_subscribe.topics]]
topic = "/edge_app_controller" # 订阅主题(外部请求)
handler = "edge_app_controller" # 处理函数(按 command 分发)
reply_topic = "/edge_app_controller_reply" # 回复主题
# ====== 内部 MQTT 请求-响应客户端 ======
# 供外部订阅 handler 内部对任意应用进程发起请求-响应(主题显式传入,不依赖 chongming 协议)
# uri: 目标 Broker(默认内部 127.0.0.1:1883;如需连外部可改为外部地址)
# 使用示例(handler 内):
# resp = await internal_mqtt.request(
# request_topic="/other_app/request", # 目标应用监听的请求主题
# response_topic="/other_app/reply/#", # 目标应用回复的主题(支持 +/# 或 {rid} 模板)
# payload={"BoardId": ...},
# timeout=30,
# )
[workers.config.internal_mqtt]
enabled = false
uri = "mqtt://127.0.0.1:1883"
[workers.config.alarm_retention]
max_records = 100 # 最多保留的告警记录数,设为 0 表示不限制