【linux】docker下homeassistant和nodered安装及配置

1、homeassistant安装

从 Docker Hub 上拉取 Home Assistant 的镜像文件

docker pull homeassistant/home-assistant

是运行 Home Assistant 容器

docker run -id --name="homeassistant" --privileged --restart always -p 8123:8123 -e TZ=Aisa/Shanghai --net=host -v /volume2/docker/hass:/config homeassistant/home-assistant

其中,-id 表示以交互方式运行容器并在后台运行;

--name 指定容器的名称;

--privileged 允许容器访问宿主机的所有设备;

--restart always 表示容器在崩溃或重启后始终自动重启;

-p 8123:8123 表示将容器内的 8123 端口映射到宿主机的 8123 端口;

-e TZ=Aisa/Shanghai 指定时区为亚洲/上海;

--net=host 表示使用主机网络模式;

-v /volume2/docker/hass:/config 将宿主机上的 /volume2/docker/hass 目录挂载到容器内的 /config 目录,用于存储配置文件和数据。

2、nodered安装

从 Docker Hub 上拉取 Node-RED 的镜像文件

docker pull nodered/node-red

在 Docker 中运行 Node-RED 容器

docker run -it -e TZ="Asia/Shanghai" -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

  • docker run 是用于创建并运行容器的命令。
  • -it 参数表示要以交互模式运行容器,并将终端连接到容器的标准输入和输出。
  • -e TZ="Asia/Shanghai" 参数用于设置容器的时区。在这个例子中,时区被设置为 "Asia/Shanghai"。
  • -p 1880:1880 参数用于将主机的 1880 端口映射到容器的 1880 端口。这样,当你访问主机的 1880 端口时,实际上是连接到容器中运行的 Node-RED 服务器。
  • -v node_red_data:/data 参数用于将主机上的 node_red_data 卷挂载到容器内的 /data 目录。这样可以持久化存储容器中的数据。如果该卷不存在,Docker 会自动创建它。
  • --name mynodered 参数用于给容器指定一个名称,即 mynodered
  • nodered/node-red 是要运行的容器镜像的名称。

如果页面迟迟没有弹出,请重启服务器,当你关闭 Node-RED 服务器后,你可以再次启动它而不需要删除先前运行的容器。只需使用以下命令重新启动容器即可并运行下面命令

docker start mynodered

3、homeassistant与nodered关联

要将 Node-RED 与 Home Assistant 集成

3.1、首先获取homeassistant的长久秘钥:

HASS中的我的-创建长期令牌

3.2、homeassistant添加HACS商店

续写

HomeAssistant添加HACS商店_homeassistant安装hacs-CSDN博客

(一)NanoPi m4v2 安装 Home Assistant(含 supervisor)_home assistant supervisor-CSDN博客

3.3、对nodered的容器进行npm换源

首先,你可以通过以下命令列出当前正在运行的容器及其相关信息:

docker ps

进入nodered容器

docker exec -it mynodered /bin/bash

切换npm数据源

npm config set registry https://registry.npmmirror.com

然后在 Node-RED 中添加 Home Assistant :

  1. 打开 Node-RED 编辑器。

  2. 在右上角的菜单中,选择 "Manage palette"。

  3. 在 "Palette" 标签下,点击 "Install"。

  4. 在搜索栏中输入 "node-red-contrib-home-assistant-websocket"。

  5. 在结果列表中,找到 "node-red-contrib-home-assistant-websocket" 插件,并点击 "Install" 进行安装。

  6. 安装完成后,关闭 "Manage palette" 窗口。

  7. 在编辑器界面中,你现在应该能看到 Home Assistant 相关的节点选项。

  8. 将 Home Assistant 节点拖动到编辑区域。

  9. 双击 Home Assistant 节点以配置它。

  10. 在配置窗口中,输入 Home Assistant 实例的 URL、API 密钥和其他必要的参数。确保提供正确的信息以连接到你的 Home Assistant 实例。

  11. 点击 "Done" 完成配置。

  12. 现在,你可以使用 Home Assistant 节点来与你的 Home Assistant 实例进行通信和控制。

通过 Home Assistant 节点,你可以访问 Home Assistant 中的设备、实体和服务,并在 Node-RED 中进行自动化和处理逻辑。你可以使用 Home Assistant 节点发送命令、获取状态和订阅事件等操作。

相关推荐
czlczl2002092510 小时前
MySQL 基于 GTID 的 Binlog 主从同步机制
java·jvm·mysql
小小的木头人10 小时前
Docker Compose 镜像检测脚本(支持自动扫描 + 手动输入 YAML)
运维·docker·容器
Sylvia33.10 小时前
足球数据API接入实战:从认证到实时比分推送的完整指南
java·开发语言·前端·c++·python
Chloeis Syntax10 小时前
JavaEE初阶学习日记(1)---线程和进程
java·开发语言·学习·线程·javaee
夏日听雨眠10 小时前
Linux(printf函数输出问题,exit ,主函数参数,fork函数,文件系统调用)
linux·运维·服务器
阿火~10 小时前
linux部署nacos【无脑简单版】【支持ARM版本和X86版本】
linux·运维·服务器
YOU OU10 小时前
SpringBoot
java·spring boot·spring
北冥有鱼10 小时前
解决DTO泛滥的问题
java·java ee
故事还在继续吗10 小时前
Linux 系统调用与接口层
linux·运维·系统调用
国强_dev10 小时前
如何提升canal吞吐量
java·大数据·python