【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 节点发送命令、获取状态和订阅事件等操作。

相关推荐
阿伟*rui5 分钟前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel
Lary_Rock1 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
XiaoLeisj2 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
paopaokaka_luck2 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
dayouziei2 小时前
java的类加载机制的学习
java·学习
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
Peter_chq4 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml44 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~4 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong1616884 小时前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端