RS485 透传
通过 device.operation.execute 发送原始 RS485 数据并等待从站响应。服务不解析 Modbus 业务字段;调用方负责构造请求、CRC 和响应解析。
权限
text
device:controlRequest
json
{
"type": "request",
"requestId": "req_rs485_001",
"topic": "device.operation.execute",
"data": {
"deviceId": "abc123456789",
"idempotencyKey": "idem_rs485_001",
"operation": {
"name": "device.rs485.transceive",
"params": {
"requestHex": "02060034000109F7"
}
}
}
}requestHex 为连续十六进制字符串,长度 1 到 30 字节,不包含空格、0x 前缀或分隔符。
Reply
json
{
"type": "reply",
"requestId": "req_rs485_001",
"code": "COMMAND_ACCEPTED",
"message": "Command accepted.",
"data": {
"command": {
"id": "cmd_01HY...",
"deviceId": "abc123456789",
"operation": "device.rs485.transceive",
"status": "SUCCESS",
"params": {
"requestHex": "02060034000109F7"
},
"result": {
"responseHex": "02060034000109F7"
},
"createdAt": "2026-07-15T08:30:00Z"
}
}
}SUCCESS:等待窗口内收到对应的 RS485 响应。TIMEOUT:等待窗口内没有收到响应,result不返回,应按未确认成功处理。SENT:相同幂等键的原命令仍在等待结果。FAILED:平台已确认命令未成功完成。
命令返回 TIMEOUT 后,复用原 idempotencyKey 只会返回同一个命令,不会再次发送 RS485 数据。确认需要安全执行一次新的透传操作后,生成新 key。
与当前请求匹配的 RS485 数据放在 command.result.responseHex 中,不再重复发送事件。无法匹配等待中请求的数据,包括晚到或设备主动上报的数据,会以 device.rs485.received 事件发送。
可能返回 INVALID_REQUEST、AUTH_SCOPE_DENIED、DEVICE_NOT_FOUND、DEVICE_BUSY、DEVICE_OFFLINE、IDEMPOTENCY_CONFLICT、COMMAND_REJECTED、RATE_LIMITED、GATEWAY_UNAVAILABLE 或 INTERNAL_ERROR。
对应 REST 接口:RS485 透传命令。
