以节点红色重置计数器
Reset counter in node-red
每当系统从 IoT 中心收到一定数量的消息时,我都会发送一封自动电子邮件,但我正在努力重置这些消息的计数器。到目前为止的系统如下:
我从 Azure 接收器收到 Json 消息,检查其中一个参数是否符合某个阈值,如果是这样,则增加计数器,如果计数器高于我正在发送的另一个阈值带有警告的电子邮件。
我想要的是在发送电子邮件后重置计数器,因此重新开始,在 "Write email" 框中它确实会重置,但我看到 msg 变量不是全局的并且无法连接两个功能盒以在它们之间进行通信并使 "count" 一个重置变量。
有什么提示吗?谢谢!
刚找到遇到同样问题的人的答案:
https://tech.scargill.net/node-red-global-flow-and-context/
使用全局或流变量将解决问题。
Node-red 通过名为 contexts 的共享内存 space 处理状态。上下文要么由节点、流限定范围,要么可以全局访问。
在您的特定情况下,您应该使用流上下文,这样您的计数器将可供其他节点处理。
您可以在 official documentation as pointed out by @hardillb in 上找到有关上下文页面的更多详细信息。
每当系统从 IoT 中心收到一定数量的消息时,我都会发送一封自动电子邮件,但我正在努力重置这些消息的计数器。到目前为止的系统如下:
我从 Azure 接收器收到 Json 消息,检查其中一个参数是否符合某个阈值,如果是这样,则增加计数器,如果计数器高于我正在发送的另一个阈值带有警告的电子邮件。
我想要的是在发送电子邮件后重置计数器,因此重新开始,在 "Write email" 框中它确实会重置,但我看到 msg 变量不是全局的并且无法连接两个功能盒以在它们之间进行通信并使 "count" 一个重置变量。
有什么提示吗?谢谢!
刚找到遇到同样问题的人的答案:
https://tech.scargill.net/node-red-global-flow-and-context/
使用全局或流变量将解决问题。
Node-red 通过名为 contexts 的共享内存 space 处理状态。上下文要么由节点、流限定范围,要么可以全局访问。
在您的特定情况下,您应该使用流上下文,这样您的计数器将可供其他节点处理。
您可以在 official documentation as pointed out by @hardillb in