ラズパイ

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

更新日:

どうも、CHASUKEです。

物理スイッチを操作できるスマートガジェット「SwitchBot(スイッチボット)」をiPhoneのホームアプリで操作できるようにしました。

SwitchBotは、専用ハブを経由して外出先から遠隔操作できるアイテム。スマートホームには欠かせません。

▼製品レビューはこちら。

【レビュー】SwitchBotの3アイテムで快適スマートルームを作ってみた!

続きを見る

 

とても便利なアイテムですが、現状、Appleのスマートホーム(HomeKit)に正式対応していません

CHASUKE
Appleユーザならホームアプリで一元管理したいところ!

 

実は、SwitchBotはHomeKitに非対応の製品ですが、Bluetoothを使ったAPIが公開されています。

以前、こちらのAPIを利用してPythonスクリプトで操作する方法を紹介しました。

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

続きを見る

 

このAPIをもとに作られているHomebridgeプラグイン「homebridge-switchbotを使って、ホームアプリに追加しました。

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

 

前置きが長くなりましたが、本記事では「SwitchBotをHomeKit対応させる方法」を書いていきます。

SwitchBotは、Siriショートカットにも対応してます。ですが、やっぱりホームアプリのが使い慣れてますので便利です。

CHASUKE
こっちのが動作が早い気がする

すでにラズパイにHomebridgeがインストール済みの方は、プラグイン導入からお読みください

Homebridgeとは?

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

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

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

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

必要なもの

Apple端末(ホームアプリ)

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

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

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

 

ラズベリーパイ一式

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

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

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

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

 

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

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

 

SwitchBot

今回の主役ですね。

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

created by Rinker
スイッチボット(SwitchBot)
¥4,038 (2019/11/10時点)

▼2個セットとかお得。

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ネタを書いてますので是非チェックしてみてください。

それではまた。

created by Rinker
スイッチボット(SwitchBot)
¥3,970 (2019/11/10時点)

Amazonでお得に買い物

Amazon.co.jpで買い物するならギフト券を現金チャージするのがお得です。チャージごとに最大2.5%分のAmazonポイントがもらえます。また、5000円チャージで1000円分ポイント還元キャンペーンも実施中!!

詳しくはコチラ

  • この記事を書いた人
CHASUKE

CHASUKE

某IT企業でエンジニアをしているCHASUKEです。 当ブログでは生活を便利にするガジェットやサービスなどライフスタイルに関わる様々な情報をお届けします。レビュー依頼も受け付けています。「お問い合わせ」より気軽にご相談ください。

Copyright© CHASUKE.com , 2019 All Rights Reserved Powered by AFFINGER5.