同步调用设备行为

最近更新时间:2024-04-03 11:20:58

我的收藏

1. 接口描述

接口请求域名: iotexplorer.tencentcloudapi.com 。

为用户提供同步调用设备行为的能力。

默认接口请求频率限制:200次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CallDeviceActionSync。
Version String 公共参数,本接口取值:2019-04-23。
Region String 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-bangkok, ap-beijing, ap-guangzhou, ap-shanghai, ap-shanghai-fsi, eu-frankfurt, na-ashburn 。
ProductId String 产品Id
示例值:TOIDHQ3AOQ
DeviceName String 设备名称
示例值:light1
ActionId String 产品数据模板中行为功能的标识符,由开发者自行根据设备的应用场景定义
示例值:openlight
InputParams String 输入参数
示例值:{"vol":4}

3. 输出参数

参数名称 类型 描述
ClientToken String 调用Id
示例值:0fe1260b7a724b67ba873ca7df703e0d
OutputParams String 输出参数,取值设备端上报$thing/up/action method为action_reply 的 response字段,物模型协议参考https://cloud.tencent.com/document/product/1081/34916#.E8.AE.BE.E5.A4.87.E8.A1.8C.E4.B8.BA.E8.B0.83.E7.94.A8
注意:此字段可能返回 null,表示取不到有效值。
示例值:{"brightness":1,"color":1,"light_switch":1}
Status String 返回状态,取值设备端上报$thing/up/action method为action_reply 的 status字段,如果不包含status字段,则取默认值,空字符串,物模型协议参考https://cloud.tencent.com/document/product/1081/34916#.E8.AE.BE.E5.A4.87.E8.A1.8C.E4.B8.BA.E8.B0.83.E7.94.A8
示例值:succ
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 同步调用设备行为

云端调用后,设备端上报$thing/up/action/TOIDHQ3AOQ/light1

{
    "method": "action_reply",
    "clientToken": "0fe1260b7a724b67ba873ca7df703e0d",
    "code": 0,
    "response": { "brightness": 1, "color": 1, "light_switch": 1 },
    "status": "succ"
}

输入示例

POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CallDeviceActionSync
<公共请求参数>

{
    "DeviceName": "light1",
    "InputParams": "{\"vol\":3}",
    "ActionId": "actid",
    "ProductId": "TOIDHQ3AOQ"
}

输出示例

{
    "Response": {
        "ClientToken": "0fe1260b7a724b67ba873ca7df703e0d",
        "OutputParams": "{\"brightness\":1,\"color\":1,\"light_switch\":1}",
        "RequestId": "235fe48b-0c31-4a7c-aaf6-83ba3e9s4bcf",
        "Status": "succ"
    }
}

示例2 同步调用设备行为,设备超时

当设备响应时间过长时,设备返回情况如样例所示。

输入示例

POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CallDeviceActionSync
<公共请求参数>

{
    "DeviceName": "light1",
    "InputParams": "{\"brightness\":3}",
    "ActionId": "actid",
    "ProductId": "TOIDHQ3AOQ"
}

输出示例

{
    "Response": {
        "Error": {
            "Code": "FailedOperation.Timeout",
            "Message": "调用超时"
        },
        "RequestId": "b1de7dcf-5029-4d70-b6b5-d1ad0f785552"
    }
}

示例3 同步调用设备行为,设备不在线。

当设备不在线或未订阅相关 topic 时,设备返回情况如样例所示。

输入示例

POST / HTTP/1.1
Host: iotexplorer.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CallDeviceActionSync
<公共请求参数>

{
    "DeviceName": "light1",
    "InputParams": "{\"brightness\":3}",
    "ActionId": "actid",
    "ProductId": "TOIDHQ3AOQ"
}

输出示例

{
    "Response": {
        "ClientToken": "",
        "OutputParams": "",
        "RequestId": "b2621fc1-d6d9-4929-af0b-3fb0e919658a",
        "Status": "FailedOperation.ActionUnreachable|动作消息不可达"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.ActionUnreachable 动作消息不可达。
FailedOperation.Timeout 超过时间。
InternalError 内部错误。
InternalError.DBOpertaionError DB操作错误。
InternalError.InternalRPCError 内部RPC错误。
InternalError.InternalServerException 发生错误。
InvalidParameter.ActionInputParamsInvalid 动作输入参数不合法。
InvalidParameterValue.ActionNilOrNotExist 动作为空或不存在。
InvalidParameterValue.ModelDefineNil 物模型为空。
InvalidParameterValue.ModelPropertyNotExist 属性ID不存在。
ResourceNotFound 资源不存在。
ResourceNotFound.DeviceNotExist 设备不存在。
ResourceNotFound.StudioProductNotExist 产品不存在。
UnauthorizedOperation 未授权操作。
UnauthorizedOperation.NoPermissionToStudioProduct 产品ACL错误。
UnsupportedOperation.InstanceIsolated 由于实例到期已被禁用,请续费后使用。