見出し画像

HomeAssistantでSwitchBotスマートロックの鍵状態を表示する(Bluetooth接続編)


前回、SwitchBot API  V1.1を使ってSwitchBotスマートロックの鍵の状態を取得してみました。

このAPIを使ってHomeAssistantで鍵の状態を表示しようと思いましたが、他の記事を読んでいたところ、Bluetoothを使えば簡単に登録ができるということが分かりましたので、まずはその方法でSwitchBotスマートロックを追加してみようと思います。

完成イメージ

こんな感じでHomeAssistantのダッシュボード上にSwitchBotスマートロックの鍵状態と扉状態が表示されます。
また、鍵アイコンをタップすると、HomeAssistant上から鍵の操作(解錠・施錠)ができるようになります。

HomeAssistantでBluetoothアダプタが使えるようにする

自宅のHomeAssistant環境はSkyBarium PC + ProxmoxVEの構成となっています。

今までBluetoothを使っていなかったので全く気にしていませんでしたが、いざBluetoothを使おうと思ったら、SkyBarium PC内蔵のBluetoothアダプタがHomeAssistant上では使えないことが分かりました。

SkyBarium PCのBluetoothはIntel AX200が搭載されていますが、調べてみるとProxmoxVEの設定ファイルを編集することでHomeAssistant上でBluetoothが使えるようになるみたいです。

そのため、以下のページを参考にしながらProxmoxVEの設定ファイルを編集してBluetoothアダプタが使えるようにしてみました。

また、シェルを使った操作が必要になりますが、以下の症状が発生したため、最初に対処してから作業を進めました。

1.ProxmoxVEの管理画面にログインする

WebブラウザからProxmox VEの管理者画面を開きます。
「データセンター>ProxmoxVEのサーバ名」を選択して、「コンソール」をクリックします。

2.ProxmoxVEに読み込まれたBluetoothアダプタのモジュールを確認する

次のコマンドを入力して、Bluetoothアダプタのモジュールを検索します。

lsmod | grep btusb

何か画面に出てきたら、とりあえずProxmoxVEでBluetoothアダプタが読み込まれている状態となっています。

次に、このコマンドを入力して接続されているUBSデバイスを検索します。

lsusb | grep Bluetooth

「AX200 Bluetooth」デバイスが接続されていることが確認できました。このデバイスIDを確認しておきます。

3.pve-blacklist.conf ファイルを編集する

viを使って、pve-blacklist.conf ファイルを開きます。
viとは、Linuxでよく使われるテキストエディタになります。Windowsでいうメモ帳のようなものになります。(viの方が多機能だと思いますが、全然使いこなせてません・・・)

vi /etc/modprobe.d/pve-blacklist.conf

「i」キーを押して編集モードにしたら、以下の1行を追加します。

blacklist btusb

追加したら「ESC」キーを押して編集モードを終了してください。
最後に「:wq」と入力して「Enter」キーを押下すると、編集した設定ファイルを保存してviが終了します。

4.Proxmoxを再起動する

「再起動」ボタンをクリックして、ProxmoxVEを再起動します。

5.HomeAssistant マシンにBluetoothアダプタを接続する

「データセンター>(Proxmox VEのサーバ)>(HomeAssistantのVM)」を選択して、ハードウェアを選択します。

「追加」ボタンをクリックして、「USBデバイス」をクリックします。

「USBベンダ/デバイスIDを使用」を選択して、Bluetoothアダプタを選択します。
製造者やプロダクトは空白になっていますが、あらかじめ確認しておいたBluetoothアダプタのデバイスIDと同じものを選択します。

「追加」ボタンをクリックして、USBデバイスとしてBluetoothアダプタが追加されていることを確認します。

6.HomeAssistantを起動する

「開始」ボタンをクリックして、HomeAssistantを起動します。
しばらくするといつものHomeAssistant画面が表示されますが、この画面が出るまでの間にエラーが出なければ問題ないと思います。

Bluetoothアダプタを登録する

まずはHomeAssistantにBluetoothアダプタを登録します。
HomeAssistant画面から「設定>デバイスとサービス」を選択します。

「統合」タブを開き、画面右下の「統合を追加」を選択します。
画面の「発見」というところにBluetoothアダプタが表示されていればそちらの「設定」ボタンを選択しても問題ありません。

