云触发器动作
物联网设备管理门户采用事件驱动的架构,支持应用在状态发生变化时相互通知,并触发相应的动作。 云触发器动作指平台中触发事件时要执行的动作序列。 在添加相应的动作之前,需要先添加触发器。有关添加触发器的更多信息,请参见添加触发器。
动作的参数因动作类型而异。对于所有 Trigger actions(触发器动作),右侧都会显示一个 Suggestions(建议)字段。该字段不是触发器动作的参数。该字段是一种容器,列出了事件和之前触发器动作可用的所有 Trigger variables(触发器变量)。此列表的内容因所选择的事件和触发器动作而异。
Event variables(事件变量)和 Action variables(动作变量)显示在 Suggestions(建议)字段中,可用作当前和后续动作的参数。例如,如果触发器动作使用了 Thing key(物键值)作为参数(例如 alarm.publish 动作需要 Thing key(物键值)参数),并且 Trigger variable(触发器变量)$(event.thing.key) 可用(例如,从 property.change 事件),则可用于代替静态的 Thing key(物键值)。
动作变量格式为 $(action.X.NNN),其中 X 为代表变量来源动作的数字(起始为零),NNN 为特定变量名称。
最简单的情况可能是 $(action.X.value),在这种情况下,指向的值将是动作 X 结果的 value(值)字段中存在的值。
请参见以下示例:
如果“attribute.publish”动作的 value(值)参数应等于上一个动作的时间戳输出 (id:0),则正确的语法是:$(action.0.ts)
如果“attribute.publish”动作的 value(值)参数应等于上一个动作 (id:2)的最后一个值输出 (value:100),则正确的语法是:$(action.2.value.3.0.9.value)
复制和粘贴动作
可以复制并粘贴一组触发器动作,以减轻定义触发器时的工作量。以下视频解释了复制和粘贴触发器动作的步骤。
全局变量
以下是在任何触发器动作中使用的全局变量。
变量 | 描述 |
---|---|
$(trigger.exec_time) | 用于显示触发器执行的时间。 |
$(trigger.lastErrorMsg) | 用于显示上次失败的触发器动作的错误代码,并且会被下一个失败的动作覆盖(仅失败途径)。 |
$(trigger.lastErrorCode) | 用于显示上次失败的触发器动作的错误代码,并且会被下一个失败的动作覆盖。 |
$(time.now) | 用于将当前时间戳设置为触发器/批量执行字段。必要时将转换为 Unix 时间戳。 |
其他触发器动作
有三种附加动作可用:
- Comment(注释)动作可在画布上放置注释。该动作无需输入,也没有输出。该动作用于向触发器未来的访客显示注释。
- Success(成功)和 Failure(失败)动作用于指示触发器成功终止或失败终止。Failure(失败)动作可选。必须至少有一个 Success(成功)动作。任何未在 Success(成功)动作时终止的分支都视为失败。
以下是物联网设备管理门户中可用的多种触发器动作: