2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iPhoneのショートカットアプリからAPIを使って複数のSESAMEを同時に解錠する

Posted at

先日、CANDY HOUSEのSESAME miniを購入しました。我が家のドアには鍵が2つ付いてるので、SESAMEも2つです。解錠するときiPhoneアプリのUnlock All機能を使っていたのですが、

  1. iPhoneのロック解除
  2. アプリの起動
  3. サイドバーの表示
  4. Unlock All

とちょっとステップが多いので、iPhoneのショートカットアプリを使うことにしました。ショートカットをウィジェットに登録しておけばiPhoneのロック解除も不要になるので、

  1. ウィジェットを表示
  2. ショートカット

でいけます。

実はショートカットを使ったSESAMEの解錠はSESAMEの公式ブログでも紹介されている1のですが、残念ながらiPhone 8では利用できませんでした。
そこで、この記事ではショートカットからSesame APIを使って解錠する方法を紹介します。

やり方

SESAMEとWi-Fiアクセスポイントの設定は完了しているものとします。

SESAMEのクラウド連携を有効にする

  1. iPhoneのSESAMEアプリを開く
  2. Status -> Change Settings -> INTEGRATIONのCloudをオンにする(SESAMEの数だけ)

image.png
image.png
image.png

Sesame API Keyを発行する

  1. CANDY HOUSE Dashboardにログインする
  2. API Settings -> SEND CODEをタップしてVerification Codeをメールで送ってもらう
  3. 送られてきた数字6桁をテキストボックスに入力してCONFIRMをタップする
  4. ADDをタップしてAPI Keyを発行する

Note: API Keyは発行時にしか表示されないので、画面を閉じる前にコピーしておきましょう。

image.png
image.png
image.png

ショートカットを作成する

これですね。

image.png

こういうやつを作ります。

image.png

処理を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つのアクションを作ります。

  1. List: SESAMEのデバイスIDのリスト
  2. Repeat with Each: リストの要素に対する繰り返し処理
  3. Get Contents of URL: Sesame APIによる解錠

Sesame APIの仕様についてはこちらを参照してください。

SESAMEのデバイスIDのリスト

  1. Scripting -> Lists -> Listを選ぶ
  2. SESAMEのデバイスIDを入力する(SESAMEの数だけ)

SESAMEのデバイスIDの確認方法はこちらのページ下部を参照してください。

image.png
image.png

リストの要素に対する繰り返し処理

  1. Scripting -> Control Flow -> Repeat with Eachを選ぶ

image.png
image.png

Sesame APIによる解錠

  1. Web -> Web Requests -> Get Contents of URLを選ぶ
  2. Get Contents of URLをドラッグ&ドロップでRepeat with Eachの中に入れる
  3. Repeat Itemの前にhttps://api.candyhouse.co/public/sesame/を追加する(スクリーンショット参照)
  4. Show MoreをタップしてMethod、Headers、Request Bodyを次のとおり変更する
    • Method: POST
    • Headers:
      • Authorization: (発行したAPI Key)
      • Content-Type: application/json
    • Request Body:
      • command: unlock

ここまでできたら右下の:arrow_forward:を押してテストしてみましょう。

image.png
image.png
image.png
image.png

ショートカットの保存

最後に名前を付けて保存します。名前はもちろん例のやつ。せっかくなのでSESAMEっぽいアイコンにしてみます。

image.png

終わり

このとおり、ウィジェットから解錠できるようになりました。それでは皆様、良いセサミライフを。

image.png

  1. https://ameblo.jp/candyhouse-inc/entry-12577947906.html

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?