FMQ 指令下行
理解入口、任务、Alink、命令状态与设备通道的分工,完成RabbitMQ到MQTT设备的真实下行并处理一次失败。
阅读方法
先确认入口、权限和目标对象,再按编号完成操作。每一步都包含预期结果;详细字段和选项收在可展开的参考表中。
截图说明
截图来自原始操作手册。公开版会隐藏真实节点地址、连接地址和凭据;示例中的状态、时间和数据不代表当前生产环境。
开始前准备
| 项目 | 说明 |
|---|---|
| 能做什么 | 理解入口、任务、Alink、命令状态与设备通道的分工,完成RabbitMQ到MQTT设备的真实下行并处理一次失败。 |
| 从哪里进入 | 集成 → 指令下行 |
| 需要权限 | 任务管理、连接器使用权限及获准的RabbitMQ和设备测试资源。 |
| 预计时间 | 50 分钟 |
指令下行概述
指令下行是FMQ把外部业务系统发来的控制命令,转换成统一设备命令并送到真实设备的入口。它解决的是“外部命令从哪里进、发给哪台设备、最后是否真的收到”,不是设备主动上报数据的消息推送。
例如业务系统要把空调目标温度设为26.5℃:它先向RabbitMQ发布一条标准Alink命令,FMQ消费后按clientId和commandTopic找到在线MQTT设备,最后由FMQX看到真实下行消息。
- 只有外部系统需要主动控制设备时才创建指令下行。
- 任务复用连接器接入外部命令,再按目标协议下发;两边参数必须分开准备。
- 保存、MQ被消费、SENT和设备实收是四个不同层级,不能互相代替。
组成、边界与入口选择
连接器保存外部入口的地址、认证和消费参数;指令下行任务把连接器、目标协议、输入地址和输出地址组合起来;Alink消息携带设备身份、传输方式和业务参数;协议路由负责把统一命令交给MQTT、TCP或UDP通道。
新增时优先复用类型正确、最近校验成功且归属明确的连接器。需要独立Broker、独立凭据或故障隔离时再新建;任务内新建连接器不会自动完成参数校验。
停用只阻止外部入口继续消费。详情页的立即发送是人工测试入口,停用时仍可能真实发给设备,因此点击前同样要确认测试对象。
任务组成与通用字段
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 指令名称 | 让实施和运维人员从列表识别这条外部命令链路。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由业务负责人按用途命名。 | 写业务动作和方向,不要只写RabbitMQ。推荐:按对接资料填写默认:—示例:FastBee_温控指令下行 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 指令描述 | 补充命令来源、目标设备或维护边界。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由任务负责人提供。 | 简短说明用途,不放账号、密码或完整连接串。推荐:按对接资料填写默认:—示例:接收温控命令并下发MQTT设备 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 启用状态 | 开启后启动外部入口消费;关闭后不再自动消费,但立即发送仍可能执行。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 按调试、上线或维护阶段选择。 | 新建先停用,手动检查和设备实收通过后再启用。推荐:按对接资料填写默认:—示例:停用启用:持续接收外部命令;队列已有消息也可能立即被消费停用:停止外部入口消费;立即发送仍会真实下发 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 外部入口 | 决定FMQ通过哪种中间件或HTTP入口接收命令。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 外部业务系统负责人提供现有对接方式。 | 按外部系统真实能力选择,不按设备协议选择。推荐:按对接资料填写默认:—示例:RabbitMQKafka:外部系统把命令写入 Topic,FMQ 以消费者组持续消费。;对方已经使用 Kafka,需要高吞吐、可按分区保序或从指定位置开始消费。RabbitMQ:外部系统把命令发布到 Exchange,FMQ 从绑定 Queue 中消费。;对方以业务队列交付命令,并希望用 Exchange、Routing Key 和 Queue 明确路由。RocketMQ:外部系统向 Topic 发送命令,FMQ 通过消费者组和可选 Tag 接收。;对方的消息平台是 RocketMQ,并用 Topic、Consumer Group 和 Tag 管理消费。MQTT:FMQ 作为客户端连接一个 MQTT Broker,订阅指定 Topic 接收外部命令。;外部系统已经通过 MQTT 发布指令,并能为 FMQ 分配唯一订阅客户端。WebHook:外部系统向 FMQ 提供的受保护路径 POST 一条 Alink 指令。;对方能主动调用 HTTP 接口,希望每条请求立即得到是否受理的响应。HTTP:与 WebHook 一样通过受保护的 HTTP 路径接收命令,作为明确的 HTTP 接入类型管理。;项目约定使用 HTTP 入口类型,并需要独立路径和 Token;不要与外发 WebHook 混淆。 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 目标协议 | 决定FMQ把统一命令交给哪种设备传输通道。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备接入负责人提供真实连接协议。 | MQTT设备选MQTT,TCP/UDP设备按其真实会话选择;页面没有自动路由选项。推荐:按对接资料填写默认:—示例:MQTTMQTT:目标设备通过 MQTT 在线,且已知客户端 ID 与设备订阅 Topic。;SENT 表示 PUBLISH 已写入有效会话或远端节点通道;最终仍看设备客户端实收。TCP:目标设备使用平台已登记的 TCP 会话,或命令中能明确给出目标端点。;SENT 不等于设备已经执行业务指令;当前无响应 TCP 路径在通道查不到时仍可能完成,因此必须用设备实收或设备回复补充判断。UDP:目标设备以 UDP 数据报接收命令,且端点来源明确、允许无连接投递。;SENT 表示数据报已交给发送通道;UDP 本身不提供设备业务确认。 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 连接器来源 | 复用已有连接器,或在任务内建立一份连接配置。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 连接器清单和隔离要求。 | 优先复用已校验且类型正确的连接器;新地址或独立凭据才新建。推荐:按对接资料填写默认:—示例:选择已有连接器选择已有连接器:复用连接与认证;不会自动覆盖连接器参数新建连接器:在任务里填写基础入口参数;保存时创建连接器,但不会自动完成参数校验 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 已有连接器 | 指定这条任务复用的外部入口连接。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 连接器模块中的当前类型列表。 | 核对名称、类型、环境、检查结果和引用关系。推荐:按对接资料填写默认:—示例:FastBee_指令下行连接器 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 新建连接器名称 | 任务内新建模式的连接器名称。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由对接负责人按环境和用途命名。 | 应能区分测试、生产和上下行方向。推荐:按对接资料填写默认:—示例:FastBee_指令下行连接器 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 输入Topic / Queue / 路径 | 外部命令进入FMQ的位置,含义随入口类型变化。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由中间件或接口管理员提供。 | RabbitMQ填Queue,Kafka/RocketMQ/MQTT填订阅Topic,HTTP类填路径。推荐:按对接资料填写默认:—示例:FastBee_downlink_9f3c2b_queue | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 输出 Topic | MQTT设备最终接收消息的Topic模板。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备接入约定或外部Alink中的commandTopic。 | 模板必须能生成设备真实订阅的完整Topic;本例按clientId生成。推荐:按对接资料填写默认:—示例:/${clientId}/function/get | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| QoS | MQTT下发的协议交付等级,不代表设备业务执行完成。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备、Broker和业务重复容忍度共同决定。 | 控制命令常用1并配合命令ID去重;以现场约定为准。推荐:按对接资料填写默认:—示例:10:最多一次;开销低,可能丢失1:至少一次;可能重复,需要命令幂等2:协议级恰好一次;握手更重,仍不是业务恰好一次 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| Retain | 要求MQTT Broker保留该Topic最后一条消息。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备是否需要上线后接收最后命令。 | 普通即时控制关闭;只有明确需要最后状态且能处理旧命令时开启。推荐:按对接资料填写默认:—示例:false关闭:不保留旧命令;新订阅者不会自动收到历史命令开启:保留最后一条;设备重连可能收到旧控制命令 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 高级字段映射 | 展开外部字段名到平台字段名的映射配置。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 标准Alink保持默认无需映射。推荐:按对接资料填写默认:—示例:高级字段映射 | 空白映射会阻止保存。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 高级映射运行边界 | 当前页面会保存映射配置,但现有运行链路未使用它改写命令。;帮助判断当前链路所处层级,不改变运行配置。 | 当前前后端实现核对。 | 外部系统优先发送标准Alink,不依赖该功能修复字段。推荐:按对接资料填写默认:—示例:默认无需映射 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 创建指令下行 / 保存修改 | 保存连接器引用、转换配置和任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 先保持停用保存,返回详情核对后再启用。推荐:按对接资料填写默认:—示例:创建指令下行 / 保存修改 | 保存成功不等于入口已消费或设备已收到。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
RabbitMQ 到 MQTT 设备完整实战
本实战先以停用状态创建RabbitMQ入站任务,用检查一下确认消息结构,再用立即发送证明设备通道可用。随后启用任务,从RabbitMQ发布唯一ID的Alink命令,依次核对平台接收、命令终态和FMQX实收。
故障演示先断开本批次FMQX会话,再故意使用不存在的目标并把外部Alink的transport写成udp:命令会被RabbitMQ消费,但因找不到UDP远端地址而最终FAILED。设备重连后重复旧ID会被幂等忽略,必须用正确目标、transport和新ID重发,直到新命令SENT且设备收到。
1. 进入指令下行工作台
操作位置: 集成→指令下行
打开 集成 → 指令下行,先看任务数量、运行状态和新建入口。

