Home Assistant 教程:用 Node-RED 自动获取并显示今日油价


所见即所得
原创
发布时间: 2026-04-28 10:10:50 | 阅读数 0收藏数 0评论数 0
封面
本文介绍如何使用HomeAssistant集成Node-RED,并结合低代码自动化工具 Node-RED 实现可视化操作。Node-RED 通过拖拽节点即可连接设备、API 与服务,与 Home Assistant 深度集成。
1

HA下载Node-RED依赖

在HomeAssistant的主页找到HACS选项,在顶部的搜索栏搜索“Node-RED”,点击右边的三个点,选中load下载。下载完成后,设置会出现一个警告,点击警告并提交,提交后会自动重启。

提示HACS需要安装,请查看这篇文章vivo 用 vivohomebridge 控制米家与 HA
2

集成Node-RED

在设置中找到设备与服务并进入,选择又下角的添加集成按钮。会弹出搜索框,输入“Node-RED”选中添加集成。

3

安装Node-red

# 拉取node-red镜像
docker pull nodered/node-red
注意:安装环境为docker,如何没有docker环境可以查看网站其他的文章来进行安装。
4

运行Node-red

// 运行Node-red
docker run -d \
-p 1880:1880 \
-v /mnt/d/DockerDesktop/nodered/data:/data \
-e TZ=Asia/Shanghai \
--restart=unless-stopped \
--name nodered \
nodered/node-red

Docker代码说明:

  1. 如果报错,可以把"\和回车"删了,不要换行,留空格就行
  2. -d 让docker后台运行,必须输入
  3. -p:端口号,必须输入,左边的1880可以根据你自己的需求改,建议保持
  4. -v 挂载文件夹,:左边的是你想要管理的路径,根据你平时安装的习惯改一个文件夹出来:右边的是Docker容器内部的地址,不要动;这里主要挂载data文件,避免万一重装,内容都没有了
  5. -e TZ=Asia/Shanghai,+8小时时区设置,建议输入,以免后续时间异常
  6. --restart=unless-stopped,建议输入,确保自动重启
  7. name:容器名称,必须输入
  8. 最后一行:镜像名称,必须输入

运行之后可以在地址栏输入“IP地址:1880”访问Node-red可视化页面。

5

创建秘钥

点击左下角的头像,进入 安全设置,然后点击 创建令牌。输入一个容易识别的令牌名称,点击 创建

创建成功后,请务必 妥善保存该令牌,后续配置中会用到(注意:关闭页面后将无法再次查看)。

6

安装node-red-contrib-home-assist

在右上角的菜单下找到设置选项,在设置内找到控制面板,选择安装选项,搜索node-red-contrib-home-assistant-websocket并安装。

7

获取今日汽油的API

  1. 访问「聚合数据」API 数据服务平台。
  2. 在网站顶部导航栏的搜索框中,输入 “今日国内汽油查询” 并执行搜索。
  3. 在搜索结果中,点击进入对应的 油价查询接口详情页,该页面中显示的 接口地址 即为后续请求所用的 URL。
  4. 点击网站右上角 “个人中心”,依次进入 数据中心 → 我的 API
  5. 找到 “油价查询” 接口,复制其对应的 AppKey,用于后续 API 请求的身份验证。
8

创建流程

  1. 添加 Inject 节点
  2. 从左侧节点栏拖拽 Inject 节点到编辑器中。
  3. 双击该节点,在设置面板中将“重复”选项设为 周期性执行,间隔设为 60 分钟,然后点击“完成”。
  4. 添加 HTTP In 节点
  5. 在左侧搜索栏中输入 http in,将该节点拖入编辑器。
  6. 双击打开设置,在 URL 字段中填入用于接收聚合数据的地址,并配置相应的访问密钥(key)。
  7. 添加 JSON 节点
  8. 搜索并拖入 JSON 节点。
  9. 双击编辑,将操作设置为 “始终转换为 JavaScript 对象”,然后点击“完成”。
  10. 添加 Debug 节点
  11. 搜索 debug 节点并拖入流程中,用于查看处理后的数据。
  12. 部署与运行
  13. 完成所有节点连接后,点击右上角的 部署(Deploy) 按钮。
  14. 部署成功后,点击 Inject 节点时间戳前的按钮以手动触发流程。
  15. 右侧面板中的 “调试结果” 将显示返回的数据,供验证和调试使用。
9

解析结果

执行的结果包括了所有的省份,我使用的是“北京”。双击debug节点,并找到对应的结果复制路径信息,把复制的路径信息写到输出部分。重新部署执行,输出结果将仅保留与“北京”相关的数据。

10

创建sensor节点

  1. JSON 节点右侧,点击并拖动其输出按钮,创建一个新的 Sensor 节点
  2. 创建完成后,双击该 Sensor 节点 进入设置界面。
  3. 点击 “添加新的 Entity Config”,开始配置一个新的 Server:
  4. URL:点击输入框右侧的放大镜图标,在弹出的搜索窗口中选择已配置的 Home Assistant 实例地址。
  5. 令牌(Token):填写此前在 Home Assistant 中创建的长期访问令牌。
  6. 接着,点击 “Device” 旁的 “+”号,创建新设备:
  7. 名称(Name):输入 油价
  8. 完成 Device 设置后,继续配置 Entity Config:
  9. Friendly Name:填写 城市
  10. 返回到 Sensor 节点的主编辑界面:
  11. Name 字段填写:城市
  12. State 字段填写:从右侧数据面板中选择或手动输入对应 city 字段的路径(例如 msg.payload.city 或具体 JSON 路径)。
  13. 配置完成后,点击 “部署” 按钮使更改生效。
11

92、95、98、0号汽油的节点

在json部分创建新的sensor节点,双击编辑节点,每一个节点都需要创建一个“EntityConfig”,需要设置的选项有Server、Device,剩下的98、0号汽油都是一样的操作。创建完成之后点击右上角的部署。

12

设备信息

回到HomeAssistant,点击设置->设备与服务。可以看到Node-red下有一个设备,点击进入可以查看设备。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报