ラズパイ

SwitchBot(スイッチボット)をHomeKit対応させる方法【Homebridge】

記事内容が古くなったため、こちらの記事「SwitchBotデバイスをHub Mini無しでホームアプリから操作する方法【Homebridge】」をチェック願います。

どうも、CHASUKEです。

SwitchBotと言えば、物理的な壁スイッチなどのスマート化できる便利なアイテムですが、現状、HomeKitには正式対応していません

しかし、ある方法を使えば、SwitchBotを「HomeKit」に対応させることが可能です。

今回はその方法を紹介していきます。

CHASUKE
Appleユーザーならホームで一元管理したいですよね!!

 

SwitchBotには、Bluetoothを使ったAPIが公開されてます。以前、このAPI経由でSwitchBotを操作する「Pythonスクリプト」を紹介しました。

SwitchBot(スイッチボット)をラズパイ経由で遠隔操作する方法

 

上記APIを元に作られている、Homebridgeプラグイン「homebridge-switchbotを使うことで、SwitchBotをHomeKitに対応させることが可能です。今回は、ラズパイにHomebridgeをインストールし、このプラグインを使う方法を紹介していきます。

プラグイン作成者@nkym37様に感謝。

既にHomebridgeがインストール済みの場合、「SwitchBotプラグインをインストール」からお読みください

Homebridgeとは?

Homebridge(ホームブリッジ)とは、ホームネット上でHomeKitAPIをエミュレート実行できるNode.jsサーバーのこと

このHomebridgeを使ってサーバを自宅に作れば、あたかもSwitchBotがHomeKitに対応したかのようにできます。

今回は、ラズベリーパイ (通称ラズパイ)をサーバにして、Appleのホームアプリで操作します!

CHASUKE
言いたいのは、ラズパイ使って実現するよーって事

必要なもの

Apple端末(ホームアプリ)

今回の目的は、SwitchBotのHomeKit化。

当たり前ですが、ホームアプリが使えるApple端末が必要です。

CHASUKE
僕は、iPhone XSを使っていきます

 

ラズベリーパイ一式

ラズパイ本体の他にも、SDカードや電源ケーブルなど付属品が必要となるので、これから用意するならスターターキットがおすすめ。

最新はラズベリーパイ4です。これからラズパイを使い倒すなら、最新モデルがオススメです。

LABISTS ラズベリーパイ4B メモリ4GB SDカード32GB
LABISTS

ラズパイ4は技適取得済み(2019/9/29)です

しかし、旧モデルより大幅スペックUPに伴い、セットで1万円オーバーです。もし、Homebridgeを試すだけなら、旧モデルのラズパイ3B+で十分です。ラズパイZEROでもイケると思います。

ABOX Raspberry Pi 3 Model B+ SDカード32GB キット
ABOX

 

今回は、ラズベリーパイ3B+に「Raspberry Stretch with desktop」をインストールしたものを使いました。

CHASUKE
最新OS「Raspbian Buster with desktop」でもOKかと!

 

SwitchBotボット

今回の主役です。

通常、外出先から遠隔操作するにはSwitchBotハブが必要になりますが、ラズパイが代わりになってくれます。

CHASUKE
何気に数えたら4台ありました。便利!

必要ライブラリのインストール作業

さて、ここからラズパイの設定。

ラズパイのターミナルを開いて、必要ライブラリを初期設定済みのラズベリーパイにインストールしていきます。

少し前にセットアップしたので、バージョンが古いかもしれません。

CHASUKE
無理して合わせずに、最新資産で設定しましょう!

 

事前準備

設定していく前に、パッケージの最新化をしておきましょう。

 コマンド
$ sudo apt-get update
$ sudo apt-get upgrade

 

Node.jsのインストール

Homebridgeは、Node.jsサーバなので必要。

▼偶数が安定バージョンなので、8系をインストールしてます。

 コマンド
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt install -y nodejs

▼実施後の各種バージョンはこんな感じ。

 コマンド
$ nodejs -v
v8.11.3
$ npm -v
5.6.0

 

gatttoolをインストール

ラズパイのBluetooth通信を使うために必要になります。

とは言っても、ラズパイは標準インストールされているため、確認だけしておきましょ。

