标题看起来套娃,也确实是套娃。
首先硬件是n1盒子,然后该n1盒子运行openwrt固件,然后openwrt内安装了docker,然后通过docker容器安装homeassistant core,然后再通过离线方式给homeassistant core安装hacs。
第一步,下载并将openwrt固件刷入U盘:
先下载flippy大佬的openwrt固件
论坛链接:
https://www.right.com.cn/forum/thread-4076037-1-1.html
我当时的百度网盘链接是:
https://pan.baidu.com/s/1kbvtyxpcmniLKN_ziH-kqQ
提取码:jla9
从论坛里获取最新的百度网盘链接即可
下载S905D_Phicomm_N1文件夹内的最新版本的固件,建议下载+o版本
我当时最新的固件是:
openwrt_s905d_n1_R22.6.16_k5.15.47-flippy-73+o.7z
从7z文件解压成img文件
通过balenaEtcher将固件刷入至U盘
软件下载链接:
https://www.balena.io/etcher/
把U盘插在离hdmi接口比较近的USB接口
然后插入电源线和一条从你的主路由出来的网线
自动运行启动之后,使用笔记本电脑连接热点Phicomm_n1,密码:password
然后把笔记本电脑的DHCP关掉,改成静态IP,IP地址:192.168.1.X(X随便写,例如192.168.1.2),子网掩码:255.255.255.0,网关:192.168.1.1,DNS:192.168.1.1
浏览器访问192.168.1.1,账号root,密码password
网络——接口——LAN——一般配置——基本设置
IP地址:你家主路由里未使用的IP地址即可(例如192.168.0.154)
子网掩码:255.255.255.0
网关:你家主路由的IP地址(例如192.168.0.1)
DNS:你家主路由的IP地址(例如192.168.0.1)
网络——接口——LAN——一般配置——物理设置
桥接接口取消勾选
接口选择以太网适配器: "eth0" (lan)
取消其他接口的勾选
网络——接口——LAN——DHCP 服务器——基本设置
忽略此接口添加勾选
网络——接口——LAN——DHCP 服务器——IPv6设置
路由通告服务:选择已禁用
DHCPv6 服务:选择已禁用
NDP 代理:选择已禁用
点击保存并应用
然后你的笔记本电脑会掉线,然后你把笔记本电脑切换回你的主路由,然后你通过浏览器访问你给你的openwrt设置的IP地址(例如192.168.0.154),账号root,密码password
网络——无线——无线概况
点击移除,直接把Wi-Fi功能删掉,也用不上这个功能
第二步,将OPENWRT写入EMMC:
打开windows的命令提示符(管理员)或者Windosw终端(管理员)
输入ssh root@你的openwrt的IP地址(例如ssh root@192.168.0.154),点击回车
第一次使用需要输入yes,第二次以后不需要输入yes,重刷固件,未更换IP地址的话,需要删除用户下的.ssh文件夹内的known_hosts文件中的对应IP地址的相应行
密码password
进入openwrt的命令界面
输入如下命令并回车
/root/install-to-emmc.sh
键入11后回车
键入1后回车
待运行完毕后,拔下电源,拔出U盘
把U盘插入到电脑上,右键计算机或者此电脑,打开管理——存储——磁盘管理——删除U盘的全部分区,新建简单卷,格式化
重新将U盘插到N1上,给N1插电
第三步,启动OpenClash:
服务——OpenClash
务必自行设置OpenClash
第四步,在Docker内安装homeassistant:
确认重新插上的U盘所在的挂载点
系统——挂载点——已挂载的文件系统
根据各个磁盘分区的容量和名字中的关键字(比如有SD之类的),找到U盘的挂载点(例如/mnt/sda1)
Docker——容器
点击添加
容器名称:homeassistant
Docker镜像:homeassistant/aarch64-homeassistant:latest
总是先拉取镜像添加勾选
重启策略选择Always
网络选择host | host
选择host后暴露端口选项不会出现
绑定挂载输入U盘的挂载点/homeassistant/config:/config(例如/mnt/sda1/homeassistant/config:/config)
把config文件夹挂载在U盘里
高级选项添加勾选
线程数量:0.000
内存:1g
点击提交
等待安装完成
回到Docker——容器
勾选homeassistant容器
点击启动
等几分钟,然后在浏览器里访问你的openwrt的IP地址加上:8123(例如192.168.0.154:8123)
设置用户名和密码
时区选择Asia/Shanghai
根据实际情况选择其他选项
点击下一步
四个选项都不选直接下一步
点击左下角你的用户名
将高级模式启动
点击左下角配置——系统——重新启动
重启下homeassistant
等待一会
然后用浏览器打开你openwrt的IP地址(例如192.168.0.154)
进入Docker——容器
勾选homeassistant容器
点击关闭
第五步,安装HACS和Xiaomi Miot Auto:
前面的内容都是常规操作,进行homeassistant core的安装
下面才是本文章的重头戏,介绍如何安装HACS
登录https://github.com/hacs/integration/releases下载最新版本的hacs.zip,解压成文件夹hacs
安装winscp软件,链接:
https://winscp.net/eng/docs/lang:chs
打开winscp软件,主机名填写你的openwrt的IP地址(例如192.168.0.154),用户名root,密码password
第一次使用的话,会有弹框出现,点击弹框中的确定按钮
然后进到openwrt的文件夹之中,我们看到默认的文件夹是root
从root文件夹返回至根目录,新建文件夹hacs111
将刚才下载的hacs.zip文件解压出的hacs文件夹复制到hacs111文件夹之中(不是hacs文件夹内的文件,而是整个hacs文件夹,也就是说结果是根目录下的hacs111文件夹,里面套着hacs文件夹,然后再里面是hacs文件夹内的各种乱七八糟的文件)
打开windows的命令提示符(管理员)或者Windosw终端(管理员)
输入ssh root@你的openwrt的IP地址(例如ssh root@192.168.0.154),点击回车
第一次使用需要输入yes,第二次以后不需要输入yes,重刷固件,未更换IP地址的话,需要删除用户下的.ssh文件夹内的known_hosts文件中的对应IP地址的相应行
密码password
进入OPENWRT的命令界面
输入如下命令并回车
docker cp /hacs111 homeassistant:/config/custom_components/
然后用浏览器打开你openwrt的IP地址(例如192.168.0.154)
点击Docker——容器
勾选homeassistant容器
点击启动
等几分钟,用浏览器打开你的openwrt的IP地址加:8123(例如192.168.0.154:8123)
进入homeassistant之后,点击配置——设备与服务——添加集成——搜索HACS,就可以看到HACS,并添加集成了
然后把四个选项全部添加勾选,点击提交,然后点击弹出的github链接,复制代码,在弹出的github链接中粘贴相应代码,hacs就安装完了
然后左侧栏中就可以看到HACS了,点击HACS——集成——浏览并下载存储库
搜索xiaomi,点击搜索结果中的Xiaomi Miot Auto选项,点击通过HACS下载此存储库
然后在homeassistant中点击配置——系统——重新启动
重启后,点击配置——设备与服务——添加集成——就可以搜索到Xiaomi Miot Auto并添加集成了
然后我们就可以点击Docker——容器——homeassistant——文件,选择/config/custom_components/这个目录,看到hacs、xiaomi_miot两个插件已经成功安装完毕,躺在该目录内
其实第五步的操作原理就是通过winscp软件将hacs文件夹从你的PC复制到openwrt的根目录下的hacs111文件夹中,再通过docker cp命令把hacs文件夹从hacs111文件夹发送至docker内的homeassistant容器下的/config/custom_components/这个目录下。
于是就可以在homeassisitant内搜到相应的集成了,也就说只要你想,你可以不通过hacs下载Xiaomi Miot Auto,直接从你的电脑上通过互联网下载别人下载好的xiaomi_miot文件夹,然后通过winscp复制,docker cp发送,两步直接把该插件传到homeassistant内。
强调一下,docker cp命令只有在容器关闭状态下才能成功,所以文章前面关容器再打开的步骤,并不是多余的。
参考资料:
https://zhuanlan.zhihu.com/p/519969106
https://blog.csdn.net/wsuyixing/article/details/123513966
原文链接:https://www.bilibili.com/read/cv17334692/