调用设备服务 (非透传)¶
设备端通过服务调用 Topic 响应设备服务调用请求,云端采用同步或异步的方式推送该消息,设备端可以利用 reply topic 响应该消息。
下行
- 请求 Topic:
/sys/{productKey}/{deviceKey}/thing/service/{tsl.service.identifier}
- 响应 Topic:
/sys/{productKey}/{deviceKey}/thing/service/{tsl.service.identifier}_reply
注解
tsl.service.identifier 为模型中定义的服务的标识符。
请求数据格式¶
{
"id": "123",
"version": "1.0",
"params": {
"Power": "on",
"WindState": 2
},
"method": "thing.service.{tsl.service.identifier}"
}
响应数据格式¶
{
"id": "123",
"code": 200,
"data": {
"parameter_1": 1.3,
"parameter_2": 13
}
}
请求参数说明¶
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
id | String | 必需 | 消息 ID 号,保留值。 |
version | String | 必需 | 协议版本号,目前协议版本 1.0。 |
params | List | 必需 | 调用设备服务的参数。 |
method | String | 必需 | 请求方法。 |
Power | String | 可选 | 要调用的服务的标识符,在此示例中为服务 Power 的标识符。此处设置的值必须与服务的数据类型匹配。例如,当此参数的数据类型在模型中设置为 string 时,此处的值必须为 string。 |
WindState | integer | 可选 | 要调用的服务的标识符,在此示例中为服务 Windstate 的标识符。如上,此处设置的值必须与服务的数据类型匹配。 |
响应参数说明¶
参数 | 类型 | 描述 |
---|---|---|
id | String | 消息 ID 号。 |
code | Integer | 200 或设备端定义的错误码。200 代表请求成功执行。 |
data | Map(Key 为 String,Value 为 String,Number,Array 或 Object) | 模型中定义的服务输出字段。 |