图:指令下行列表显示任务统计、状态筛选、刷新和新建入口。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 搜索 | 按任务名称或页面支持的摘要定位任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:当前列表中的任务身份。选择:搜不到时清空状态筛选和搜索词再刷新。推荐:按对接资料填写 · 示例:FastBee_温控指令下行 |
| 状态筛选 | 只显示全部、运行中、已停用或异常任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:任务当前运行状态。选择:排查找不到任务时先切回全部。推荐:按对接资料填写 · 示例:全部 |
2. 准备入站队列和设备接收资料
操作位置: 集成→指令下行
向RabbitMQ管理员取得已绑定的 Exchange、Queue、Routing Key,向设备负责人取得 clientId与订阅Topic。

图:RabbitMQ专用Queue已绑定本批次Exchange与Routing Key,设备clientId和接收Topic已单独记录。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| Exchange | 外部发送方发布命令的交换机。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:RabbitMQ管理员提供已声明交换机及类型。选择:与外部发送方和Queue Binding一致;不要把Queue名称填在这里。推荐:按对接资料填写 · 示例:FastBee_downlink_9f3c2b_exchange |
| Queue | FMQ实际消费的命令队列。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:RabbitMQ管理员提供专用队列和绑定。选择:使用独立且归属明确的Queue;多个消费者会竞争消息。推荐:按对接资料填写 · 示例:FastBee_downlink_9f3c2b_queue |
| Routing Key | Exchange路由到Queue所使用的键。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:由RabbitMQ Binding约定。选择:外部发布和Binding必须匹配;FMQ消费的是Queue,不按Routing Key二次筛选。推荐:按对接资料填写 · 示例:FastBee.downlink.9f3c2b |
| 目标设备编号(clientId) | 用于定位真实MQTT/TCP/UDP会话。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:设备接入记录或Alink sys.ext。选择:必须与当前在线会话完全一致,大小写和前后空格也要核对。推荐:按对接资料填写 · 示例:FastBee_downlink_device |
| 设备接收地址(commandTopic) | MQTT设备最终订阅的完整Topic。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:设备协议约定或任务输出Topic模板。选择:外部Alink最好显式携带,避免模板或默认值产生歧义。推荐:按对接资料填写 · 示例:/FastBee_downlink_device/function/get |
3. 填写名称并保持停用
操作位置: 集成→指令下行
点击 新建指令下行,名称填写 FastBee_温控指令下行,保持启用开关关闭。

图:新建草稿已填写任务名称,启用开关明确关闭,目标协议为MQTT。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 指令名称 | 让实施和运维人员从列表识别这条外部命令链路。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由业务负责人按用途命名。选择:写业务动作和方向,不要只写RabbitMQ。推荐:按对接资料填写 · 示例:FastBee_温控指令下行 |
| 指令描述 | 补充命令来源、目标设备或维护边界。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:由任务负责人提供。选择:简短说明用途,不放账号、密码或完整连接串。推荐:按对接资料填写 · 示例:接收温控命令并下发MQTT设备 |
| 启用状态 | 开启后启动外部入口消费;关闭后不再自动消费,但立即发送仍可能执行。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:按调试、上线或维护阶段选择。选择:新建先停用,手动检查和设备实收通过后再启用。推荐:按对接资料填写 · 示例:停用 |
4. 选择RabbitMQ并复用已校验连接器
操作位置: 集成→指令下行
入口选择 RabbitMQ,保持“选择已有连接器”,选中 FastBee_指令下行连接器。

图:RabbitMQ入口复用已校验连接器,草稿仍保持停用并显示连接正常。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 外部入口 | 决定FMQ通过哪种中间件或HTTP入口接收命令。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:外部业务系统负责人提供现有对接方式。选择:按外部系统真实能力选择,不按设备协议选择。推荐:按对接资料填写 · 示例:RabbitMQ |
| 连接器来源 | 复用已有连接器,或在任务内建立一份连接配置。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:连接器清单和隔离要求。选择:优先复用已校验且类型正确的连接器;新地址或独立凭据才新建。推荐:按对接资料填写 · 示例:选择已有连接器 |
| 已有连接器 | 指定这条任务复用的外部入口连接。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:连接器模块中的当前类型列表。选择:核对名称、类型、环境、检查结果和引用关系。推荐:按对接资料填写 · 示例:FastBee_指令下行连接器 |
5. 明确选择MQTT设备和收发地址
操作位置: 集成→指令下行
目标协议选择 MQTT;输入Queue填写 FastBee_downlink_9f3c2b_queue,输出Topic填写 /${clientId}/function/get,QoS选1,Retain关闭。

图:草稿保持停用;输入Queue与输出Topic模板分开填写,QoS为1、Retain关闭。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| Queue | FMQ实际消费的命令队列。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:RabbitMQ管理员提供专用队列和绑定。选择:使用独立且归属明确的Queue;多个消费者会竞争消息。推荐:按对接资料填写 · 示例:FastBee_downlink_9f3c2b_queue |
| 目标协议 | 决定FMQ把统一命令交给哪种设备传输通道。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:设备接入负责人提供真实连接协议。选择:MQTT设备选MQTT,TCP/UDP设备按其真实会话选择;页面没有自动路由选项。推荐:按对接资料填写 · 示例:MQTT |
| 输入Topic / Queue / 路径 | 外部命令进入FMQ的位置,含义随入口类型变化。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由中间件或接口管理员提供。选择:RabbitMQ填Queue,Kafka/RocketMQ/MQTT填订阅Topic,HTTP类填路径。推荐:按对接资料填写 · 示例:FastBee_downlink_9f3c2b_queue |
| 输出 Topic | MQTT设备最终接收消息的Topic模板。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:设备接入约定或外部Alink中的commandTopic。选择:模板必须能生成设备真实订阅的完整Topic;本例按clientId生成。推荐:按对接资料填写 · 示例:/${clientId}/function/get |
| QoS | MQTT下发的协议交付等级,不代表设备业务执行完成。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:设备、Broker和业务重复容忍度共同决定。选择:控制命令常用1并配合命令ID去重;以现场约定为准。推荐:按对接资料填写 · 示例:1 |
| Retain | 要求MQTT Broker保留该Topic最后一条消息。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:设备是否需要上线后接收最后命令。选择:普通即时控制关闭;只有明确需要最后状态且能处理旧命令时开启。推荐:按对接资料填写 · 示例:false |
6. 保持默认字段映射
操作位置: 集成→指令下行
展开 高级字段映射,确认显示“默认无需映射”,不新增映射行。

