SwitchBotのスマートロックをiPhoneのショートカットから解錠できるようにする方法の紹介です。
今回解説するのはあくまでもショートカットの追加手順ですので、スマートロックのセットアップは完了させておいてください。
今回の方法では以下のものが必要ですので順番に説明します。
APIのトークン及びシークレット
APIのトークン及びシークレットはSwitchBot の公式アプリより取得できます。
以下は公式ヘルプページより引用した取得方法です。
次のステップでトークン(2つあるうちの上の方)を使用しますので、コード右のアイコンをタップしてコピーしておいてください。
スマートロックのデバイスID
自動で取得
操作対象のスマートロックのデバイスIDを取得するために、ショートカットを使用します。
下記のショートカットを追加してください。
追加が完了したらタップして実行して下さい。
するとすぐに以下画像のように、入力を求められますので、そこへ先ほどコピーしたトークンをペーストして完了をタップしてください。
初回の実行中に何度か「許可しますか?」と聞かれますが全て”許可”をタップしてください。
下記のようなアラートがでたら完了です。
次のステップで使用するデバイスIDがすでにコピーされた状態になっています。
手動による取得(オプション)
何らかのトラブルによって自動で取得できない場合は、以下の手順で手動でもデバイスIDは確認可能です。
1.スマートロックの詳細画面右上の歯車マークをタップ
2.最下部の「デバイス情報」をタップ
3.表示された「BLE MAC」の値からコロン(:)を除外した文字列を記録
例:A1:B2:C3:D4:E5:F6の場合はA1B2C3D4E5F6
この文字列がデバイスIDとなっております。
実解錠に使用するショートカット
実際の解錠に使用するショートカットは別で存在するため、下記URLよりショートカットに追加してください。
初回の設定
追加が完了したら初回のみ必要な設定を行います。
設定が必要な個所は下記の3か所です。
1.先程コピーしたデバイスID
上記画像①のボックスに先ほどコピーしたデバイスIDを入力してください。
2.APIのトークン
SwitchBotの公式アプリに戻り、最初にコピーしたAPIのトークンを再度コピーして上記画像②のボックスに入力してください。
3.APIのシークレット
再度SwitchBotの公式アプリに戻り、今度は下側のAPIシークレット(クライアントシークレット)をコピーして上記画像➂のボックスに入力してください。
完了
以上で必要な準備は全て完了です。
一度ショートカットを実行して正常に使用できるか確認してください。
なお、今回も初回の実行中に何度か「許可しますか?」と聞かれますが、全て”許可”をタップしてください。
正常に動作した場合は以下のような通知がきてロックが解錠されるはずです。
バグ等の報告
バグ等がございましたらiOSのバージョンを添えて、本記事のコメント欄にてお知らせいただけますと幸いです。
また、正常に動作した場合にもコメントで報告いただけますと助かります。
コメント
初めは「失敗しました」と表示されてしまいましたが、確認した所デバイスID自動取得時にツインロックのサブロック側IDをコピーしてしまっていたのが原因でした。
手動で修正し、無事作動するようになりました!
ありがとうございました!
先週新しいロックPROを買った。昨日手順と同じ方法でショートカットを作成した。ロック解除失敗しました。
iOS version: 17.5.1 [iPhone 15 Pro Max]
やっと解決した! 実は今海外で住んでいます。
ショートカットの内容見ました。一つフォーミュラ “「日付間の時間」- 32400” から気ついた。もしかして、現在の時間の関係ある?「単位は“秒“」
ちなみに32400➗60➗60 = 9 で考えると、それと日本のTimezone とあってまる。
そのあと、その『32400「秒」』から自分の所在地のTimezoneに変更したら、解錠成功しました!!
便利に使用しておりましたが、昨日から解錠できなくなりました。皆様同じでしょうか。
普通に変わらず使用できてます。
新しくRock Proに買い替えました。
前回同様同じ方法でショートカットを作成しました。
問題無く解錠作動出来ました。
ありがとうございます。
お世話になります。
少し戸惑いましたが、iOS17.3.1でも作動しました。(15.8.1では、変換エラー「URLをリッチテキストに変換できなかったため、Webページの内容を取得に失敗しました。」となり作動しません)
デバイスIDを手動入力の際に“:”をつけてしまいエラーになっていましたが、無くして解決しました。
便利な情報ありがとうございます。
質問です。
設定の最後の方で、
>>初回の実行中に何度か「許可しますか?」と聞かれますが、全て”許可”をタップしてください。
とありますが、
自分の「デバイスID」、「トークン情報」、「クライアントシークレット」の情報が外部に漏れることはないのでしょうか。
玄関に使用しようと思うので、誰か(第三者など)に開錠されないか心配です。
本ショートカットでは基本的にご自身の端末内で処理は完結し、外部への情報送信は最後のSwitchBot公式APIへのリクエスト送信のみです。
ですので、第三者に機密情報を傍受される機会はありません。
ただし、情報入力後のショートカットを他人に共有した場合は、その情報が共有相手にそのまま伝わってしまうためご注意下さい。
ありがとうございます。
大変助かります。
因みに施錠バージョンショートカットもありますでしょうか?
変数base64に設定の後の、内容を取得の部分でcommand unlock →command lockに変更するとできるようになりますよ
ありがとうございます。設定出来ました!
携帯の電波(4G,5G)では“インターネット接続がオフラインのようです”と表示されます。
wifi環境下でしか解除できできないのでしょうか?
ありがとうございます。
このページの内容でsiriで使えるようになりました!
iPhone 15PRO iOS17.1
ツインロックモード
ミニハブ
環境で使えています。
もし機会があれば施錠もショートカット作成していただければ嬉しいです。
施錠モードswitchbotアプリから登録し、Apple watchで使ってみたのですが
Apple Watchでショートカットを使用する際に毎回『許可しますか?』という確認が表示されるため、同じ方法で実現できれば嬉しいと思って書き込みました。
https://discussionsjapan.apple.com/thread/253709502
一度AppleWatchを再起動
AppleWatchがアプリをアンイストール
再度インストールしたら
確認されなくなりました。
おさがわせしました
ご報告ありがとうございます。
無事に解決できたようで何よりです。
ちなみに、解錠のショートカットは
switchbotアプリ> スマートロックの設定> クラウドサービス> Siri Shortcutsより、追加できます。
接続するHAB IDが違っていた様で、無事に設定出来ました。
お騒がせ致しました。
iOS:17.0.3
https://api.switch-bot.com/v1.1/devices/デバイス/commands
ここで引っ掛かっている様で、失敗になります。
私も同じところで引っかかっています。iPhone15pro ios17.1です。
再度トークンをリセットし取得したらできました!
貴重なフィードバックありがとうございます!
上手くいきました
ありがとうございました。
無事設定できました。
新作iPhoneのアクションボタンに設定して物理ボタン1つで解錠できるようにしたところ、とても捗るし満足度も高いです。
ありがとうございました!
変換エラー「URLをリッチテキストに変換できなかったため、Webページの内容を取得に失敗しました。」と表記され、実行できませんでした。
ios 15.6.0 です
無事に動作しました。ありがとうございます。
こんにちは!これは、ハブがないと出来ないんですかね、、?解除に失敗してしまいます。
インターネット経由で解錠している仕様上、ハブは必須となっております。
鍵を閉めるショートカットも欲しいのですが、作り方などを教えてもらうことはできますか?
switchbotアプリ> スマートロックの設定> クラウドサービス> Siri Shortcuts より、解錠のショートカットは追加できます。
失敗で開きません😞
iOSを英語で、もしくはBeta版を使用している場合に発生する可能性がある不具合を修正しました。
再度ショートカットを追加の上お試しください。
変換エラー「URLをリッチテキストに変換できなかったため、Webページの内容を取得に失敗しました。」と表記され、実行できませんでした。
初めからやり直しても再度同じようなエラーが出る場合は、iOSのバージョンなどの情報を添えてコメントください。
大変助かりました!
リンク先URLを踏んでもショートカットが見つかりません。
Apple側の不具合で稀にそのような現象が発生してしまうようです。
この不具合に遭遇した場合は、後日再度お試し頂けますと幸いです。
なお8/3 23時現在では正常に入手できております。
感謝です!
😆
先日まで問題なく使用出来ていたのですが、本日急に使用出来なくなりました。
もう一度同じ手順で設定し直したのですがやはり「失敗」になります。
何か原因があるのでしょうか?
すみません。解決しました。
原因はクラウドサービスが未接続になっていた為でした。
ご連絡ありがとうございます。
問題が解決して何よりです。
今後の参考情報として活用させて頂きます。
大変失礼しました。
正常に取得できました。
ありがとうございました!
デバイスIDがコピーされません。。
公開していただきありがとうございます。
デバイスID検索にトークンを入力してもデバイスIDが取得できない状況です。
サーバーの障害なども考えられますので、今一度トークン(2つのうち上の方)をコピーしてご確認ください。
なお、手動で確認する方法も追記いたしましたので、よろしければご参考にしてください。
ツインロックの設定をしているとデバイスID検索で2つ出てきます。どちらを入力してもロック解除は失敗でした。
ショートカットに一部ミスがありました。
下記URLより修正版を入手の上、再度お試しいただけますと幸いです。
https://www.icloud.com/shortcuts/9022db726d6048f485021a81ac276dc2
修正版で無事に解錠できました。
ありがとうございました。
ツインロックの場合はデバイスID検索でIDが2つ出てくるので、メインの親機のIDを入力すると一度に両方とも解錠できました。
サブの子機のIDではサブ側しか解錠されませんでした。
ご報告いただきありがとうございます。
スマートロックは1台しか所有していないため、ツインロックでのテストは出来ておりませんでしたが、問題なく解錠できたとのことで安心いたしました。
リンク先URLを踏んでもショートカットが見つかりません。
同じく失敗で開きません。
ショートカットに一部ミスがありました。
下記URLより修正版を入手の上、再度お試しいただけますと幸いです。
https://www.icloud.com/shortcuts/9022db726d6048f485021a81ac276dc2
設定させて頂きました!今までなぜできないのかと悩んでいましたかこの記事のおかげで一気に解決致しました。ありがとうございます!!ただ、もう一点できないことがありまして!会社の裏口にもロックをつけていています。店長の携帯にホームで分けて共有しています。店長の携帯にも同じ設定をしても出来ませんでした。店長のアプリをよく見ると権限がありませんと出るのが関係してるのか?
なにか方法及びアドレスなどありましたらお願いいたします。よろしくお願いいたします。
おっしゃる通り、権限が関係しております。
スマートロックを最初に設定した人(以下、所有者)のみがAPI経由で操作可能です。
※権限についての詳細は、以下のページをご覧ください。
https://t.ly/f_yHR
解決方法としましては、以下の2つが考えられます
1.所有者のAPIのトークン及びシークレットで店長様のショートカットも作成
2.専用のアカウントを作成し、そちらを所有者として登録
手っ取り早いのは1かと思われますが、同じアカウントに登録されている他の製品にもアクセスされる”可能性がある”という事をご理解ください。
以上、参考になれば幸いです。
失敗で開きません。
ショートカットに一部ミスがありました。
下記URLより修正版を入手の上、再度お試しいただけますと幸いです。
https://www.icloud.com/shortcuts/9022db726d6048f485021a81ac276dc2