Node-RED 自动化流程编写教程 – 可视化编程打造智能家居联动

Node-RED 是什么

Node-RED 是 IBM 开发的一个可视化编程工具,通过拖拽节点、连接流程来编程。它特别适合 IoT(物联网)场景,是 Home Assistant 自动化之外的一个强大补充。

安装 Node-RED

方式 1:在 Home Assistant 中安装

通过 HACS 安装 Node-RED 插件。

方式 2:独立安装

# 通过 Docker 安装
docker run -d -p 1880:1880 --name nodered nodered/node-red

# 通过 npm 安装
npm install -g node-red

访问

安装后访问 http://你的IP:1880

界面介绍

  • 节点面板 – 左侧,包含各种功能节点
  • 流程画布 – 中间,拖拽节点、连接流程
  • 信息面板 – 右侧,调试和节点信息

基础节点

常用节点

  • inject – 手动触发或定时触发
  • debug – 输出调试信息
  • function – 编写 JavaScript 代码
  • switch – 条件判断
  • change – 修改消息内容
  • http request – HTTP 请求

实战示例

示例 1:定时发送消息

节点:
[inject (every day at 8:00)] -> [debug]

配置 inject 节点:

  • Repeat: at a specific time
  • Time: 08:00

示例 2:Home Assistant 实体控制

节点:
[inject] -> [HA API: turn on light] -> [HA API: turn on fan]

配置 Home Assistant 节点:

  1. 添加「server」节点,配置 Home Assistant 地址
  2. 添加「call service」节点
  3. Domain: light
  4. Service: turn_on
  5. Entity ID: light.living_room

示例 3:条件触发

[温度传感器] -> [switch: > 30?] -> [开空调]
                            | -> [发通知]

示例 4:API 获取天气

[inject] -> [http request: 天气API] -> [function: 解析数据] -> [HA: 设置空调]

高级功能

Dashboard

Node-RED Dashboard 可以创建可视化仪表板:

# 安装 Dashboard
npm install @node-red/node-red-dashboard

# 常用 UI 节点
# ui_text - 文本显示
# ui_button - 按钮
# ui_slider - 滑块
# ui_gauge - 仪表盘
# ui_chart - 图表

子流程

将重复的流程封装为子流程,提高复用性。

在 Home Assistant 中集成

Node-RED 可以通过 HA 节点与 Home Assistant 深度集成:

  • 监听 HA 实体状态变化
  • 调用 HA 服务
  • 发送 HA 事件
  • 访问 HA 历史数据

总结

Node-RED 是可视化编程的强大工具,特别适合创建复杂的智能家居自动化流程。相比 YAML 配置,Node-RED 的图形界面更直观,调试更容易。建议配合 Home Assistant 使用,打造更强大的智能家居系统。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注