之前分享过安卓手机如何安装HomeAssistant,有评论说桥接HomeKit时无法成功添加设备,折腾一番之后还是没能解决。结论就是安卓手机+docker+HA无法关联HomeKit,如果你的设备不是安卓手机可以继续看这篇文章
此方案适用性说明
- 适合:电脑端PC、树莓派、香橙派等开发板
- 不适合:前面用安卓手机安装方案的兄弟萌,在折腾一段时间后,安卓手机关联HomeKit宣告失败。如果你有成功案例,请火速前往评论区
装逼留言
问题原因
受HomeKit通信协议影响,必须要求iPhone与docker网络处于同一网段下才能成功接入HomeKit。
比如iPhone的ip地址是192.168.0.66,
那么docker的网络eth0或者主要网络的ip也必须是192.168.0.xx,才能正常接入HomeKit
受Docker网络影响,运行镜像的时候默认bridge网络,须使用host网络才能支持Homekit。
解决方案: Host模式运行HA(HomeAssistant)
-
卸载HA(如果你之前安装过)
- 若当前HA正在运行,请执行
docker stop hass关闭HA docker rm hass卸载HA
- 若当前HA正在运行,请执行
⚠️ 命令中的"hass" 代表你之前安装HA的名字,如果不确定请看我上面贴的安装教程进行比对
⚠️ 此操作会保留账号和设备数据,可放心食用,也可以提前备份
- 使用Host网络模式安装HA
docker run -d --name="hass" --network=host -v /root/hass:/config -e TZ="Asia/Shanghai" homeassistant/home-assistant
3.最后比较关键的一个步骤
- 前往网页端的HA操作页面
- 前往 "配置" - "通用"
- 滑动页面中间的"Network"区域
- 反选"Auto config",勾选IP地址跟你家路由器相同网段的网络
比如路由器/宿主机ip是192.168.0.x,那你就选择ip是192.168.0.x的网络
- 保存后重启HA
此次分享理论上可以让局域网内的设备关联到HomeKit 若想使用外网穿透请参考下面教程,因为暂时没用到,等后面有机会我再整理出来吧。
之前用过Host模式但是一直无法访问到HA,就是缺了配置文件里面的那段代码,感谢B站网友 @公-瑾 提醒我用下方教程里的配置。