欢迎进入Node-RED的世界!Node-RED是一个基于流的开发工具,它让你可以通过连接各种不同的节点来创建自动化任务和应用程序。这个指南将帮助你了解Node-RED的基础知识,构建你的流程,让 Home Assistan实现无限可能。

上节预览

 

Node-RED界面概览

当你第一次打开Node-RED时,你将看到以下几个主要区域:

  • 流编辑器(Flow Editor):这是你创建流程的画布,你可以在这里拖放节点并将它们连接起来。
  • 节点调色板(Node Palette):位于流编辑器左侧,包含了可以用来构建流程的所有节点。
  • 信息侧边栏(Info Sidebar):位于右侧,显示选中节点或流的详细信息。
  • 调试侧边栏(Debug Sidebar):也位于右侧,用来显示调试信息和节点输出的消息。
图解 Node- RED界面

节点和流

在Node-RED中,一切都是基于节点和流的:

  • 节点(Nodes):是构建流程的基本构件,每个节点都有一个特定的功能,比如接收输入、处理数据或控制设备。
  • 流(Flows):是由节点按照特定逻辑连接起来的集合,代表了一个完整的自动化过程。
图解自动化节点/流

创建你的第一个流

让我们来创建一个简单的流程,以便你了解如何在Node-RED中工作。

第1步:拖放节点

从节点调色板中拖放一个inject节点(通常用于触发流程)到流编辑器中。

第2步:添加功能

再拖放一个function节点(用于处理数据)并将其连接到inject节点。

第3步:设置输出

最后,拖放一个debug节点(用于输出结果)并将其连接到function节点。

第4步:配置节点

点击每个节点来配置它们的属性。例如,你可以设置inject节点来在点击时发送当前时间戳。

第5步:部署流

点击右上角的“部署”按钮来激活你的流程。

第6步:触发流

点击inject节点旁边的按钮来触发流程,并在调试侧边栏中观察结果。

 


实战案例:定时控制入户灯

目标

  • 每天晚上7点自动打开实体ID为 light.wall_switch_switch2_3 的入户灯。
  • 每天早上7点自动关闭同一入户灯。
  • 使用一个debug节点来监控操作的状态。

light.wall_switch_switch2_3 需要修改的为Home Assistan 中自己的灯光实体ID

步骤

拖放节点

拖放时间节点

  • 从节点调色板中拖放一个 inject 节点到流编辑器中。
  • 配置两个 inject 节点,一个设置为每天晚上7点触发,一个设置为每天早上7点触发。
编辑 inject 节点

添加Home Assistant服务调用节点

  • 拖放两个 call service 节点,用于与Home Assistant交云通信。
  • 将一个 call service 节点连接到晚上7点的 inject 节点,用于打开灯。
  • 将另一个 call service 节点连接到早上7点的 inject 节点,用于关闭灯。
编辑 call service 节点

设置 call service 节点

  • 配置每个 call service 节点的服务为 light.turn_onlight.turn_off
  • 在“实体ID”字段中输入 light.wall_switch_switch2_3
调试节点并部署

添加调试节点

  • 拖放两个 debug 节点到流编辑器中。
  • 将它们分别连接到两个 call service 节点的输出。

配置调试节点

  • 点击 debug 节点以配置它们,确保它们设置为显示完整的消息对象。

部署流程

  • 点击右上角的“部署”按钮来激活你的流程。

测试和监控

  • 你可以手动点击 inject 节点旁边的按钮来测试流程。
  • 在调试侧边栏中观察结果,确保灯光按预期打开和关闭。

通过这个实战案例,你不仅实现了一个具体的自动化任务,而且还能够通过debug节点监控状态,确保自动化运行正常。这个流程可以根据需要进行调整,比如调整时间或控制不同的设备。


学习更多

这只是Node-RED的一个简单入门。要充分利用Node-RED的潜力,你需要学习更多的节点和它们的配置选项。以下是一些有用的资源:

结尾

现在你已经了解了Node-RED的基础知识,并且创建了你的第一个简单流程。后续的的教程,我们将更加深入的讲解每一个节点的作用,随着你对Node-RED的探索和实践,你将能够创建更复杂和强大的自动化任务来控制你的智能家居设备。