调用设备服务 (非透传)


设备端通过服务调用 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)

模型中定义的服务输出字段。

错误码

有关错误码的描述,参见 错误码