把 MacOS 作为 HomeKit 配件来远程控制

陪她去流浪 桃子 2023年12月08日 编辑 阅读次数:1109

经常在家戴着 Apple Watch 做饭 🍳 的我,少不了音乐的陪伴。 而当电话打进来的时候,湿漉漉的双手可不是那么容易静音系统的音量的。 所以我就写了几句代码,把 MacOS “变成” 一个 HomeKit 配件,并添加到 HomeKit 里面,然后就可以通过 Siri 语音控制它了。 其实,更早有这个想法还是我独自一人坐在床头看电影的时候(我记得是在凌晨时分看奥本海默时),一声爆炸💥声突然把我吓了一跳。 其实我还好,我怕隔壁说我吵到他了。要跑到头的另外一头去控制,太麻烦了(其实是懒得动🤪)。所以,我又来“发明”东西了。

安装

仓库在这里:https://github.com/movsb/macos-as-homekit-accessory

要么自己编译,要么直接去 Release 页面下载预编译好的二进制文件。 一共两个二进制,一个是 HomeKit Accessory 主程序,Go 写的,叫 maha。 一个是用来监控系统锁屏状态的,用 Swift 写的,叫 lock。

使用方式

运行 ./maha 即可。会生成 db 目录,用来存放配对信息的。 进程需要长驻(资源占用极少),最好是开机自启动。

  1. 现在打开 iPhone 上的“家庭/Home”,点击“添加配件”(需要在同一个 WiFi 网络下一);
  2. 不用扫码,在“更多选项……”里面,可以看到此时已经列出来了,名字叫“MacOS HomeKit”,类型是桥接设备;
  3. 点击图标手动确认后添加(没给 Apple 交钱),输入配对码:00102003
  4. 一路确认,或者按需要修改名字一下名字即可;

会在家庭里面出现两个设备:一个是开关,一个是灯泡。 开关用来锁屏。灯泡用来静音📵和调整系统音量🔊大小。

配件 因为 HomeKit 已经不再支持扬声器,带静音的电视也不再支持。所以这里用灯泡代替了。奇奇怪怪。估计 HomeKit 协议 Apple 自己家也放弃了,转向 Matter 中。 也不完全一定,毕竟 HomeKit Accessory Protocol 并不是公开的,说不定只是改了协议。

为了更好地配合 Siri 语音控制,建议把这个“灯泡”和“开关”取个更有意义的名字🥹。

标签:HomeKit · 智能家居