调用设备服务 (非透传)


设备端通过服务调用 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) 模型中定义的服务输出字段。

错误码

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