图:标准Alink保持默认命令结构,不新增高级字段映射;草稿仍未保存。
7. 创建并核对停用任务
操作位置: 集成→指令下行
点击 创建指令下行,返回详情后再次确认状态为停用、入口为RabbitMQ、设备协议为MQTT。

图:任务已由真实页面保存并修正为停用,详情显示RabbitMQ接入和MQTT设备下发。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 启用状态 | 开启后启动外部入口消费;关闭后不再自动消费,但立即发送仍可能执行。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:按调试、上线或维护阶段选择。选择:新建先停用,手动检查和设备实收通过后再启用。推荐:按对接资料填写 · 示例:停用 |
8. 先做发送前检查
操作位置: 集成→指令下行
在测试区填写设备clientId、Topic和JSON内容,点击 检查一下。

图:发送前检查通过,页面明确说明本次不会真的发给设备。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 测试目标设备编号 | 手动检查和立即发送要定位的设备。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:从设备客户端或FMQX会话取得。选择:必须与在线clientId一致;不会因为填写就自动创建会话。推荐:按对接资料填写 · 示例:FastBee_downlink_9f3c2b_device |
| 测试设备接收Topic | 本次手动测试的最终接收地址。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:从设备订阅或任务输出Topic生成。选择:填写完整Topic,不填RabbitMQ Queue。推荐:按对接资料填写 · 示例:/FastBee_downlink_9f3c2b_device/function/get |
| 发送内容类型 | 决定页面怎样把测试内容转换为字节。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:按真实设备命令格式选择。选择:结构化业务对象用JSON;纯文本、二进制协议才用文本、Hex或Base64。推荐:按对接资料填写 · 示例:JSON |
| 发送内容 | 本次手动检查或下发的业务内容。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:设备协议和业务命令定义。选择:JSON模式只填业务对象;页面会结合clientId和Topic组装命令。推荐:按对接资料填写 · 示例: |
9. 核对最终发送内容
操作位置: 集成→指令下行
查看检查结果中的设备编号、最终接收地址和发送内容;技术明细只在排障时展开。

图:最终预览显示目标设备、MQTT接收Topic和JSON业务内容。
10. 停用状态执行立即发送
操作位置: 集成→指令下行
确认FMQX设备在线后,在任务仍停用时点击 立即发送。

图:任务仍停用,但立即发送已真实提交到MQTT设备通道。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 启用状态 | 开启后启动外部入口消费;关闭后不再自动消费,但立即发送仍可能执行。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:按调试、上线或维护阶段选择。选择:新建先停用,手动检查和设备实收通过后再启用。推荐:按对接资料填写 · 示例:停用 |
11. 确认FMQX收到手动命令
操作位置: 集成→指令下行
在FMQX真实MQTT会话查看订阅消息,核对Topic与温控JSON。

图:FMQX真实MQTT会话显示停用状态下的手动命令实收记录,Topic和targetTemperature=25.0正确。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备接收地址(commandTopic) | MQTT设备最终订阅的完整Topic。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:设备协议约定或任务输出Topic模板。选择:外部Alink最好显式携带,避免模板或默认值产生歧义。推荐:按对接资料填写 · 示例:/FastBee_downlink_device/function/get |
12. 启用指令下行
操作位置: 集成→指令下行
返回任务详情点击 启用。

图:任务已启用,外部RabbitMQ入口开始消费专用Queue。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 启用状态 | 开启后启动外部入口消费;关闭后不再自动消费,但立即发送仍可能执行。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:按调试、上线或维护阶段选择。选择:新建先停用,手动检查和设备实收通过后再启用。推荐:按对接资料填写 · 示例:停用 |
13. 从RabbitMQ发布唯一ID的Alink命令
操作位置: 集成→指令下行
在专用Exchange的发布区填写Routing Key和完整Alink,使用新的 id,点击 Publish message。

图:RabbitMQ已确认发布命令 FastBee_downlink_9f3c2b_external_80310451,Routing Key为 FastBee.downlink.9f3c2b。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 命令ID(id) | 本次命令的唯一身份,用于查询、关联和幂等。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由外部业务系统为每次实际发送生成。选择:同一次重投保留ID可防重复;失败恢复要生成新ID并保留业务关联。推荐:按对接资料填写 · 示例:FastBee_cmd_001 |
| 版本(version) | Alink消息结构版本。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由当前接入契约规定。选择:本手册使用1.0;不要把业务软件版本填在这里。推荐:按对接资料填写 · 示例:1.0 |
| 方法(method) | 说明要执行的业务动作。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由外部业务与设备能力约定。选择:属性设置使用thing.service.property.set;其他方法必须由当前协议能力支持。推荐:按对接资料填写 · 示例:thing.service.property.set |
| 系统上下文(sys) | 携带设备身份、协议、时间和扩展路由,不是业务参数。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由外部系统根据设备档案和FMQ接入约定组装。选择:至少确保deviceId/deviceKey或ext.clientId能定位目标,并显式给出实际transport。推荐:按对接资料填写 · 示例:{"deviceId":"device-001","protocol":"ALINK_JSON","ext":{"transport":"mqtt"}} |
| 业务参数(params) | 设备实际要执行的数据,如目标温度和模式。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由业务系统根据命令表单或规则生成。选择:只放业务字段,不把clientId、Token或Broker地址塞进params。推荐:按对接资料填写 · 示例: |
| Routing Key | Exchange路由到Queue所使用的键。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:由RabbitMQ Binding约定。选择:外部发布和Binding必须匹配;FMQ消费的是Queue,不按Routing Key二次筛选。推荐:按对接资料填写 · 示例:FastBee.downlink.9f3c2b |
14. 确认入口受理,再查询命令SENT
操作位置: 集成→指令下行
回到任务详情打开 监控统计,查看接收总数、下行成功、下行失败和最近状态;再按本次命令ID查询终态。

图:RabbitMQ命令已被FMQ接收,下行成功增加且本次命令终态为SENT。
15. 确认外部命令到达设备
操作位置: 集成→指令下行
在FMQX查看新收到的MQTT消息,核对本次marker、targetTemperature=26.5和Topic。

图:FMQX真实MQTT会话显示外部RabbitMQ命令实收记录,marker与targetTemperature=26.5均匹配。
16. 断开设备会话
操作位置: 集成→指令下行
在FMQX点击 断开,确认会话离线。

图:新版FMQX中本批次MQTT会话已断开;RabbitMQ入口与指令下行任务没有改变。
17. 发布错误目标与transport的命令
操作位置: 集成→指令下行
仍从同一Exchange和Routing Key发布一条 新命令ID,但故意使用不存在的clientId并把sys.ext.transport写成udp;真实设备仍是MQTT。

图:RabbitMQ已确认发布命令 FastBee_downlink_9f3c2b_udpRoutingFailure_b29237b3,Routing Key为 FastBee.downlink.9f3c2b。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 命令ID(id) | 本次命令的唯一身份,用于查询、关联和幂等。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由外部业务系统为每次实际发送生成。选择:同一次重投保留ID可防重复;失败恢复要生成新ID并保留业务关联。推荐:按对接资料填写 · 示例:FastBee_cmd_001 |
| 系统上下文(sys) | 携带设备身份、协议、时间和扩展路由,不是业务参数。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由外部系统根据设备档案和FMQ接入约定组装。选择:至少确保deviceId/deviceKey或ext.clientId能定位目标,并显式给出实际transport。推荐:按对接资料填写 · 示例:{"deviceId":"device-001","protocol":"ALINK_JSON","ext":{"transport":"mqtt"}} |
| Routing Key | Exchange路由到Queue所使用的键。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:由RabbitMQ Binding约定。选择:外部发布和Binding必须匹配;FMQ消费的是Queue,不按Routing Key二次筛选。推荐:按对接资料填写 · 示例:FastBee.downlink.9f3c2b |
18. 确认入口已受理但命令最终FAILED
操作位置: 集成→指令下行
回FMQ监控确认接收总数已增加,再通过命令状态接口核对该ID为 FAILED。

图:错误路由命令已被RabbitMQ消费;入口监控已接收,命令状态接口记录终态FAILED。
19. 重新连接FMQX
操作位置: 集成→指令下行
在FMQX点击 连接,确认MQTT会话和订阅恢复。

图:新版FMQX已重新连接MQTT Broker,原设备Topic订阅保持可用。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备接收地址(commandTopic) | MQTT设备最终订阅的完整Topic。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:设备协议约定或任务输出Topic模板。选择:外部Alink最好显式携带,避免模板或默认值产生歧义。推荐:按对接资料填写 · 示例:/FastBee_downlink_device/function/get |
20. 重复旧ID验证幂等
操作位置: 集成→指令下行
重新发布刚才FAILED的 同一个命令ID。

图:RabbitMQ已确认发布命令 FastBee_downlink_9f3c2b_udpRoutingFailure_b29237b3,Routing Key为 FastBee.downlink.9f3c2b。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 命令ID(id) | 本次命令的唯一身份,用于查询、关联和幂等。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由外部业务系统为每次实际发送生成。选择:同一次重投保留ID可防重复;失败恢复要生成新ID并保留业务关联。推荐:按对接资料填写 · 示例:FastBee_cmd_001 |
21. 确认旧ID没有再次下发
操作位置: 集成→指令下行
在FMQX消息区观察同一窗口,确认旧marker没有新增副本。

图:FMQX消息区按旧FAILED命令marker检索后没有设备消息;独立运行证据确认重复旧命令ID没有再次下发。
22. 使用新ID重发恢复命令
操作位置: 集成→指令下行
保持设备在线,用相同业务参数但新的 命令ID与marker 再次发布。

图:RabbitMQ已确认发布命令 FastBee_downlink_9f3c2b_recovery_efd2cad5,Routing Key为 FastBee.downlink.9f3c2b。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 命令ID(id) | 本次命令的唯一身份,用于查询、关联和幂等。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由外部业务系统为每次实际发送生成。选择:同一次重投保留ID可防重复;失败恢复要生成新ID并保留业务关联。推荐:按对接资料填写 · 示例:FastBee_cmd_001 |
| 业务参数(params) | 设备实际要执行的数据,如目标温度和模式。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。必填 · 来源:由业务系统根据命令表单或规则生成。选择:只放业务字段,不把clientId、Token或Broker地址塞进params。推荐:按对接资料填写 · 示例: |
23. 确认新ID恢复设备实收
操作位置: 集成→指令下行
在FMQX读取恢复消息,核对新marker和targetTemperature=27.0。

