最近Switchbotカーテンというカーテン自動開閉装置を我が家に導入したのだが、やっぱりAppleの「ホーム」で動かしたいのがアップル信者というものだ。
8/21〜8/27はSwitchbot公式サイトにて夏のセール開催!
以下のバナーから確認ください!
SwitchBot公式サイトでは定期的にセールをやっていてAmazonより安いこともあるから要チェックだよ。
ということで早速対応させてみた。
前提条件としてSwitchBotアプリをインストールし、アプリ上からは動かせるようになっていること。
また、例によってHomebridgeの構築が終わっているものとして説明している。
まだ何もしていない人は以下のページのHomebridgeのインストールまで終わらせよう。
ちなみにSwitchbot Hub 2を購入すればMatter対応によりHomebridgeを使わずともホームに対応できるよ。ただし今のところ全てのSwitchbot製品が対応しているわけではない(順次対応予定)ので注意。
Switchbot プラグインの導入
主要プラグインとして、
・Homebridge Switchbot
・Homebridge Switchbot Ble
がある。
個人的にはHomebridge Switchbotをオススメする。
ちなみに以前紹介していた、Homebridge Switchbot Bleの設定方法もメモとして残しておく。
インストール
Web画面のHomebridge「プラグイン」ページより、検索ボックス内に「Switchbot」と入力し検索。
「Homebridge Switchbot」をインストールしよう。
設定 (Homebridge Switchbot)
インストールが完了すると以下の設定画面が表示される。
TokenとSecretを入力する必要がある。
トークン&クライアントシークレット入力
まずはSwitchBot Account Infoを開いて、トークンを入力しよう。
トークンはSwitchBotアプリから
プロフィール→設定→アプリバージョンの欄を10回タップすると開発者向けオプションが表示される。
開発者向けオプション内にトークンとクライアントシークレットがあるのでそれをSwitchBot Account InfoのToken欄とSecret欄に入力しよう。
SwitchBot (ボット)の追加
次にSwitchBot Device Settingsを開く。
主要な設定部分は以下の通り。
特に記載のない場合はデフォルトでOK。
Device Name | 任意の名前 |
Device ID | SwitchBotアプリから調べる |
Device Type | Bot |
Connection Type | BLE : SwitchBotハブを使わない場合はこちらを選択 (ラズパイ等にBluetoothが搭載されていること) OpenAPI : ハブを使う場合 BLE/OpenAPI : どちらも使用 |
Mode | Press : 押すと作動後スイッチがすぐにオフになる。 Switch : 押すと作動後スイッチはオンのまま。 |
What Type of Device do you want to display in the Home App? | ホームアプリ上での見え方の種類。 基本的には「Switch」で良い。 |
Allow Changes to Be Pushed | チェックを入れるとボットの状態が既にプッシュ状態でも 再度プッシュするようコマンドを送信できる。 |
ボットの設定は以上だ。
SwitchBot カーテンの追加
次にカーテンの設定。
Device Name | 任意の名前 |
Device ID | SwitchBotアプリから調べる |
Device Type | Curtain |
Connection Type | BLE : SwitchBotハブを使わない場合はこちらを選択 (ラズパイ等にBluetoothが搭載されていること) OpenAPI : ハブを使う場合 BLE/OpenAPI : どちらも使用 |
Set Minimum Open State | カーテン全開状態の閾値 この例では10%以下で全開状態になる。 |
Set Maximum Close State | カーテン全閉状態の閾値 この例では90%以上で全閉状態になる。 |
Curtain’s Opening Mode および Curtain’s Closing Mode | カーテンを開け閉めする時の動作モード設定 Performance Mode : 力強いモード。通常はこちら。 Silent Mode : 静音モード。 |
Curtain Update Rate | カーテン動作中の進行状況更新間隔(秒数) |
その他のSwitchBot製品の追加
私が製品を買えば随時追加していくが、基本的にはDevice Typeを変更して必要情報を入力すれば使えるようになるはずだ。
ちなみに複数のSwitchBot製品を追加するときは、「Add New SwitchBot Device」タブをクリックする。
このプラグイン(Homebridge SwitchBot)では、現在のところ以下のSwitchBot製品が対応しているようだ。
Bluetooth欄に○がある場合は、BLEでハブなし接続可能。
×の場合はハブ経由で接続可能。
特にハブなしにこだわる必要がなければ、ハブも購入した方が便利が良いかもしれない。
SwitchbotのDevice IDの調べ方
Switchbotアプリを起動後、調べたいデバイスを選択。(今回はカーテンを選択した。)
右上の設定ボタンから「デバイス情報」を選択でMACアドレス(Device ID)が表示される。
設定 (Homebridge Switchbot Ble)
インストールが完了すると以下の設定画面が表示される。
設定名 | 設定する値 |
Name | SwitchBotPlatform (そのままでOK) |
Type | Curtain |
Name | 好きな名前 |
MAC Address | Switchbotアプリケーションから調べて入力 |
Scan Duration | Switchbotデバイスの探索時間 (入力はミリ秒) 未入力時は1000ms。 上手く反応せずSwitchbotカーテンをラズパイ側が見つけられないことがある時は長めに設定する。 |
Reverse Dir | カーテンの進行方向を逆にする。(開状態と閉状態を逆にする) 普通はSwitchbotアプリから再校正を行う必要があるが、これをチェックすることで再校正の必要なく逆転させることができる。 |
Actual running Time | カーテンの動作時間 (入力はミリ秒) 未入力時は2000ms。 |
Open close threshold | カーテンの全開、全閉状態の閾値。 よく校正後のズレ等でSwitchbotアプリ上で97%等中途半端な状態で全閉扱いになることがあるが、そのような場合でもホームアプリ上では閉鎖済みとして表示することができる。 この例では「5」を入力すると、95%以上は全閉、5%以下は全開と表示されるようになる。 ※ホームアプリで全閉状態は0%だが、Switchbotアプリでは100%という定義なので注意。 |
複数機器を登録する場合はADD TO DEVICESボタンを押せば2台目の入力項目が表示される。
この「Homebridge Switchbot Ble」プラグインはカーテンの他に、ボット(ボタンを押す装置)、温湿度計がサポートされている模様。
コンフィグ上
コンフィグ上ではこんな感じになった。(私の場合)
上記の設定画面で入力して保存すれば、このコンフィグは自動で作成される。
{
"devices": [
{
"type": "curtain",
"name": "MyRoomSwitchBotCurtain",
"bleMac": "MACアドレス",
"moveTime": 3000,
"openCloseThreshold": 10
}
],
"name": "SwitchBotPlatform",
"platform": "SwitchBotPlatform"
}
Homebridge再起動
編集を終えたら右上の電源ボタンでHomebridgeの再起動を行おう。
ホーム画面
再起動して無事プラグインが読み込まれるとアクセサリが表示される。
あとはホームアプリ上から名前やアイコン、部屋の変更を行えばOKだ。
ちなみに「Homebridge Switchbot」プラグインの場合、SwitchBotカーテンの光センサーから照度も取得できるので便利。
光センサーの精度は正直かなり微妙だから使い物になるかはわからないけど…。
導入利点
このプラグインを導入することで得られる利点は3つ。
外出先から操作可能
本来外出先から操作するにはSwitchbotハブという機器が別に必要なのだがそれが要らない。
ただし、Apple製のホームハブ(HomePodやApple TV等)が必要なのは変わりないので注意。
外からいきなり操作できることによって防犯対策にも多少なるかも?
HomeKit(Homebridge)対応機器から得られる情報でオートメーションを組める
一番の重要利点。
電気をつけたら自動でカーテンを閉めたり、日の出時刻になったらカーテンを開けたり、照度センサー情報を使って開閉したりと結構無限大なオートメーションを組むことができる。
私はとりあえず日の出、日の入で連動させ、ついでに部屋のシーリングライトをオンにした時はカーテンを閉めるオートメーションを追加した。
照度情報もあるので、曇りや雨の日も時刻に左右されることなく開け閉めが可能となる。
家の状況を一括で見られる
ホームアプリ上で家がどのような状態かをカーテンの状態含め、まとめて確認できる。
見栄えが良い。
BLE接続が確立できないエラーが出た場合
・Node.jsを最新バージョンにする。
・下記コマンドをターミナルから実行して再起動してみる。
sudo npm install -g node-switchbot
終わりに
Switchbotカーテンは何度も開け閉めしていると数値ズレが起きてくるので、校正ズレ対策としてプラグイン設定の閾値の値が重要になる。
その他期待通りに動作しない場合は設定の数値を見直してみると良いかもしれない。
コメント