Huanglei

I’m PADI No.1409AZ6094

0%

HomeKit

HomeKit是苹果2014年发布的智能家居平台,作为系统级智能设备操控,响应和操控便利性要优于应用级。在家里的软路由部署Docker版的HomeAssistant实现HomeKit需要避很多坑,这里浅谈一下几个重点。

硬件

首先我的软路由的硬件是2G内存版的R66S,TF卡存储,刷写固件比较方便。

日常用MacOS版的SD Clone对TF卡刷固件和备份固件。

固件

软路由的固件我选用flippy大佬20221018第8版启用6.0内核的固件,在店犀牛公布的百度云里有,名称是:openwrt_rk3568_r66s_R22.10.10_k6.0.2-flippy-78+.7z 分享链接: https://pan.baidu.com/s/1L3URkSfazKceYG2JarDE2w?pwd=6666

Docker

这个OpenWRT固件的Docker是20.10.17版,且不用调整分区扩容,上手就能用。
镜像加速器可以用:《Docker Desktop on Mac》里提到的配置,拉取homeassistant/home-assistant镜像大约10分钟可以搞定,然后新建容器的时候网络选HOSTS。

1
docker run -d --name="HuangleiHASS" --network=host -v /opt/docker/hassio:/config -e TZ="Asia/Shanghai" homeassistant/home-assistant

去Docker Man里配置允许的端口:

把8123、21063、21064、21065、51827都打开。

然后去Docker对应容器的控制台里修改configuration.yaml文件

1
2
cd /opt/docker/hassio
vi configuration.yaml

configuration.yaml里添加下面的内容:

1
2
3
4
5
6
7
8
9
10
11
http:
server_port: 8123
use_x_forwarded_for: True
trusted_proxies:
- 127.0.0.1
- ::1/128
ip_ban_enabled: False
login_attempts_threshold: 5

homekit:
ip_address: 127.0.0.1

ESC键,输入:wq 保存和退出。

Homeassistant

启动容器里的Homeassistant,浏览器打开软路由ip的8123端口,因为用的是TF卡,读写都很慢,需要等,大约10分钟之后就会让你创建管理员身份并登陆。
然后像《Docker Desktop on Mac》里提到的那样下载解压Xiaomi MIoT,按说明把custom_components目录复制到Doker的/opt/docker/hassio目录下(这里我是直接sftp到软路由来实现的),随后再登陆Homeassistant里添加集成,搜索安装Xiaomi MIoT和搜索安装HomeKit。

Xiaomi MIoT

登陆配置Xiaomi MIoT里的小米米家账号可以自动同步“设备”,检查完整性,不完整可以多配置几次。

Homeassistant仪表盘

如果你想通过iPAD的Safari打开Homeassistant的仪表盘来日常控制设备也是可以的,也可以适当美化一下Homeassistant的仪表盘,自己按习惯的操作思路配置仪表盘,我既配置了仪表盘也启用了HomeKit。

HomeKit

用iOS或iPadOS里的家庭APP扫Homeassistant通知栏里的HASS Bridge:21064对应的二维码添加设备到HomeKit里,可以按设备属性新建房间来分类管理。也可以在家庭APP里添加自动化来创建设备的条件触发,怎么让自己觉得方便就怎么来。

也可以把iPad或者HomePod设置成中枢,手机脱离软路由网络环境也能继续控制家里的设备。

可以按自己的操作习惯把常用配件放在iOS或者iPadOS的电池下拉的“控制中心”里,实现系统级的管理设备。下拉点击,就像你平时调整音量和屏幕亮度那样方便。

-------------本文结束 感谢阅读-------------
  • 本文作者: HuangLei
  • 本文链接: https://maxlay.github.io/2022/11/27/HomeKit/
  • 版权声明: 本博客所有原创文章(除文末特别标注转载或特殊声明外),均采用知识共享署名。非商业性使用 ,相同方式共享 4.0 国际许可协议 BY-NC-SA 进行许可。
    您可以:自由地分享(复制、分发、传播)和演绎(修改、改编、创作衍生作品)。
    须遵守署名(BY):必须给出适当的信用,提供指向本许可协议的链接,并指出是否进行了修改。转载请注明出处及原文链接。禁止整站搬运、禁止去除作者信息、禁止用于自媒体洗稿盈利。
    非商业性使用(NC):您不得将本作品用于商业目的。
    相同方式共享(SA):如果您再混合、转换或者基于本作品进行创作,您必须基于与原作品相同的许可协议分发您的贡献。

    商业授权:如需商业用途(包括但不限于出版、付费课程、企业内训等),请事先联系作者获取书面授权。任何形式的商用、二次分发、改编后商用均需授权。本网站所有技术分享严格遵守《中华人民共和国网络安全法》《数据安全法》《个人信息保护法》及相关法律法规。
    用途限制:站内涉及渗透测试、漏洞分析、逆向工程、脚本工具等技术内容,仅限用于合法的教育、学术研究及获得明确授权的安全测试场景。
    禁止行为:任何个人或组织不得利用本站提供的技术信息、代码或工具从事危害网络安全、侵入他人系统、干扰网络正常功能及防护措施等非法活动。
    责任自负:使用者应严格遵守法律法规,因滥用本站内容而导致的任何法律纠纷、经济损失或刑事责任,均由使用者自行承担,与本站及作者无关。作者不对任何因使用本站内容而产生的后果负责。

    技术具有时效性,本站部分内容可能随时间推移而过时或不准确。作者尽力保证内容的正确性,但不对其准确性、完整性、适用性或及时性做任何明示或暗示的保证。读者在参考本站内容进行实际操作(如修改配置、运行代码)前,请务必在测试环境中验证,并做好数据备份。尊重知识产权,保护网络安全,本站不提供任何系统、网站、设备的渗透目标,所有技术仅用于学习与防护。若您认为本站内容侵犯了您的合法权益,或发现本站存在违法违规内容,请通过左侧电子邮箱联系作者,作者将尽快核实并处理。

    本声明自2012年5月5日起生效