图:新版FMQX显示新命令ID的恢复消息,targetTemperature=27.0与已验证运行证据一致。
Alink 下行消息与发送内容
外部入口应发送标准Alink JSON。id是本次命令的唯一身份,version描述结构版本,method说明业务动作,sys携带设备和路由上下文,params才是目标温度、模式等业务参数。
为了避免自动路由歧义,本实战在sys.ext中显式写transport=mqtt和commandTopic,并同时提供clientId、qos与retain。页面的JSON、文本、Hex、Base64是手动测试内容模式,不是四种外部Alink协议。
标准Alink下行消息
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 命令ID(id) | 本次命令的唯一身份,用于查询、关联和幂等。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部业务系统为每次实际发送生成。 | 同一次重投保留ID可防重复;失败恢复要生成新ID并保留业务关联。推荐:按对接资料填写默认:—示例:FastBee_cmd_001 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 版本(version) | Alink消息结构版本。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由当前接入契约规定。 | 本手册使用1.0;不要把业务软件版本填在这里。推荐:按对接资料填写默认:—示例:1.0 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 方法(method) | 说明要执行的业务动作。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部业务与设备能力约定。 | 属性设置使用thing.service.property.set;其他方法必须由当前协议能力支持。推荐:按对接资料填写默认:—示例:thing.service.property.set | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 系统上下文(sys) | 携带设备身份、协议、时间和扩展路由,不是业务参数。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统根据设备档案和FMQ接入约定组装。 | 至少确保deviceId/deviceKey或ext.clientId能定位目标,并显式给出实际transport。推荐:按对接资料填写默认:—示例:{"deviceId":"device-001","protocol":"ALINK_JSON","ext":{"transport":"mqtt"}} | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 业务参数(params) | 设备实际要执行的数据,如目标温度和模式。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由业务系统根据命令表单或规则生成。 | 只放业务字段,不把clientId、Token或Broker地址塞进params。推荐:按对接资料填写默认:—示例: | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 目标设备编号(clientId) | 用于定位真实MQTT/TCP/UDP会话。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备接入记录或Alink sys.ext。 | 必须与当前在线会话完全一致,大小写和前后空格也要核对。推荐:按对接资料填写默认:—示例:FastBee_downlink_device | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 设备接收地址(commandTopic) | MQTT设备最终订阅的完整Topic。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议约定或任务输出Topic模板。 | 外部Alink最好显式携带,避免模板或默认值产生歧义。推荐:按对接资料填写默认:—示例:/FastBee_downlink_device/function/get | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 实际传输(transport) | 明确指定mqtt、tcp或udp。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 目标设备真实接入协议。 | 外部Alink显式填写,且与任务目标协议一致。推荐:按对接资料填写默认:—示例:mqttMQTT:目标设备通过 MQTT 在线,且已知客户端 ID 与设备订阅 Topic。;SENT 表示 PUBLISH 已写入有效会话或远端节点通道;最终仍看设备客户端实收。TCP:目标设备使用平台已登记的 TCP 会话,或命令中能明确给出目标端点。;SENT 不等于设备已经执行业务指令;当前无响应 TCP 路径在通道查不到时仍可能完成,因此必须用设备实收或设备回复补充判断。UDP:目标设备以 UDP 数据报接收命令,且端点来源明确、允许无连接投递。;SENT 表示数据报已交给发送通道;UDP 本身不提供设备业务确认。 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 完整Alink下行示例 | 由id、version、method、sys和params组成;sys.ext中包含clientId、transport、commandTopic、qos和retain。;帮助判断当前链路所处层级,不改变运行配置。 | 本手册实战契约和真实运行消息。 | 发送前先在测试环境校验JSON,再通过外部入口投递。推荐:按对接资料填写默认:—示例:thing.service.property.set | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
发送前检查与手动内容
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 测试目标设备编号 | 手动检查和立即发送要定位的设备。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 从设备客户端或FMQX会话取得。 | 必须与在线clientId一致;不会因为填写就自动创建会话。推荐:按对接资料填写默认:—示例:FastBee_downlink_9f3c2b_device | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 测试设备接收Topic | 本次手动测试的最终接收地址。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 从设备订阅或任务输出Topic生成。 | 填写完整Topic,不填RabbitMQ Queue。推荐:按对接资料填写默认:—示例:/FastBee_downlink_9f3c2b_device/function/get | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 发送内容类型 | 决定页面怎样把测试内容转换为字节。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 按真实设备命令格式选择。 | 结构化业务对象用JSON;纯文本、二进制协议才用文本、Hex或Base64。推荐:按对接资料填写默认:—示例:JSONJSON:解析为对象后下发;非法JSON会在页面阻止发送文本:按原始字符串发送;不做JSON结构校验Hex:偶数位十六进制解码为字节;非法字符或奇数长度会失败Base64:解码为原始字节;必须是有效Base64 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 发送内容 | 本次手动检查或下发的业务内容。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议和业务命令定义。 | JSON模式只填业务对象;页面会结合clientId和Topic组装命令。推荐:按对接资料填写默认:—示例: | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 检查一下 | 只解析、转换和生成预览,不调用真实设备通道。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 每次修改目标或内容后先检查。推荐:按对接资料填写默认:—示例:检查一下 | 检查通过不能证明设备在线或收到。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 立即发送 | 使用当前测试数据真实调用设备下发链路。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 只对获准的隔离设备执行,随后必须看设备实收。推荐:按对接资料填写默认:—示例:立即发送 | 停用任务时也可能执行;可能造成真实设备动作。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 最终设备编号 | 检查或发送最终生成的目标clientId。;帮助判断当前链路所处层级,不改变运行配置。 | 页面测试结果中的command。 | 与FMQX或设备客户端在线身份逐字核对。推荐:按对接资料填写默认:—示例:FastBee_downlink_device | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 最终接收地址 | 检查或发送最终生成的MQTT Topic或TCP/UDP端点。;帮助判断当前链路所处层级,不改变运行配置。 | 页面测试结果中的outputTopic/command。 | 不是输入Queue;必须与设备真实订阅或端点一致。推荐:按对接资料填写默认:—示例:/device/function/get | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 最终发送内容 | 经过页面输入解析后真正交给协议层的内容。;帮助判断当前链路所处层级,不改变运行配置。 | 页面测试结果中的command。 | 检查业务字段和值,不只看JSON语法。推荐:按对接资料填写默认:—示例: | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
发送前检查与手动内容
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 等待设备响应 | 标记命令是否期望设备回复。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议是否定义回执。 | 只有设备和平台都支持对应回复时开启;开启不代表页面同步等待成功。推荐:按对接资料填写默认:—示例:false | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 功能码 | TCP/UDP等协议可能需要的数值功能码。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议文档。 | MQTT JSON实战留空;需要时必须填写数字。推荐:按对接资料填写默认:—示例:3 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 事务号 | 关联设备协议请求与响应的业务标识。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 外部系统或平台自动生成。 | 没有既有事务号时留空让平台生成;不要与Alink id混为同一语义。推荐:按对接资料填写默认:—示例:留空 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 附加字段 | 向测试消息补充其他JSON键。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 专项协议或排障需求。 | 必须是JSON对象;clientId、topic和发送内容仍以主表单为准。推荐:按对接资料填写默认:—示例: | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
六类入口和三类设备协议参数参考
入口参数回答FMQ怎样接收外部命令;设备协议参数回答FMQ怎样把命令送到设备。选择入口看外部系统现有能力,选择目标协议看真实设备会话,两者没有自动对应关系。
当前页面只允许选择MQTT、TCP或UDP。历史或接口中的auto会归一到具体协议,不把它当成页面可选项教学。高级字段映射当前只保存,不作为运行转换依据。
Kafka 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 Bootstrap Servers | Kafka引导地址,可包含多个Broker端点。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统或中间件管理员提供;必须是FMQ服务器实际可达的地址。 | 按对接清单完整填写,不要填管理页面URL。推荐:按对接资料填写默认:—示例:broker-a:9092,broker-b:9092 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Group ID | FMQ消费命令使用的消费者组。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由Kafka管理员和应用负责人共同分配。 | 为当前指令链路使用独立稳定组名;组名变化会改变消费进度归属。推荐:按对接资料填写默认:—示例:FastBee_downlink_group | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 来源 Topic | 外部命令写入且FMQ订阅的主题。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统与Kafka管理员约定。 | 发送方和FMQ必须使用同一Topic;不要与设备MQTT Topic混用。推荐:按对接资料填写默认:—示例:FastBee_downlink_commands | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 起始消费策略 | 当前组没有已提交位点时从最新或最早位置开始。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由是否需要处理历史积压决定。 | 生产新链路通常latest;明确需要补历史命令时才选earliest,并先评估重复与副作用。推荐:按对接资料填写默认:—示例:latestLatest:从新消息开始;不主动回放组建立前的历史消息Earliest:从可用最早位置开始;可能执行历史控制命令 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 消费实例数 | 同一任务启动的Kafka消费者实例数量。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 按分区数、吞吐和部署容量评估。 | 不超过有效分区数;先用1验证,再按监控调整。推荐:按当前业务填写默认:—示例:1 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
Kafka 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| SASL 用户名 | Kafka启用SASL时使用的身份。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 只有集群要求SASL时填写,并与安全协议配置匹配。推荐:按对接资料填写默认:—示例:受控填写 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| SASL 密码 | SASL身份对应的密码。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 与用户名成对提供,截图中保持密码框遮蔽。推荐:按对接资料填写默认:—示例:受控填写 | 泄露会影响Kafka访问安全。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
RabbitMQ 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 Host | RabbitMQ主机名或IP,不包含协议和管理路径。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统或中间件管理员提供;必须是FMQ服务器实际可达的地址。 | 填写AMQP服务地址,不是RabbitMQ管理界面地址。推荐:按对接资料填写默认:—示例:由管理员提供 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Port | RabbitMQ AMQP端口。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统或中间件管理员提供;必须是FMQ服务器实际可达的地址。 | 常见为5672,但必须以当前部署为准;不要填15672管理端口。推荐:按对接资料填写默认:—示例:5672(以部署为准) | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| Virtual Host | RabbitMQ中的业务隔离空间。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | RabbitMQ管理员提供名称和权限。 | 必须与用户授权、Exchange和Queue所在vhost一致。推荐:按对接资料填写默认:—示例:/ | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 用户名 | 连接RabbitMQ并消费Queue的身份。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 应至少具备对应vhost的连接、读取和必要拓扑权限。推荐:按对接资料填写默认:—示例:受控填写 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 密码 | RabbitMQ身份对应的认证信息。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 只经受控环境注入或密码框填写。推荐:按对接资料填写默认:—示例:受控填写 | 不得进入截图、日志或客户HTML。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| Exchange | 外部发送方发布命令的交换机。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | RabbitMQ管理员提供已声明交换机及类型。 | 与外部发送方和Queue Binding一致;不要把Queue名称填在这里。推荐:按对接资料填写默认:—示例:FastBee_downlink_9f3c2b_exchange | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Queue | FMQ实际消费的命令队列。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | RabbitMQ管理员提供专用队列和绑定。 | 使用独立且归属明确的Queue;多个消费者会竞争消息。推荐:按对接资料填写默认:—示例:FastBee_downlink_9f3c2b_queue | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| Routing Key | Exchange路由到Queue所使用的键。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由RabbitMQ Binding约定。 | 外部发布和Binding必须匹配;FMQ消费的是Queue,不按Routing Key二次筛选。推荐:按对接资料填写默认:—示例:FastBee.downlink.9f3c2b | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| RabbitMQ ACK边界 | 平台接受命令后确认消息,不等待设备最终处理。;帮助判断当前链路所处层级,不改变运行配置。 | 当前消费运行实现。 | Queue归零只证明FMQ已受理,继续看命令状态和设备实收。推荐:按对接资料填写默认:—示例:ACK后设备仍可能FAILED | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
RabbitMQ 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| Prefetch Count | 单个消费者可持有的未确认消息上限。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 按命令处理耗时、并发和设备容量调优。 | 先用较小值验证,避免离线设备造成大量并发;当前实战为16。推荐:按当前业务填写默认:—示例:16 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 失败重新入队 | 消费处理抛错时是否让RabbitMQ重新入队。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 按重复控制风险和补偿方案选择。 | 当前默认false;设备失败通过新命令ID补偿,不让原命令无限循环。推荐:按对接资料填写默认:—示例:false关闭:失败后不自动重新入队;需由业务使用新ID补偿开启:失败可能重新入队;错误持续时可能形成重复消费和命令风暴 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
RocketMQ 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 NameServer | RocketMQ服务发现地址。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统或中间件管理员提供;必须是FMQ服务器实际可达的地址。 | 填写实际可达的NameServer,不是控制台URL。推荐:按对接资料填写默认:—示例:nameserver:9876 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Topic | 外部命令发布且FMQ订阅的主题。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | RocketMQ管理员与发送方约定。 | 使用专用Topic,避免与上行消息混用。推荐:按对接资料填写默认:—示例:FastBee_downlink_commands | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Consumer Group | FMQ接收命令使用的消费组。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | RocketMQ管理员分配。 | 同一业务链路使用稳定组名;组内实例会分摊消息。推荐:按对接资料填写默认:—示例:FastBee_downlink_consumer | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| Tag | 只接收匹配标签的消息。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 发送方Tag约定。 | 需要全部Tag时按部署支持填写通配;指定Tag时必须与发送方完全一致。推荐:按对接资料填写默认:—示例:command | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| RocketMQ消费边界 | 消息被消费只表示进入FMQ处理链,设备结果仍需另查。;帮助判断当前链路所处层级,不改变运行配置。 | 当前入站运行实现。 | 继续按命令ID查看终态和设备实收。推荐:按对接资料填写默认:—示例:消费成功不等于设备成功 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
MQTT 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 Broker Host | FMQ作为订阅客户端连接的MQTT Broker地址。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统或中间件管理员提供;必须是FMQ服务器实际可达的地址。 | 这是外部命令Broker,不一定是设备接入Broker。推荐:按对接资料填写默认:—示例:broker.example.com | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Broker Port | MQTT监听端口。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由外部系统或中间件管理员提供;必须是FMQ服务器实际可达的地址。 | 按TLS与非TLS部署选择正确端口。推荐:按对接资料填写默认:—示例:1883(以部署为准) | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Client ID | FMQ订阅外部命令时使用的唯一客户端身份。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由MQTT管理员分配。 | 必须避免与其他实例冲突;冲突会相互踢下线。推荐:按对接资料填写默认:—示例:FastBee_downlink_ingress | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 用户名 | 连接外部MQTT Broker的身份。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 按Broker认证规则填写;不要误用目标设备用户名。推荐:按对接资料填写默认:—示例:受控填写 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 密码 | 外部MQTT Broker身份对应的密码。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 只在受控密码框填写。推荐:按对接资料填写默认:—示例:受控填写 | 不得进入截图或交付物。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 订阅 Topic | FMQ接收外部命令的Topic。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 外部发送方和Broker管理员约定。 | 与设备下发Topic分开,避免回环。推荐:按对接资料填写默认:—示例:business/device/commands | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 订阅 QoS | FMQ接收外部命令的协议交付等级。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 发送方、Broker和重复处理策略共同决定。 | QoS 1仍可能重复,必须依赖命令ID幂等。推荐:按当前业务填写默认:—示例:1 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 入口与设备Topic回环风险 | 若入口订阅Topic与设备下发Topic重叠,FMQ发出的命令可能再次进入任务。;帮助判断当前链路所处层级,不改变运行配置。 | 入口Topic与输出Topic对比。 | 使用方向明确、互不重叠的Topic命名。推荐:按对接资料填写默认:—示例:business/commands 与 /device/function/get | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
WebHook 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 入口路径 | 外部系统POST Alink命令的相对路径。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由平台实施与外部接口负责人共同约定。 | 使用独立且可识别的路径,不暴露内部资源ID。推荐:按对接资料填写默认:—示例:/ingress/downstream/current | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Token | 保护当前入站路径的共享令牌。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 通过Authorization Bearer或平台支持的Token头发送;定期轮换。推荐:按对接资料填写默认:—示例:受控填写 | 泄露后外部人员可能向设备发命令。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 请求方式与消息体 | 外部系统使用POST发送标准Alink JSON。;帮助判断当前链路所处层级,不改变运行配置。 | 页面提示和HTTP入口实现。 | HTTP成功只说明请求被受理,继续查询命令状态。推荐:按对接资料填写默认:—示例:POST application/json | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
HTTP 入站参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 入口路径 | HTTP类型的受保护命令入口。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由平台实施与外部接口负责人共同约定。 | 与其他任务使用不同路径,避免路由冲突。推荐:按对接资料填写默认:—示例:/ingress/downstream/current | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 Token | 调用当前HTTP入口的共享令牌。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 由管理员通过受控渠道提供;不得写入手册、截图、日志或Manifest。 | 只在受控系统中保存和发送;不放在URL查询参数。推荐:按对接资料填写默认:—示例:受控填写 | 泄露会扩大远程控制风险。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| HTTP与WebHook的页面边界 | 两者当前都是受保护的HTTP入站路径,名称用于区分项目接入类型。;帮助判断当前链路所处层级,不改变运行配置。 | 当前页面与运行实现。 | 按项目约定选择,不把消息推送中的外发WebHook当作本入口。推荐:按对接资料填写默认:—示例:HTTP入站 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
MQTT 设备下发参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 必填 clientId | 定位当前在线MQTT会话或集群所属节点。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备客户端身份。 | 与连接时clientId完全一致;用户名不能替代。推荐:按对接资料填写默认:—示例:device-001 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 commandTopic / Topic | 设备接收PUBLISH的主题。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备订阅约定。 | 外部Alink显式提供最可靠;否则由输出Topic模板生成。推荐:按对接资料填写默认:—示例:/device-001/function/get | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| qos | 本次PUBLISH的MQTT QoS。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | Alink sys.ext或任务默认值。 | 按业务重复容忍度选择;最终会被限制到0至2。推荐:按对接资料填写默认:—示例:1 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| retain | 是否让Broker保留最后一条命令。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | Alink sys.ext或任务默认值。 | 即时控制默认关闭,避免设备重连执行旧命令。推荐:按对接资料填写默认:—示例:false | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| MQTT SENT边界 | 本地或远端节点的MQTT写操作成功完成。;帮助判断当前链路所处层级,不改变运行配置。 | 命令调度与MQTT发送结果。 | 继续以真实设备订阅消息或业务回复确认。推荐:按对接资料填写默认:—示例:SENT != 设备业务成功 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
TCP 设备下发参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| clientId | 优先定位平台已有TCP会话。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | TCP设备会话或注册结果。 | 使用平台当前会话标识,不凭设备名称猜测。推荐:按对接资料填写默认:—示例:tcp-device-001 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| host | 没有可复用会话时的目标主机。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备网络资料。 | 只使用可达且获准的设备地址。推荐:按对接资料填写默认:—示例:192.0.2.10 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| port | 目标TCP服务端口。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议文档和网络配置。 | 与监听方向和协议角色一致,不套用FMQ控制台端口。推荐:按对接资料填写默认:—示例:9000 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 payload / payloadHex / payloadBase64 | 按协议编码发送的文本或字节内容。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议编码规则。 | 二进制协议优先使用Hex或Base64并核对字节序。推荐:按对接资料填写默认:—示例:010300000002 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| timeout | 建立或写入目标通道的等待上限。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 网络延迟与平台限制。 | 从小范围测试开始,超时不能靠无限增大掩盖网络故障。推荐:按当前业务填写默认:—示例:10秒 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| TCP SENT边界 | 字节已写入TCP通道。;帮助判断当前链路所处层级,不改变运行配置。 | 协议发送结果。 | 仍需设备返回或业务侧状态确认是否执行。推荐:按对接资料填写默认:—示例:SENT != 设备执行 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
UDP 设备下发参数
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| clientId | 用于从平台运行状态解析设备端点。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | UDP设备最近端点记录。 | 端点可能变化,发送前先确认最近活动状态。推荐:按对接资料填写默认:—示例:udp-device-001 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| host | 目标UDP地址。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备端点或受控网络资料。 | 无稳定会话时显式提供,避免发到旧端点。推荐:按对接资料填写默认:—示例:192.0.2.20 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| port | 目标UDP端口。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议和网络资料。 | 与真实设备监听端口一致。推荐:按对接资料填写默认:—示例:9001 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 必填 payload / payloadHex / payloadBase64 | UDP数据报的文本或字节内容。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 设备协议编码规则。 | 每条命令应形成一个完整数据报,不依赖TCP式流拼接。推荐:按对接资料填写默认:—示例:010600010001 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| timeout | 目标解析或发送阶段允许的等待上限。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 平台与网络约定。 | 仅用于有界等待,UDP本身不提供确认。推荐:按当前业务填写默认:—示例:10秒 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| UDP SENT边界 | 数据报已交给发送通道。;帮助判断当前链路所处层级,不改变运行配置。 | 协议发送结果。 | 需要应用层回执或设备状态验证,不能依赖UDP传输确认。推荐:按对接资料填写默认:—示例:SENT != 设备收到 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
检查、发送、状态与分级判断
检查一下不发送,只验证目标、Topic和内容能否生成;立即发送会绕过外部入口,直接走设备下发。外部MQ被ACK表示平台已经受理,SENT表示协议写入完成,最终业务成功仍要看设备实收或设备回复。
命令状态包括QUEUED、SENDING、SENT、FAILED、TIMEOUT、REJECTED。命令ID在当前实现中约30分钟幂等;失败后重复旧ID不会重新创建命令,恢复必须使用新ID。
操作、监控与命令状态
| 字段 | 用途 | 值从哪里来 | 怎么选择 | 填错表现与恢复 | 生效条件 |
|---|---|---|---|---|---|
| 搜索 | 按任务名称或页面支持的摘要定位任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前列表中的任务身份。 | 搜不到时清空状态筛选和搜索词再刷新。推荐:按对接资料填写默认:—示例:FastBee_温控指令下行 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 状态筛选 | 只显示全部、运行中、已停用或异常任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 任务当前运行状态。 | 排查找不到任务时先切回全部。推荐:按对接资料填写默认:—示例:全部全部:显示所有任务;不限制状态运行中:外部入口正在消费;隐藏停用和异常已停用:外部入口未消费;隐藏运行任务异常:入口存在运行错误;用于集中排查 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 刷新 | 重新加载列表、详情或监控。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 需要最新状态时使用,并核对采样时间。推荐:按对接资料填写默认:—示例:刷新 | 刷新不会重发命令。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 启用 | 启动当前外部命令入口。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 完成检查、手动实收和安全确认后再启用。推荐:按对接资料填写默认:—示例:启用 | 可能立即消费Queue或Topic中的积压命令。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 停用 | 停止继续消费外部入口。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 维护、排障或删除前使用,并观察积压边界。推荐:按对接资料填写默认:—示例:停用 | 已受理的命令仍可能继续完成;立即发送仍可执行。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 监控 | 查看任务接收和设备下行统计。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 比较本次命令前后增量,不用历史总数冒充本次结果。推荐:按对接资料填写默认:—示例:监控 | 采样有时间边界,旧错误要结合发生时间。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 编辑 | 修改简单任务的入口或设备目标。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 修改前记录原值,保存后重新检查和实收。推荐:按对接资料填写默认:—示例:编辑 | 多动作或外部生成任务可能没有编辑入口。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 复制 | 以当前简单任务创建新的草稿。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 改名并先停用,逐项核对连接器、Queue和设备目标。推荐:按对接资料填写默认:—示例:复制 | 两条相同入口任务同时运行可能竞争或重复消费。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 删除 | 移除当前指令下行任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 先停用并确认连接器、转换器是否仍被其他任务引用。推荐:按对接资料填写默认:—示例:删除 | 没有撤销,未引用的关联资源可能一并清理。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 删除关联资源边界 | 简单任务删除时,未被其他任务引用的连接器或转换器可能一并删除。;帮助判断当前链路所处层级,不改变运行配置。 | 页面删除流程和引用检查。 | 不确定归属时取消,先到连接器页核对引用。推荐:按对接资料填写默认:—示例:取消删除 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 多动作任务限制 | 多动作或外部生成的任务可能只支持查看、测试、启停和删除。;帮助判断当前链路所处层级,不改变运行配置。 | 任务动作数量和页面能力。 | 没有编辑或复制入口时按页面边界处理,不手工拼接内部对象。推荐:按对接资料填写默认:—示例:按页面实际按钮判断 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 接收总数 | 当前任务已经受理的外部命令数量。;帮助判断当前链路所处层级,不改变运行配置。 | 任务监控快照。 | 本次发布后应增加;不增加说明问题仍在入口层。推荐:按对接资料填写默认:—示例:前后增量+1 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 下行成功 | 外部命令已通过入口同步校验并被平台受理的数量;异步协议终态仍可能是FAILED。;帮助判断当前链路所处层级,不改变运行配置。 | 任务入口监控快照。 | 用于判断RabbitMQ消息是否已进入平台;随后必须按命令ID查询SENT/FAILED,并查看设备实收。推荐:按对接资料填写默认:—示例:本次发布后通常增量+1 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 下行失败 | 外部消息在入口解析、同步校验或同步受理阶段失败的数量,不覆盖所有异步协议失败。;帮助判断当前链路所处层级,不改变运行配置。 | 任务入口监控快照。 | 增加时先查Alink结构和同步拒绝原因;未增加也不能据此排除命令最终FAILED。推荐:按对接资料填写默认:—示例:入口失败时增量+1 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 近5分钟速率 | 近期命令处理速度,不是永久平均值。;帮助判断当前链路所处层级,不改变运行配置。 | 监控时间窗口。 | 业务静默为0可以正常;有持续输入却为0才需要排查。推荐:按对接资料填写默认:—示例:条/秒 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 最近状态 / 最近错误 | 任务或入口最近一次可见运行状态。;帮助判断当前链路所处层级,不改变运行配置。 | 任务详情与监控。 | 结合本次时间和命令ID判断,不用历史错误替代当前结论。推荐:按对接资料填写默认:—示例:当前没有运行错误 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 命令终态 | 按命令ID查询异步调度和协议发送的最终状态。;帮助判断当前链路所处层级,不改变运行配置。 | 命令状态查询接口。 | 入口监控已受理后继续查询,SENT仍需设备实收,FAILED恢复时必须换新ID。推荐:按对接资料填写默认:—示例:SENT / FAILED / TIMEOUT / REJECTED | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| QUEUED | 命令已经建立记录,等待调度。;帮助判断当前链路所处层级,不改变运行配置。 | 命令状态查询。 | 短暂出现正常;长期不变时查队列和调度执行器。推荐:按对接资料填写默认:—示例:QUEUED | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| SENDING | 命令正在进入转换或协议发送阶段。;帮助判断当前链路所处层级,不改变运行配置。 | 命令状态查询。 | 应很快转为终态;长期不变时查发送超时和执行器。推荐:按对接资料填写默认:—示例:SENDING | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| SENT | 协议写入完成,不代表设备业务处理完成。;帮助判断当前链路所处层级,不改变运行配置。 | 命令状态查询。 | 继续查看FMQX/真实设备实收,必要时等待设备回复。推荐:按对接资料填写默认:—示例:SENT | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| FAILED | 校验、转换、路由或协议发送出现明确失败。;帮助判断当前链路所处层级,不改变运行配置。 | 命令状态查询中的错误原因。 | 先修正原因,恢复时使用新的命令ID。推荐:按对接资料填写默认:—示例:FAILED | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| TIMEOUT | 在允许时间内没有完成处理。;帮助判断当前链路所处层级,不改变运行配置。 | 命令状态查询。 | 检查设备、网络和执行器,不无限增加超时时间。推荐:按对接资料填写默认:—示例:TIMEOUT | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| REJECTED | 命令在进入发送前被规则或校验拒绝。;帮助判断当前链路所处层级,不改变运行配置。 | 命令状态查询。 | 修正Alink结构、设备信息或授权后,用新ID重发。推荐:按对接资料填写默认:—示例:REJECTED | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 命令ID幂等窗口 | 当前实现会在约30分钟内记住命令ID,重复ID不会再次创建和下发。;帮助判断当前链路所处层级,不改变运行配置。 | 命令记录存储与运行配置。 | 同一次网络重投可保留ID防重复;失败恢复必须生成新ID。推荐:按对接资料填写默认:—示例:约30分钟 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 设备实收 | FMQX真实MQTT会话订阅到本次命令。;帮助判断当前链路所处层级,不改变运行配置。 | FMQX GUI消息列表。 | 核对Topic、marker和业务参数,不能用历史消息充当本次结果。推荐:按对接资料填写默认:—示例:targetTemperature=26.5 | 取值与外部入口或设备实际信息不一致,会导致无法消费、路由失败或发错目标。;回到值的提供方逐项核对,修正后使用新的命令ID复测。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 连接 | 建立本批次真实MQTT设备会话。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 核对Host、Port、clientId与订阅后连接。推荐:按对接资料填写默认:—示例:连接 | 同一clientId重复连接可能踢掉原会话。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
| 断开 | 主动断开本批次设备会话。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。 | 当前页面提供的操作入口。 | 仅在隔离故障演示中使用。推荐:按对接资料填写默认:—示例:断开 | MQTT设备离线不保证平台记为FAILED;Broker仍可能接收发布,必须继续看设备实收。;先查看页面反馈和最近状态,修正后再执行一次。 | 范围:当前指令下行任务发布:不需要 · 重启:不需要 · 重连:不需要 |
监控、维护、故障恢复与安全
监控先看接收总数,再看下行成功和下行失败;接收没有增加说明问题还在入口层。当前下行成功按入口同步受理计数,异步协议失败不一定回改这张卡,因此设备路由结论必须继续按命令ID查询QUEUED、SENDING、SENT、FAILED、TIMEOUT或REJECTED。最近状态只能补充入口运行原因,不能代替命令终态。
RabbitMQ默认requeue_on_fail=false,平台接受消息后会ACK,设备失败不会把原消息自动退回队列。维护或删除前先停用并检查积压;删除简单任务时,未被其他任务引用的连接器或转换器可能一并清理。
24. 搜索、筛选并刷新任务
操作位置: 集成→指令下行
按名称搜索,切换全部/运行中/已停用/异常筛选,需要最新状态时点击 刷新。

