前提と注意事項
この記事では以下を前提としています。
- RaspberryPi 4B の Ubuntu22.04 上で動作確認をしています。
- HomeAssistant が動作していることを前提としています。
- SwitchBot Hub のセットアップは完了しているとします。
- SwithBot のスマートフォンアプリでの操作が必要になります。
Ubuntu で HomeAssistant を動作させる手順については以下に記事を書いていますので、必要な方は参考にしてみてください。
🏠 UbuntuでHomeAssistantをDockerで動かす
Raspberry Pi上のUbuntuでHomeAssistantをDockerで動かすまでの手順を解説します。
ritaiz.com
この記事のゴール
HomeAssistant と SwitchBot クラウドを連携させて、SwithBot Hub に接続されている温度計やセンサなどのデバイス情報を HomeAssistant 上で閲覧したり、操作したりできるようにするところまでががこの記事のゴールです。以下は HomeAssistant で SwitchBot Hub 経由で操作できるデバイスが表示された画面です。

SwitchBot の API トークンとシークレットキーを取得する
SwithBot を外部から操作するために必要な API トークンとシークレットキーの取得方法は以下の公式ドキュメントの記載されています。SwithBot のスマートフォンアプリを使って取得します。
上記の公式ドキュメントの従って操作すると、SwithBot のスマートフォンアプリで以下の様な画面が表示され、API トークンとシークレットキーを取得できます。

以上で API トークンとシークレットキーの取得が完了です。
HomeAssistant と SwitchBot Cloud を連携する
HomeAssistant は色々なツールとの連携が可能となっており、新しい連携を追加するには以下のように「設定」から「デバイスとサービス」をクリックします。

「デバイスとサービス」のページの右下に以下のように「統合を追加」というボタンがあるのでこれをクリックします。

統合を追加すると以下のような画面が表示されるので「SwitchBot」を検索し、結果に表示される「SwitchBot」をクリックします。

以下のように表示されるのでここで「SwitchBot Cloud」をクリックします。

「SwitchBot Cloud」をクリックすると以下のように API トークンとシークレットキーの入力フォームが表示されるので、先程取得した API トークンとシークレットキーを入力し、「送信(SUBMIT)」をクリックします。

連携が成功すると、以下のように SwithBot Hub に登録している SwitchBot のデバイスが追加されて表示されます。ここでは、どのエリア(寝室、書斎などの部屋)にどのデバイスを登録するか設定できます。

エリアを割り当てて「完了」をクリックして閉じます。オーバービューページに戻ると、以下のように SwitchBot で登録されているデバイスが表示されます。表示されない場合は一度ページをリロードしてみてください。

あとは上記に表示されたデバイスをクリックして情報をみたり、操作を行うことができます。 試しに SwitchBot Hub からしか操作できないデバイスを操作してみると、HomeAssistant から SwitchBot Hub 経由での操作ができることが確認できると思います。
まとめ
この記事では、HomeAssistant と SwitchBot クラウドを連携して SwitchBot Hub からの操作を行う手順を解説しました。あとはデバイスの情報(温度や湿度、人感センサーなど)に応じて任意のスクリプトを実行したり、自動化を行うことができるようになります。