▼こんな風に出ればOK。

 コマンド
$ gatttool
Usage:
gatttool [OPTION...]

 

Homebridgeのインストール

Homebridgeをラズパイにインストールする。

 コマンド
$ sudo npm install -g --unsafe-perm homebridge

 

正常にインストールできたら、下記コマンドでサーバを起動させ、QRコードやHomeKit設定コードがターミナル上に表示されることを確認しましょう。

 コマンド
$ homebridge

 

これが表示されれば成功。

以降設定が続くので、とりあえず「cntrol + c」でサーバ停止しておきましょう。

 

SwitchBotプラグインをインストール

Homebridgeのプラグインを追加します。

冒頭にも書きましたが「homebridge-switchbot」を利用しています。

▼インストールコマンドはこちら。

 コマンド
$ sudo npm install -g homebridge-switchbot

 

こちらのプラグインで使えるのは、以下のようなプッシュ/プル操作のみ。ご注意ください。

設定ファイルを編集

ここまで完了すると、「/home/pi/.homebridge」が作成されているはず。

このディレクトリ配下に設定ファイル「config.json」を作成することで、SwitchBotのHomeKit対応は完了します。

 

config.jsonの編集

中身はこんな感じでイケると思います。

{
    "bridge": {
        "name": "Homebridge",
        "username": "XX:XX:XX:XX:XX:XX",
        "port": 51826,
        "pin": "031-45-154"
    },

    "description": "SwitchBot Control",

    "accessories": [
        {
            "accessory": "SwitchBot",
            "name": "Wall Switch",
            "macAddress": "xx:xx:xx:xx:xx:xx"
        }
    ]
}

 

macAddressの設定方法

設定ファイル内にある「macAddress」の項目は、SwitchBotアプリから確認できます。

▼対象のSwitchBotの設定ボタンを押す。

これで、MACアドレスを簡単に特定できます。

Appleホームアプリに登録する

最後の仕上げです。

これまで、設定してきたHomebridgeサーバを再度起動させます。設定ファイルが読み込まれ、エラーが表示されずに、QRコードやHomeKit設定コードが表示されれば、成功です。

▼ホームアプリを開いて、アクセサリ登録しましょう。

サーバを停止するとホームアプリから応答しなくなるので、常時起動しておく必要があります

ホームアプリからSwitchBotを操作してみた

こちらのが反応が早い気がしますねー。

SwitchBotの近くにサーバにしたラズパイを設置しておく必要があります。

Bluetoothが届く範囲でOKなので、隣の部屋でも大丈夫でした。

 

たまに失敗することも..

ホームアプリ側でスイッチの現在状態までわからない。なので、実際の状態とホームアプリでズレることがあります。

そうなると、こんな感じで「ビックリマーク」が出て失敗します。

この場合、何度かアイコンをポチポチしてると正常に戻ります。

 

ホームハブで外出先からも操作可能

通常は、外出先からSwitchBotを操作するためには、SwitchBot Hubが必要です。

けれど、今回のHomebridgeを使えば、ラズパイがハブの代わりになります。

▼ただし、Apple TVなどのホームハブが必要となります。

AppleTVをホームハブとしてHomekitデバイスを外出先から操作する方法

続きを見る

最後に

SwitchBotをAppleのホームアプリから操作できるようにしました。

たまに出る「ビックリマーク」が厄介なものの、比較的反応も良く便利に使えています

Appleユーザ × SwitchBotユーザさんには、オススメですね。

▼今回のSwitchBot以外にも、Homebridgeネタを書いてますので是非チェックしてみてください。

それではまた。

Amazonでお得に買い物



Amazon.co.jpで買い物するならギフト券の購入(チャージ)がおすすめ。チャージごとに最大2.5%分のポイントが付与されます

チャージへGO!!

  • この記事を書いた人
Avatar photo

CHASUKE

IT企業につとめる30代サラリーマンブロガーです。当ブログでは、実際に使ってよかった役立つガジェットや製品をお届けしてます。面白い機能や素敵なデザイン、少し尖ったアイテムが特に好きです。ご質問・ご意見は「お問い合わせ」まで。レビュー依頼もお待ちしております!

© 2023 CHASUKE.com