SwitchBot単体でiOSのショートカットが使えないので、HomeBridgeを導入してHomeアプリから操作することにしました。
HomeKitに対応してないIoT機器をHomeKitに対応させるやつです。iOSのHomeアプリからはブリッジとして認識されます。
サーバーとして動作するのでラズパイとかで組むのが一般的っぽいんですが、ウチはMac mini(2018)を昼間だけスケジュール起動して半サーバー運用しているのでそこで動作させます。macOSへのHomebridgeの導入はhomebrewとかで簡単にできます。
SwitchBotプラグインは↓を使いました。
Homebridgeが動作しているマシンからBluetoothでSwitchBotに接続することになりますが、SwitchBotを使っているコーヒーメーカーは1階の台所、Mac miniは2階の仕事部屋に置いてあります。位置的にはちょうどSwitchBotの真上くらいにMac miniがあって、直線距離は4mくらいです。床があるので難しいかと思いましたが、ラックに置いてあったMac miniを床に直置きすることでBluetoothで接続できました。
iPhoneからSwitchBotへ直接Bluetooth接続すると接続まで少し待たされますが、Homebridge経由だとすぐに動作します。ショートカットも作成できるようになり、快適になりました。
15分後にコーヒーメーカーの保温を切る、みたいなことをやりたいんですが、iOSのショートカットの「待機」では長い時間待機させるとショートカットが終了してしまって動作しないっぽいです。iOSだけでは実現できなさそうなので、サーバ側で何かスクリプトを書いてそれを叩くようにしたらよいのかな?と考えています。