设备上报事件
设备上报事件
实现设备上报事件的原理,请参见Alink协议中设备上报事件原理图。
上报透传事件
设备上报透传属性或事件:

Topic和数据格式(上行):
透传/自定义
Topic  | 数据格式  | 
请求Topic:  | 请求数据是设备上报的原始报文。 示例如下:  | 
响应Topic:  | 云端返回数据格式如下: 成功返回示例 失败返回示例  | 
上报物模型事件
物模型模块  | Topic  | 数据格式  | 
默认模块  | 
  | 以默认模块物模型为例,请求数据格式: 响应数据格式: 若请求失败,返回  | 
数据格式说明:
参数  | 类型  | 说明  | 
id  | String  | 消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。  | 
version  | String  | 协议版本号,目前协议版本号唯一取值为1.0。  | 
sys  | Object  | 扩展功能的参数,其下包含各功能字段。 说明  使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。  | 
ack  | Integer  | sys下的扩展功能字段,表示是否返回响应数据。 
 重要  如果未配置该功能,则无此参数,云端默认返回响应数据。  | 
method  | String  | 请求方法。 
 取值为 
 取值为  | 
params  | Object  | 上报事件的输出参数。  | 
value  | Object  | 事件的输出参数信息。如以上示例中的两个参数Power(电源)和WF(工作电流)的信息。  | 
time  | Long  | 事件上报的时间戳,类型为UTC毫秒级时间。 该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳。 
  | 
数据格式说明:
参数  | 类型  | 说明  | 
id  | String  | 消息ID号,String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。  | 
code  | Integer  | 结果状态码。  | 
data  | Object  | 请求成功时,返回的数据固定为空。  | 
message  | String  | 返回结果信息。请求成功时,返回success。  | 
method  | String  | 响应数据对应的请求方法,与请求参数中method相同。  | 
version  | String  | 协议版本号,与请求参数中version相同。  | 
示例:假设产品中定义了一个alarm事件,它的TSL描述如下。参数说明,请参见什么是物模型。
{
    "schema": "https://iot-tsl.oss-cn-shanghai.aliyuncs.com/schema.json",
    "link": "/sys/${productKey}/airCondition/thing/",
    "profile": {
        "productKey": "${productKey}",
        "deviceName": "airCondition"
    },
    "events": [
        {
            "identifier": "alarm",
            "name": "alarm",
            "desc": "风扇警报",
            "type": "alert",
            "required": true,
            "outputData": [
                {
                    "identifier": "errorCode",
                    "name": "错误码",
                    "dataType": {
                        "type": "text",
                        "specs": {
                            "length": "255"
                        }
                    }
                }
            ],
            "method": "thing.event.alarm.post"
        }
    ]
}当设备上报事件时,请求数据格式:
{
    "id": "123",
    "version": "1.0",
    "params": {
        "value": {
            "errorCode": "error"
        },
        "time": 1524448722000
    },
    "method": "thing.event.alarm.post"
}