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

相关推荐
y25086 分钟前
《Object类》
java·开发语言
曙曙学编程7 分钟前
初级数据结构——树
android·java·数据结构
BestandW1shEs13 分钟前
彻底理解消息队列的作用及如何选择
java·kafka·rabbitmq·rocketmq
爱吃烤鸡翅的酸菜鱼15 分钟前
Java算法OJ(8)随机选择算法
java·数据结构·算法·排序算法
码蜂窝编程官方18 分钟前
【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的虎鲸旅游攻略网的设计与实现
java·vue.js·spring boot·后端·spring·旅游
lwprain28 分钟前
常用docker应用部署,wordpress、mysql、tomcat、nginx、redis
mysql·docker·tomcat
Viktor_Ye35 分钟前
高效集成易快报与金蝶应付单的方案
java·前端·数据库
hummhumm37 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
哎呦喂-ll37 分钟前
Linux进阶:环境变量
linux