先日、CANDY HOUSEのSESAME miniを購入しました。我が家のドアには鍵が2つ付いてるので、SESAMEも2つです。解錠するときiPhoneアプリのUnlock All機能を使っていたのですが、
- iPhoneのロック解除
- アプリの起動
- サイドバーの表示
- Unlock All
とちょっとステップが多いので、iPhoneのショートカットアプリを使うことにしました。ショートカットをウィジェットに登録しておけばiPhoneのロック解除も不要になるので、
- ウィジェットを表示
- ショートカット
でいけます。
実はショートカットを使ったSESAMEの解錠はSESAMEの公式ブログでも紹介されている1のですが、残念ながらiPhone 8では利用できませんでした。
そこで、この記事ではショートカットからSesame APIを使って解錠する方法を紹介します。
やり方
SESAMEとWi-Fiアクセスポイントの設定は完了しているものとします。
SESAMEのクラウド連携を有効にする
- iPhoneのSESAMEアプリを開く
- Status -> Change Settings -> INTEGRATIONのCloudをオンにする(SESAMEの数だけ)
Sesame API Keyを発行する
- CANDY HOUSE Dashboardにログインする
- API Settings -> SEND CODEをタップしてVerification Codeをメールで送ってもらう
- 送られてきた数字6桁をテキストボックスに入力してCONFIRMをタップする
- ADDをタップしてAPI Keyを発行する
Note: API Keyは発行時にしか表示されないので、画面を閉じる前にコピーしておきましょう。
ショートカットを作成する
これですね。
こういうやつを作ります。
処理をShellっぽく書くとこんな感じです。(実行して試したわけじゃないのであくまでイメージです)
for i in 00000000-0000-0000-0000-000000000001 \
00000000-0000-0000-0000-000000000002
do
curl -H "Authorization: YOUR_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-X POST -d '{"command":"unlock"}' \
https://api.candyhouse.co/public/sesame/${i}
done
次の3つのアクションを作ります。
- List: SESAMEのデバイスIDのリスト
- Repeat with Each: リストの要素に対する繰り返し処理
- Get Contents of URL: Sesame APIによる解錠
Sesame APIの仕様についてはこちらを参照してください。
SESAMEのデバイスIDのリスト
- Scripting -> Lists -> Listを選ぶ
- SESAMEのデバイスIDを入力する(SESAMEの数だけ)
SESAMEのデバイスIDの確認方法はこちらのページ下部を参照してください。
リストの要素に対する繰り返し処理
- Scripting -> Control Flow -> Repeat with Eachを選ぶ
Sesame APIによる解錠
- Web -> Web Requests -> Get Contents of URLを選ぶ
- Get Contents of URLをドラッグ&ドロップでRepeat with Eachの中に入れる
-
Repeat Item
の前にhttps://api.candyhouse.co/public/sesame/
を追加する(スクリーンショット参照) - Show MoreをタップしてMethod、Headers、Request Bodyを次のとおり変更する
- Method: POST
-
Headers:
- Authorization: (発行したAPI Key)
- Content-Type: application/json
-
Request Body:
- command: unlock
ここまでできたら右下のを押してテストしてみましょう。
ショートカットの保存
最後に名前を付けて保存します。名前はもちろん例のやつ。せっかくなのでSESAMEっぽいアイコンにしてみます。
終わり
このとおり、ウィジェットから解錠できるようになりました。それでは皆様、良いセサミライフを。