用 Shortcuts 智能开门:生活自动化的芬兰实践
在芬兰,我用 iOS Shortcuts 结合蓝牙和地理围栏,实现了自动拨号开地库门的小项目。
搬进新公寓后,我碰到一个挺烦的小问题:地库门不是刷卡开,也不是识别车牌,而是要打电话。车停好,掏手机,拨号,等系统确认,门再开。每次回家都像在给地库门打客服电话。
我不喜欢这种流程。作为一个工程师,看到能自动化的地方被手工动作卡住,脑子里就会自动开始想办法。

先试 Shortcuts
最先想到的是 iPhone 的 Shortcuts。它能做地理围栏,理论上只要手机进入某个范围,就能自动拨电话开门。
问题也很快出来了。地理围栏不够准,我把范围画大一点,又会在走路路过时误触发。这个方案看起来很省事,实际很容易把电话打给不该打的时间点。
我又想到车载蓝牙。人一上车,手机就会连上车机蓝牙;人一下车,连接就断掉。如果能把这个状态记下来,就能把“只是路过”和“真的开车回来”区分开。
但 iPhone 不让你直接读当前连着哪些蓝牙设备,这条路也走不通。
用文件记状态
最后我换了个很笨但有效的办法:不用直接判断蓝牙状态,而是自己写一个“状态文件”。
- 手机连上车载蓝牙时,写入“上车”状态
- 手机断开车载蓝牙时,写入“下车”状态
这样地理围栏触发时,只要再读一次这个状态文件,就能判断到底要不要拨号。人走路路过地库,状态是“下车”,不会误打电话;真开车回来,状态是“上车”,系统才会继续往下走。

具体怎么做
实现上并不复杂,核心就是四个自动化。
1. 上车时写入状态
手机连接到车辆蓝牙后,生成一个 PDF,内容其实就是一个时间戳。然后把它保存成 onthecar.pdf,并且覆盖旧文件。

2. 下车时清空状态
手机断开蓝牙时,再生成一个只包含 0 的 PDF,覆盖掉刚才那个文件。这样文件还在,但内容已经变成“没在车上”。

3. 到达地库附近时触发
再单独建一个到达位置的自动化,范围设在地库附近,触发后去运行真正的开门 Shortcut。

4. 先判断,再拨号
真正的开门 Shortcut 会先读取 onthecar.pdf,数一数里面有多少字符。
- 字符数大于 8,说明里面还是时间戳,车上状态成立,继续拨号
- 字符数很少,说明已经被清成
0,直接退出
这个做法看起来绕,但它解决了最关键的问题:不要把“经过地库”误当成“开车回家”。
最后效果
现在车开到地库附近,手机会自己判断状态,再决定要不要拨电话。不是特别优雅,但确实比每次手动操作省事很多。
Your browser does not support the video tag.
来看看最终的效果
我后来越来越确定一件事:生活自动化最有意思的地方,不是把流程做得花哨,而是把日常里那些重复、烦人的一步,悄悄拿掉。这个地库门问题不大,但足够让我把 Shortcuts 认真玩了一遍。
你的留言可能会让更多人从中受益,欢迎分享你的看法!