hacs是什么?
hacs全称HomeAssistant Community Store,翻译过来就是HomeAssistant社区商店的意思,可以理解为一个应用商店
可以作为插件功能的增强,补充官方未实现的功能
首先需要进入docker容器(终端形式)
点击菜单,点击Docker->点击容器->复制homeassistant对应的id ->点击homeassistant
点击tab控制台
输入id
点击连接
注意:
这里本文无法进入对应Docker容器的环境
页面一直在加载中,但是并没有结果,无法进入
如果你成功进入或者有解决方法,欢迎留言
通过命令行方式进入终端
点击菜单,服务->终端
输入账户和密码进入openWrt的终端
hacs官方文档
https://hacs.xyz/docs/setup/download/
文档中有描述Docker容器中hacs的安装方法和脚本
在终端输入以下命令
docker exec -it homeassistant bash
可以直接进入homeassistant的docker容器环境
如果不能进入,那么要注意你的docker-compose.yml配置中name参数是否为homeassistant,或者以其他docker方式定义的name是否为homeassistant
安装hacs
在homeassistant容器中执行以下命令
wget -O - https://get.hacs.xyz | bash -
可以看到提示安装成功
并提前在配置前先重启homeassistant
退出homeassistant的容器环境,终端输入
exit;
然后按一下回车,就回到openwrt的终端了
以下内容为通用进入容器环境方法
在docker exec -it homeassistant bash无效或者进入其他容器环境时使用(下面仍然以homeassistant来示例)
进入docker容器有4中方式
-
使用exec(推荐)
-
使用SSH
-
使用docker attach
-
使用nsenter
先获取要进入容器的CONTAINER ID
终端输入命令
docker ps -a
可以看到当前所有Docker容器的信息
找到homeassistant对应的容器,下图红框
CONTAINER ID 为 e817b37c486d (和上面使用Docker面板看到的id是一致的,使用那里复制的ID也行)
进入homeassistant容器
docker exec -it e817b37c486d /bin/bash
记住,把上述命令中e817b37c486d 切换为你自己的ID
可以看到进入到homeassistant的容器中了,使用ls可以看到当前目录
然后执行hacs安装和exit;退出即可
重启docker镜像
因为本文以docker-compose方式启动
所以需要先进入对应项目的文件夹
然后执行重启docker
docker-compose restart
重启成功
访问ip:端口进入homeassistant主页
点击配置,点击添加集成
输入筛选次hacs,点击对应的结果
提交前
勾选知晓并同意内容
点击提交
提示打开github对应的网站
输入授权码
打开github网站并登录
会看到验证码页面,输入验证码
同意授权
发现绿色按钮灰度无法点击
注意这里,有人说是网络问题,换个网络或者清理缓存就好了
但是本文的同意授权的绿色按钮一直是灰绿的,无法点击
于是使用了一点前端小技巧,F12打开控制台,找到绿色按钮的DOM,把对应标签里的disabled属性给去掉
于是就可以点击同意了……
设置成功
看到提示页面
同时也看到原本homeassistant验证码弹框提示变为可填充
选择一个区域并点击完成
可以看到hacs已经集成到homeassistant了
本文总结
安装hacs集成需要
-
使用命令行进入homeassistant的容器环境(终端)
-
使用官方脚本安装hacs
-
安装hacs成功后需要重启homeassistant容器(不会的话重启openWrt软路由也行)
-
在homeassistant还需要再次添加hacs集成,设置配置
-
按操作执行同意github授权
-
解决github授权遇到的无法点击同意的问题(浏览控制台修改DOM属性)
-
完成hacs插件集成
目前还没有使用hacs的场景,只是初步尝试安装hacs并安装成功
另外,耗时2天把pm2无法在openWrt中自启动的问题解决了,方便后续部署一些服务,常驻后台进程
END.
推荐阅读
《OpenWrt软路由(NanoPi For NAS All In One R4S ):Docker安装HomeAssistant》
《OpenWrt软路由(NanoPi For NAS All In One R4S ):安装nodejs,npm,pm2,自启动等》