「ブランド名で検索」項目に”Bluetooth”と入力すると、Bluetooth関連の項目が出てきますので、先頭の「Bluetooth」を選択します。

「発見」のところに表示されたBluetoothアダプタを選択します。

「Bluetoothアダプターhci0(Bluetoothのアドレス)をセットアップしますか?」とメッセージが表示されたら「送信」を選択します。

「(Bluetoothアドレス)の設定を作成しました。」のメッセージが表示されたら「完了」を選択してBluetoohアダプタの登録は完了です。

SwitchBotスマートロックを登録する

Bluetoothアダプタの登録も完了しましたので、これから設置済みのSwitchBot機器を登録していきます。
今回はSwitchBotスマートロックの登録となりますが、他のデバイスでも基本的に操作は同じです。

「設定>デバイスとサービス」を選択して「統合を追加」ボタンを選択します。

「ブランド名で検索」項目に”SwitchBot”と入力すると、SwitchBotの項目が出てきますので、出てきた「SwitchBot」を選択します。

既に自宅に設置しているSwitchBot機器がいくつか出てきてますが、とりあえず「利用可能な統合」にある「SwitchBot Bluetooth」を選択します。

検出されたSwitchBot機器が選択できます。
今回はSwitchBotスマートロックを登録してみようと思いますので、「Lock XXXX(XXXXはBluetoothアドレスの一部を表示しています)」を選択して「送信」を選択します。

SwichBotスマートロックから情報を取得したり、制御するためにはキーIDと暗号化キーが必要となります。SwitchBotアカウントから必要な情報が取得できるみたいですので、推奨と書かれてる「SwitchBotアカウント」を選択しました。

SwitchBotアカウントのユーザー名とパスワードを入力して、「送信」ボタンを選択します。

「Lock XXXX」の設定を作成しました。」のメッセージが表示されたらSwitchBot機器の登録が完了しました。「完了」ボタンをクリックしてください。

SwitchBotスマートロックの状態をダッシュボードに表示する

登録したSwitchBotスマートロックの鍵状態が確認できるように、ダッシュボードに追加したいと思います。

ダッシュボードへの追加方法はお好みの方法で設定していけばいいですが、今回はボタンを使った方法になります。
また、扉の開閉状態も表示できそうですので、鍵状態と扉状態を並べて表示できるようにしました。

1.SwitchBotスマートロックの鍵状態を表示する

SwitchBotスマートロックの状態を表示したいダッシュボードの右上にある「編集」アイコンを選択して、画面右下の「カードを追加」ボタンを選択します。

「カード別」タブにある、「水平スタック」を選択します。

「ボタン」を選択します。

「エンティティ」項目に"Lock"と入力すると、スマートロックから取得できる項目が出てきます。
「Lock XXXX」の項目が鍵の状態(解錠・施錠)を検知したり、制御するためのエンティティとなりますので、このエンティティを選択します。

2.扉の開閉状態を表示する

次に扉の開閉状態を表示できるようにします。
水平スタックカードの「+」を選択します。

鍵状態の表示方法と同じように「ボタン」を選択します。

「エンティティ」項目に"Lock"と入力すると、SwitchBotスマートロックから取得できる項目が出てきますので、扉アイコンが表示されている「Lock XXXX」(エンティティIDが"binary_sensor〜"となっているエンティティ)を選択します。

プレビューを確認したら「保存」を選択します。

作成したカードが追加されたことを確認したら「終了」ボタンを選択します。

これでHomeAssistant上からSwitchBotスマートロックの鍵状態と扉状態を確認できるようになりました。

最後に

Bluetoothを使うことによって、簡単にSwitchBot機器がHomeAssistant上で確認することができました。
今回はスマートロックで試してみましたが、温度計や扉センサーでも使えますので、まだHomeAssistantに登録していないSwitchBot機器を追加していきたいと思います。

また、HomeAssistantを動かしているPCがそのままではBluetoothが使えない状態になっているため、ひと工夫が必要でしたが、一度設定してしまえば簡単にSwitchBot機器が登録できるようになったため、試して良かったと思いました。

いいなと思ったら応援しよう!