# invokeThingAction
调用该接口在单个设备上调用指定方法。
# 使用说明
定义产品物模型方法时,已设置方法调用方式。因此,调用本接口时,平台会根据方法的定义选择对应的调用方式。 同步方式:平台直接使用 RRPC 同步方式下行发送请求,设备返回 RRPC 响应消息。RRPC使用详情,请参见什么是 RRPC(待补充)
。 异步方式:平台采用异步方式下行发送请求,设备采用异步方式返回结果。订阅的Topic详情,请参见物模型通信。
# 限制说明
同步调用方法,最大超时时间为5秒。若5秒内平台未收到回复,则返回超时错误。异步调用方法没有时间限制。
# 请求参数
参数 | 类型 | 是否是必选 | 示例值 | 说明 |
product_key | string | 是 | ANOWAGVC** | 设备所属的产品ProductKey |
device_name | string | 是 | AP0DNAP** | 设备名称 |
model_id | string | 否 | test_model | 方法所属的模块ID ? 说明 自定义模块才需要填写该参数(当前不支持默认模块) |
identifier | string | 是 | Switch | 方法标识符 |
params_json | string | 是 | {\"Fan\":"ON"} | 要启用服务的入参信息,数据格式为 JSON String,例如 params_json={"param1":1}。 若此参数为空时,需传入 params_json={} |
# 返回数据
参数 | 类型 | 说明 |
code | int | 错误码,0表示成功 |
message | string | 调用失败时的错误描述 |
data | struct | 调用成功时返回的数据 |
# 示例
请求示例
curl host:8082/device-thing-service/v0/thingModel/invokeThingAction -X POST \
-d '{"product_key":"KS9ZBEOR","device_name":"demo","model_id":"thing_model","identifier":"Switch","params_json":"{\"Fan\":"ON"}"}' \
-H "Content-Type: application/json" \
-H "Cookie: FABRIC_TOKEN=fabric.1.4b84b15bff6ee5796152495a230e45e3d7e947d9.d5527e81265b78e47b7891e3ad18d4cdddd3fda2.1629086990.c24c2f07"
1
2
3
4
2
3
4
返回数据
{
"code": 0,
"message": "",
"data": {}
}
1
2
3
4
5
2
3
4
5