是否可以在 Node-RED 中声明全局变量并在节点配置中使用它们?

Raf*_*rsk 5 node-red

假设我通过 MQTT 协议从许多设备接收信息,下图是一台设备块的简化版本:

设备一

device2因此,我们还假设所有其他设备都具有完全相同的图表,除了第二个设备、device3第三个设备等将更改的主题名称,如下所示:

设备二

问题是我想要一种在节点配置中更改名称的方法,而不必一个一个地进行。就像声明一个全局变量一样,它不仅可以在函数中使用,而且可以在节点本身中使用。例如,最后一张图片可以使用类似:MYVARIABLE_temperatureAMYVARIABLE_temperatureB作为主题。

那么,是否可以使用 Node-RED 来做这样的事情呢?或者解决方案只是创建一个具有用于放置值的特定字段的自定义节点?

har*_*llb 4

不使用全局上下文,但您可以使用以下语法使用环境变量:

$(ENV_VAR_NAME)
Run Code Online (Sandbox Code Playgroud)

因此,您可以使用环境变量为配置变量添加前缀,然后更改这些变量以更新节点(重新启动 Node-RED)