Skip to content

RS485 透传

通过 device.operation.execute 发送原始 RS485 数据并等待从站响应。服务不解析 Modbus 业务字段;调用方负责构造请求、CRC 和响应解析。

权限

text
device:control

Request

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 为连续十六进制字符串,长度 130 字节,不包含空格、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_REQUESTAUTH_SCOPE_DENIEDDEVICE_NOT_FOUNDDEVICE_BUSYDEVICE_OFFLINEIDEMPOTENCY_CONFLICTCOMMAND_REJECTEDRATE_LIMITEDGATEWAY_UNAVAILABLEINTERNAL_ERROR

对应 REST 接口:RS485 透传命令

Docs buildVersion v1.3.6-20260720-180213-70
Copyright © 2026 WLTE