图:通过名称、运行中筛选和刷新准确定位本批次指令下行任务。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 搜索 | 按任务名称或页面支持的摘要定位任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:当前列表中的任务身份。选择:搜不到时清空状态筛选和搜索词再刷新。推荐:按对接资料填写 · 示例:FastBee_温控指令下行 |
| 状态筛选 | 只显示全部、运行中、已停用或异常任务。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:任务当前运行状态。选择:排查找不到任务时先切回全部。推荐:按对接资料填写 · 示例:全部 |
25. 编辑简单任务
操作位置: 集成→指令下行
点击 编辑,修改前记录连接器、Queue、目标协议和Topic。

图:编辑抽屉正确带出当前任务、连接器、Queue、目标协议和Topic;本次不修改并取消。
26. 复制为新的停用任务
操作位置: 集成→指令下行
点击 复制,改成独立名称并关闭启用后再保存;本次只查看并取消。

图:复制草稿已改为独立名称并保持停用;本次仅教学查看,未保存副本。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 启用状态 | 开启后启动外部入口消费;关闭后不再自动消费,但立即发送仍可能执行。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:按调试、上线或维护阶段选择。选择:新建先停用,手动检查和设备实收通过后再启用。推荐:按对接资料填写 · 示例:停用 |
27. 停用外部入口
操作位置: 集成→指令下行
点击 停用,确认状态变为已停用。

