离线更新 Home Assistant

困扰我很久的问题之一。

在中国大陆一个非常令人困扰的问题就是,不少程序检查更新的时候,基本都会访问海外的网站,但海外的网站从中国大陆访问又很慢。虽然不少都可以通过设置 http_proxyhttps_proxy 的方法来解决,但 Home Assistant 是一个例外。它后台没有任何设置 proxy 的入口,并且本身命令行也是不支持 proxy 设置的。就算我安装了 Terminal 之后,在里面 export http_proxy & https_proxy 然后运行 ha os update 也是不走代理的。那该怎么办?

离线升级 HAOS

在这里,我在局域网下(或者公网)开了一个临时 HTTP 服务,然后将下载好的 raucb 文件放上去了。你可能会问,raucb 文件在哪里下载?在这里。虽然我是在 Proxmox 上的 amd64 QEMU 环境内安装的,但因为是一次升级,所以我可以直接选择 haos_ova-x.x.raucb,其中 x.x 为最新的版本号。

之后,我们去 Home Assistant 的命令行(不是 Terminal 插件),输入 login 进入真正的 root shell。接着,我们使用 curl 来从局域网内下载需要用到的 raucb 文件:

cd /mnt/data

curl http://example.com/haos_ova-16.2.raucb

rauc install haos_ova-16.2.raucb

systemctl reboot

大功告成!升级完之后,记得去 /mnt/data 删除你的 raucb 文件。

注意,在升级之前一定要通过 rauc status 确保你当前使用的是 [kernel.0],否则可能会报 Copying image to boot.0 failed. 这种错误,如果遇到这种错误,通常执行重启即可。

参考资料


如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

如果上面没有加载出任何东西,可以点击这里