属性下发类任务
属性下发类任务
利用属性下发类任务,可以将设备单个属性或多个属性的下发操作,打包为一条快捷指令,实现随时复用。
目前支持以下几类任务动作:
静态属性下发
可以在编辑器中直接填写要下发的属性集合 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;
}