网上教程多为盒子刷机或x86虚拟机装HAOS的,其实灵活性和资源利用率并不高。顺便介绍了社区商店HACS的安装方法。

最近买东西凑单了个ESP32的开发板,为使其避免吃灰开始折腾智能家居,其中Home Assistant是核心中枢。

HA四种安装方式优缺点比较

Home Assistant Operating System

官方推荐的安装方式,也是多数网上教程介绍的方式,通过刷机或虚拟机装HAOS,其通过Supervisor管理Core和Add-ons。优点是操作简单。刷机的缺点在于HAOS独占了系统,不如linux的常用发行版灵活,扩展性受限于Add-ons,若要用的服务没有Add-on会比较麻烦。虚拟机则不受影响,但资源占用比原生安装要高(虚拟机中再套多个docker)。

最重要的是HA的核心用法依赖蓝牙和WIFI,按需求可能还要扩展Zigbee,RF433等。盒子,x86软路由USB口有限,像RF433这种USB不好找的需用GPIO直接和模块连接。故自带蓝牙和WIFI,有26个GPIO的树莓派4b更合适用来作为HA中枢。

Home Assistant Container

安装其实比HAOS更简单,但由于其仅带有Core,没有Add-ons,所以安装后的配置并不像HAOS那样在其UI中一条龙完成,要麻烦一些。

Add-ons其实是各个第三方提供的适配HAOS的docker镜像,所以相关功能完全可以通过安装第三方服务的镜像来实现,只是配置和对接HA可能需要自己设置,而且没有和HA的UI集成,需要打开各自的Web UI进行控制。优点是扩展性不受Add-ons所限,只要第三方服务有镜像,即便没有适配HA也能用。动手能力强的推荐这种安装方式。

还有两种方式分别是手动安装Home Assistant SupervisedHome Assistant Core,手动安装对系统改动较大,瞎折腾搞崩后可能会影响到主系统,而且卸载麻烦,不推荐。

安装Home Assistant Container

注意修改时区,另外容器数据统一放在/opt/docker/下方便管理和备份。

1
2
3
4
5
6
7
8
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=Asia/Shanghai \
-v /opt/docker/home-assistant:/config \
--network=host \
ghcr.io/home-assistant/home-assistant:stable

浏览器访问http://ip:8123进入管理界面。

如果开启了本地ipv6通过LAN中别的机器可能会无法访问。

编辑配置文件/opt/docker/home-assistant/configuration.yaml,添加如下内容:

1
2
3
4
http:
use_x_forwarded_for: true
trusted_proxies:
- ::1

设置完需要重启,无需重启镜像,Settings - System - 右上角RESTART即可。

安装HACS

没有社区商店的HA跟咸鱼没有区别。

1
2
3
sudo su
cd /opt/docker/home-assistant
wget -O - https://get.hacs.xyz | bash -

如果github访问困难,可将最后一条命令换成安装国区加速版hacs:

1
wget -O - https://ghproxy.com/raw.githubusercontent.com/hasscc/get/main/get | HUB_DOMAIN=ghproxy.com/github.com DOMAIN=hacs REPO_PATH=hacs-china/integration ARCHIVE_TAG=china bash -

浏览器Ctrl+F5强制刷新,Settings - Integration添加HACS。

安装社区集成:先去HACS添加repo,然后再去Settings添加相应集成。

2022-10-14_15-14

debug

出了问题查看/opt/docker/home-assistant/home-assistant.log

参考资料

Compare Installation Methods

Install Home Assistant Container