首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何延迟清除ThingsBoard警报?

如何延迟清除ThingsBoard警报?
EN

Stack Overflow用户
提问于 2020-08-05 13:51:00
回答 1查看 727关注 0票数 0

我在ThingsBoard中有一个规则链,在温度超出阈值时执行创建警报,否则执行一个清晰的警报。当这些事件发生时,我会用电报机器人收到一条消息。一切都很好。

然而,当温度在阈值附近徘徊时,当它进出阈值温度时,我可以得到许多通知。这有点烦人。

我想有明确的警报活动,只有当它是超过5分钟(比如说),自上次创建警报事件被触发。

关于如何实现这一点,有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-08 00:29:11

我终于想出了怎么做。

我在设备中添加了一些服务器属性,这些属性定义触发警报的温度。我有一个规则链,用于使用以下节点控制这些警报:

  1. 充实-发起者属性将相关属性添加到与此消息关联的元数据中
  2. 过滤器-脚本来检测温度是否超出预期范围
  3. Filter -脚本,用于检测自上次触发警报以来延迟期是否已经过期。
  4. 操作-当脚本检测到temp超出范围时创建警报
  5. 操作-当脚本检测到延迟期已过期时清除警报
  6. 转换-脚本更新最后警报时间属性
  7. 操作-保存属性以持久化更新的警报时间属性
  8. 转换-脚本创建关于警报设置或清除的消息
  9. 规则链处理将消息发送给电报机器人

例如,下面是用于在清除警报之前检查延迟期是否已过期的脚本:

代码语言:javascript
复制
var alarmTime = Number(metadata.ss_lastWaterTempAlarmTime);
var alarmDelay = Number(metadata.ss_clearAlarmTimeDelay);
return metadata.ts >= alarmDelay + alarmTime;

ss是添加到元数据中的服务器端属性的前缀。

你可以在我的水上回购中看到完整的规则链json

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63266652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档