在这篇博客中,Dirk-Jan Faber向我们展示了 Node RED 最新版本更改中提供的一些新工具,以及在哪里可以找到最新的文件。
从 3.14 版到 3.20 版,Node-RED 节点上发生了很大变化,但当您检查 Node-RED 流程时,并非所有变化都会立即显现出来。在这篇博文中,我将带您了解这些变化,它们将帮助您创建更高效、更易于使用的流程。
如果您还不熟悉 Node-RED,您可以在此处阅读有关它的全部内容。
显示 最后看到的值的节点
以前, 输入节点报告“ O k”或“( D is ) C onnected ”作为状态。随着3.20 的更新,此行为已发生改变-它现在报告节点看到的最后一个值。这是输入节点过去的样子:
例如,现在看起来是这样的:
打开 流程并能够查看 光伏功率值变化后,开发其余流程会容易得多。如果您希望看到以千瓦为单位的值,但实际看到的是以瓦为单位的值,则需要除以1000才能获得预期值 秒。
如果 您 不喜欢这种新 行为,您 可以 通过配置 节点禁用它,然后选择Victron Energy Client 。以前,此配置 节点不提供“选项” ——现在有两个复选框。第一个允许您禁用“值 '读数 并 恢复 为仅 显示“已连接”。您可能希望保留选中的选项。
将最后一个值存储在全局上下文中
在 Victron Client 配置中,您可能还会注意到新的“上下文存储”选项。启用此选项将导致节点将最后看到的值存储到全局上下文中。这是一种存储信息的方法,可以在不同节点之间共享,而无需使用通过流传递的消息。
这些值存储在包含所有可见值的对象中的“victronenergy”下。通过这种方式,您可以使用更改节点(或直接从函数节点)从上下文中获取最新值。也许不是每个人都想使用它,但它可以简化您的流程。
上图显示我当前的流程有3个输入节点:
- 系统节点,显示GX 设备的VRM 门户ID
- 温度传感器,显示当前温度。温度计的设备实例为 21。
- 第三,设备实例为 25 的油箱传感器显示电池电压。
有了这些数据,我可以使用更改节点将 msg.payload 设置为油箱的最新电池电压。需要配置更改节点以从全局上下文中检索“ victronenergy.tank._25.BatteryVoltage ”以获取该信息。设备实例用于区分多个设备。这些 ID 将根据您的安装而有所不同。在自定义输入和自定义输出节点的下拉菜单中,您可能还会注意到这些标识号。
更改节点的编辑面板看起来与此类似:
使用自 定义输入和输出节点
最近还添加了两个自定义节点,我想解释一下它们的用途,因为它们非常通用。这两个节点使用完整的底层通信总线,所有其他节点也从该总线读取和写入。普通的 Victron 节点仅显示过滤结果。
这意味着您可能能够在自定义节点中找到任务特定节点中未提供的值。通常可以从这里检索一些产品特定值;例如 Victron 电网仪表的刷新时间。此外,还有诸如固件版本(数字表示)之类的内容。
需要注意的一点是,使用自定义输出节点写入值时确实需要小心。系统进程可能也会写入相同的条目,从而导致系统混乱。
Node-RED 仪表板 2.0
Node RED 正在从仪表板版本1.0迁移 到版本2.0。请在此处阅读有关他们为何推动此后续版本的完整声明。
为了开始使用仪表板2.0 ,您需要将[ @ flowfuse / node - red - dashboard ]添加到您的调色板。安装模块后,VRM上的Venus OS Large菜单上将出现一个新的图块,从而允许您 访问 通过 VRM轻松获取新的仪表板。
更多 Victron 节点
虽然默认情况下不提供,但有一些额外的可安装节点,这对 Victron 系统很有帮助。可以通过管理面板菜单项上的安装选项卡安装这些节点。每个人都可以创建新节点并发布它们。可以通过在https://flows.nodered.org/search?term=victron上的搜索选项卡中搜索“victron”来查找新节点
下面我将介绍其中两个 ,但还有更多值得探索。此外,当您寻找灵感或更多示例时,请查看此处的示例。
Victron VRM API
此节点允许您直接查询 VRM API 以获取有关您站点的信息。您需要先创建一个访问令牌才能开始,但一旦完成,您就可以执行多个查询。例如,获取您站点的太阳预报。
有关 VRM API 的更多信息可以在这里找到。
要 安装的节点: [ victron-vrm-api ]
Victron Modbus
有些人更喜欢通过 modbus 获取值,而不是使用默认的 Victron 节点。此节点使访问正确值变得更容易。由于此节点使用 node-red-contrib-modbus 的配置进行连接,因此您需要先安装该节点,然后才能使其工作。
安装后,您只需从下拉列表中选择要检索或写入的值即可。您还需要输入单元 ID 才能使其工作,但可以在远程控制台的设置 -> 服务 -> Modbus TCP -> 可用服务下轻松找到。
要安装的节点: