一、安装过程#
- Docker 安装 HomeAssistant
- Git 安装 HA - 米家集成
- 配置内网穿透实现公网访问
- 安装 Hass Panel 面板
- 配置 Apple 家庭 HomeKit Bridge
二、踩雷#
由于我的 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
- 解决方法:修改配置文件
- 一般是需要在 HA 的
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
组件未加载,所有依赖它的功能都会失效,从而导致大量错误。
四、安装 Hass panel 面板#
史上最简单的 Home Assistant 控制面板,基于 React 开发 | 一键部署到 HAOS | 有手就能用 | 无需编程经验 | 开箱即用
1. 问题汇总:#
-
配置公网访问后 HA 面板中提示:
the operation is insecure
-
Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
2. 原因:#
这两个问题或者说这种问题的原因都是类似的,就是首次部署成功之后,初始化填的 http
开头的本地地址,后续 HA 绑定域名之后在 HA 中访问 Hasspanel 便会变成 https
跳向 http
,不安全行为会被浏览器拦截。
3. 解决方法:#
重新初始化 Hasspanel,填 Url 的时候填写 https
地址。
五、Apple HomeKit Bridge#
HA 面板 - 设置 - 设备与服务 - 添加集成 - 搜索 “Apple”,然后选择 “HomeKit Bridge”,一路下一步之后,HA 会有一条消息,点开消息用 iPhone 扫描消息中的二维码配对添加就可以了,没什么难度。
控制中心也是可以添加滴!
不过还是那个问题,目前米家集成还没有支持的设备也无法添加到 Apple 家庭中去。同时,有些设备比如空气净化器其实是有温湿度传感器的,在 HA 面板中也是可以检测到和添加到面板的,但是在 Apple 家庭中无法使用,就只有简单的空气净化器的开关功能,算是遗憾吧。
五、总结#
到这里 ,HA 的折腾基本上就完成了,
晚上研究东西真的是灵感爆炸,解决问题的能力 upup~,白天总感觉静不下来,而且很没有效率。
解决完毕, alexblue
登出!