由于我的 docker 是通过1panel 一键安装的,然后自然 HomeAssistant 也是 1panel 应用商店一键安装,1panel默认的路径是 /opt/1panel/apps/home-assistant/home-assistant/data
。
小米官方仓库中的 README.md 写的是:
cd config
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config
我以为 config
文件夹是指自己在 /opt/1panel/apps/home-assistant/home-assistant/data
文件夹下新建一个 config
,安装完怎么都无法显示 xiaomi_home
,后来看了一篇文章才知道 data
就是文章中所说的 config
文件夹,也就是说如果是通过 1panel 安装的 HomeAssistant 的话,只需要 cd
到/opt/1panel/apps/home-assistant/home-assistant/data
然后执行安装就可以,1panel 默认的应用商店安装真的很多坑,很多容器安装起来都有这样那样的问题,非常麻烦。
解决了这个问题之后就可以成功安装 HA-米家集成。
安装完成之后按照 Github 中的教程按步骤配置登录就可以了,目前米家中的大部分产品都可以直接导入,除了一些蓝牙等连接的设备还不可以。
本来我以为这一步骤是最简单的一步了,结果按照之前的操作在 cloudflare zero trust 面板设置好域名绑定之后访问居然报错,然后又折腾了好久,最后在 HA 的社区论坛找到了对应的讨论帖,成功解决。
配置好之后访问报错:400: Bad Request
configuration.yaml
文件中添加如下代码:http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.31.137/32
其中的 trusted_proxies
字段下部分要改为自己部署设备的 ip。
Recovery mode(恢复模式)
https://community.home-assistant.io/t/cloudflare-400-bad-request-error/326047/24
有时候当修改完 configuration.yaml
之后重启 HA 你会发现 HA 会进入 recovery mode。
原因在于配置文件格式有问题或者其他原因导致无法加载配置文件,系统进入恢复模式。
解决方法:仔细检查 configuration.yaml
格式,需要注意的一点是 trusted_proxies
只能接受 IP 地址或 CIDR 格式的子网掩码,而不能直接使用域名。当 Home Assistant 尝试解析这些域名时,会抛出错误,导致 http
组件启动失败。
连带问题:依赖 http
的组件无法加载
http
是许多核心组件的基础,包括 frontend
(前端界面)、websocket_api
(WebSocket 通信)、zeroconf
(零配置网络发现)等。http
组件未加载,所有依赖它的功能都会失效,从而导致大量错误。如果修改完 configuration.yaml
之后HA 无法启动或者启动后进入恢复模式,可以查看 HA 的日志,一般可以通过 HA 的日志错误来一步步排查是什么问题。
https://github.com/mrtian2016/hass-panel
配置公网访问后 HA 面板中提示:the operation is insecure
Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
这两个问题或者说这种问题的原因都是类似的,就是首次部署成功之后,初始化填的 http
开头的本地地址,后续 HA 绑定域名之后在 HA 中访问 Hasspanel 便会变成 https
跳向 http
,不安全行为会被浏览器拦截。
重新初始化 Hasspanel,填Url 的时候填写 https
地址。
HA 面板 - 设置 - 设备与服务 - 添加集成 - 搜索“Apple”,然后选择 “HomeKit Bridge”,一路下一步之后,HA 会有一条消息,点开消息用 iPhone 扫描消息中的二维码配对添加就可以了,没什么难度。
控制中心也是可以添加滴!
不过还是那个问题,目前米家集成还没有支持的设备也无法添加到 Apple 家庭中去。同时,有些设备比如空气净化器其实是有温湿度传感器的,在 HA 面板中也是可以检测到和添加到面板的,但是在 Apple 家庭中无法使用,就只有简单的空气净化器的开关功能,算是遗憾吧。
到这里 ,HA 的折腾基本上就完成了,
晚上研究东西真的是灵感爆炸,解决问题的能力 upup~,白天总感觉静不下来,而且很没有效率。
解决完毕, alexblue
登出!