属性下发类任务


属性下发类任务

利用属性下发类任务,可以将设备单个属性或多个属性的下发操作,打包为一条快捷指令,实现随时复用。

目前支持以下几类任务动作:

静态属性下发

可以在编辑器中直接填写要下发的属性集合 JSON 代码,例如下图:

另外配合任务的定时运行机制,可以快速实现云平台对设备的各种控制指令的定时下发。例如您可以定时早晨 8:00 执行任务通知设备运行,晚上 19:00 执行任务通知设备关闭。

云函数属性下发

提供了自由度更高的云函数,来实时构造要下发给设备的属性集合。适合具有一定开发能力的用户使用,也可联系我们的技术支持提供帮助。

云函数可以构造简单直接的静态属性集合,直接下发,例如下边的云函数,实际上实现的效果和前边静态属性下发是相同的。

module.exports = function () {

    var push_attributes = {
        relay1: true,
        relay2: false
    };

    return push_attributes;
}

使用内置函数库

通常我们在构造下发属性时,需要更多设备当前属性值参与计算,这时候可以使用 内置函数库

例如,我们使用以下任务,根据设备当时的温度数值,来判断是否开启或关闭继电器,将指令下发给设备。这个任务我们可以设置每 30 分钟定时执行一次。

module.exports = function () {

    // 读取设备当前的属性值
    const attributes = Cloud.getCurrentAttributes();
    var push_attributes = {};
    // 根据当前温度和阈值,决定继电器状态
    if (attributes.temperature > attributes.temperature_threshold) {
        // 如果温度大于阈值,继电器闭合
        push_attributes.relay1 = true;
    } else {
        // 否则,继电器断开
        push_attributes.relay1 = false;
    }

    return push_attributes;
}