跳至主要內容

属性下发规则

约 588 字大约 2 分钟

属性下发规则

当云平台向设备端下发属性后,会触发设备的属性下发规则。

属性下发规则目前支持以下操作:

  • 自定义数据下发函数

自定义数据下发函数

该操作用于在属性下发后,自动生成自定义数据下发。可通过云函数动态生成自定义数据下发的消息内容。

选项

  • 云函数:动态生成下发的自定义数据消息。
  • 推送方式:选择设备接入平台使用的协议,可选 MQTT 或 TCP。
  • 自定义数据流:选择设备通过哪个自定义数据流接收消息,请填写在设备类型中已创建的自定义数据流标识符。

云函数参数

  • push_attributes:设备下发的属性集合,作为参数传入函数。

云函数返回值

  • object:构造下发自定义数据的消息。
  • null:表示不下发自定义数据到设备。

下发自定义数据的消息 object 格式,根据自定义数据流的数据格式不同,分为以下几种:

  • HEX 数据格式:
{
    "type": "hex",
    "msg": "02030010000185FC"
}

生成以上的自定义数据消息,云函数如下:

module.exports = function (push_attributes) {
    /**
     * push_attributes:   下发的属性对象,作为函数参数传入。
     * data:                构造下发的自定义数据对象,下发到硬件。
     */

    var data = {
        "type": "hex",
        "msg": "02030010000185FC"
    }

    return data;
} 
  • Plaintext 文本格式
{
    "type": "text",
    "msg": "location,1,5,6,0"
}

生成以上的自定义数据消息,云函数如下:

module.exports = function (push_attributes) {
    /**
     * push_attributes:   下发的属性对象,作为函数参数传入。
     * data:                构造下发的自定义数据对象,下发到硬件。
     */

    var data = {
        "type": "text",
        "msg": "location,1,5,6,0"
    }

    return data;
} 
  • JSON 格式
{
    "type": "json",
    "msg": {
        "command": "openLock",
        "led": "ON",
        "stat": "011001"
    }
}

生成以上的自定义数据消息,云函数如下:

module.exports = function (push_attributes) {
    /**
     * push_attributes:   下发的属性对象,作为函数参数传入。
     * data:                构造下发的自定义数据对象,下发到硬件。
     */

    var data = {
        "type": "hex",
        "msg": {
            "command": "openLock",
            "led": "ON",
            "stat": "011001"
        }
    }

    return data;
} 

示例