图:任务已停用,外部入口不再继续消费;人工立即发送入口仍需谨慎使用。
字段说明
| 字段 / 控件 | 说明 |
|---|---|
| 启用状态 | 开启后启动外部入口消费;关闭后不再自动消费,但立即发送仍可能执行。;保存后影响当前指令下行任务;修改后要重新检查并以真实设备复测。选填 · 来源:按调试、上线或维护阶段选择。选择:新建先停用,手动检查和设备实收通过后再启用。推荐:按对接资料填写 · 示例:停用 |
28. 查看删除影响,本次取消
操作位置: 集成→指令下行
点击 删除,核对任务名称和关联资源说明;校对完成前点击取消。

图:删除确认框显示准确任务名称,并说明无其他引用的连接器或转换器可能一并清理;本次取消。
参考表
| 看到什么现象 | 可能原因 | 先检查哪里 | 如何恢复 |
|---|---|---|---|
| 检查一下通过,但设备没有消息 | 检查本来就不发送 | 确认结果是否标记dryRun | 设备在线且目标正确后,再使用立即发送或外部入口验证 |
| RabbitMQ队列有消息但接收总数不增加 | 任务停用、消费者未启动或连接器异常 | 看任务状态、连接器检查结果和Queue消费者 | 修正入口后启用,观察积压是否被消费 |
| 接收总数增加但下行失败增加 | TCP/UDP会话不可用、transport错误、clientId或目标端点不匹配 | 按命令ID查询FAILED原因,并核对真实设备协议 | 恢复正确会话和路由后使用新命令ID重发 |
| 设备重连后重复旧ID仍收不到 | 旧ID在幂等窗口内已存在 | 查询原命令记录是否仍为FAILED | 保留业务关联,生成新的唯一命令ID重发 |
| SENT但业务系统仍认为失败 | SENT只证明协议写出,不是设备业务执行结果 | 看FMQX/真实设备实收和设备回复 | 补充设备回执或业务确认,不越级修改命令结论 |
| 删除后连接器也不见了 | 连接器没有其他引用,被页面随简单任务一并清理 | 删除前查看连接器引用 | 从备份参数重建并重新校验;共享连接器必须先确认引用 |
生产操作提示
截图和示例用于说明操作位置与判断方法,不代表当前生产状态。涉及发布、启停、重绑、重试或删除时,应先确认目标环境、影响范围和恢复方案,并由授权人员执行。
蜂信物联(FastBee) · FMQ 操作手册

