【Homebridge】IFTTTとWebhooksでルンバをApple Homekit/Siriで操作する方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

スポンサーリンク

今回はちょっと今まで作ってきたレシピ(IFTTT + Homebridge)の組み合わせで簡単で便利なHomeKitボタンを作成することが出来たので、その手順をまとめておきたいと思います。

今までに過去にルンバのHomeKit化については、Homebridgeプラグインを使うことで実現済みではあったんですが、準備されているプラグインだとオン/オフしか対応しておらず、もう少し細かいことまで指定したかったんですよね。

例えばルンバとGoogleホームの組み合わせではこんなにたくさんのコマンドもあります。

こんな感じのことが、こんなのやり方であれば、Siriでも操作できるようになる訳ですよ。さて早速やっていきましょう。

スポンサーリンク

システム構成と必要なもの

今回はこんな感じの構成になります。HomebridgeとIFTTの組み合わせっていうことですね。

インストール手順

では、早速設定する手順を一つずつ説明していきます。因みにルンバのアカウントは既に作成できているという前提話を進めていきます。

IFTTTをインストールして、Webhooksのレシピを作る

先ずはIFTTTをインストールしていない方は、App Storeからインストールしていきましょう。

IFTTT

IFTTT

IFTTT無料posted withアプリーチ

インストールが完了したら、New Appletの画面から”THIS”をクリックして、Webhooksを選択してください

Receive URLをクリックして、適当な名前を付けてください。このevent nameは後程使うので、メモ帳などにコピーしておいてください。このevent名には、大文字やスペースは使わないようにしてください。

この画面の例の場合は、”start_roomba”にしている

スポンサーリンク

iRobotアカウントとIFTTTを連携させる

次に”THAT”をクリックして、iRobotを選択してください

動作させたいものを選ぶと(例:Start robot)、iRobotの画面が呼び出されて、ログインを求められます。作成済みのiRobotアカウントでログインしましょう

ログインが成功すると、IFTTTの画面に戻るので、もう一度動作させたいものを選び、今回はルンバをスタートさせる画面になるので、動作させたいルンバを選択して、”Create action”をクリック。

“Finish”をクリックして、アプレットの作成は完了となります

WebhooksのURLとKeyをコピーする

IFTTTのホーム画面に戻り、”Discover”からWebhooksサービスを検索してください。(Appletではないので、注意してください)そして、右上の”Documentation”をクリック


”Make a POST or GET web request to:~”に続くURLをメモ帳などにコピーしておいてください

画面上、Your keyは削除しているが、本来ならここに英数字のKeyが入る

node と npmのインストール

では次にラズパイ側のインストール手順について説明していきたいと思いますが、本手順ではラズパイの初期設定が完了していることを前提として、nodeソフトのインストールから説明しています。ラズパイの初期設定が完了していない場合は、まずは完了させてから本手順を実施してください。

今回nodeはv10.15.0を使用していますが、新しいものにしておけばとりあえずOKだと思いますが、一部のプラグインでは互換性チェックで動作しないこともあります。また新しいものの場合には、インストールしている他のプラグインが動かなくなる可能性もあるので、そこは注意してください。この手順で実施する方であれば、とりあえずはv10.15.0を使うことをお勧めします。

以下のコマンドを事前に設定しておけば、nodeの現在の使用versionを”current”として指定するできるので今後使うときには結構便利になるのでお勧めです。

homebridgeのインストール

nodeが準備できたら、次はhomebridgeをインストールします。これは特にversionを指定せずにインストールしていますので、これを参考にした場合にはまたversionが変わっているかもしれません。

スポンサーリンク

homebridge-http-webhooksのインストール

それでは、今回使うプラグインになります。今回使うプラグインはルンバ専用というものではなく、どちらかというと今回のようなWebhooksのトリガーに対応したプラグインというものになるので、今後Webhooksを活用したボタンも増やしていくことも可能ということです。

インストール自体はいつも通り以下のコマンドを打つだけです。

設定ファイルの編集

あとは設定ファイルをルンバ用に作成していくだけですね。config.jsonファイルを以下のような感じで作成していきます。ラズパイのMACアドレスも必要になるので、事前に調べておいてください。

ファイルの以下のコマンドを使う必要があります。Linuxの編集コマンドに慣れないかもしれませんが、慣れれば簡単です。

ファイルを開いたら、設定ファイルを編集していくのですが、ここで追加していくボタンは自分がなんのボタンを追加したいかによって数が変わってくるので、そこを注意してください。

気をつけて欲しいところは、”name”の部分と”push_url”の部分になります。

  1. “name”の部分に、 IFTTTのwebhooksで設定していたevent nameを入れる
  2. “push_url”の部分には、IFTTTのwebhooksの手順の際にメモした”Make a POST or GET web request to:~”に続くURLを使って、{event}部分を1のevent nameに差し替える

つまりは、”https://maker.ifttt.com/trigger/start_roomba/with/key/your-key-abcd”のような感じになるはずです。

以下に参考までに我が家の場合の設定ファイルを書いておきます。

因みにもし以下のようなエラーが出る場合には、ディレクトリのパーミッションが間違っている可能性があります。

Systemdでのみ、このようなエラーが出る場合には、homebridge.serviceを実行しているユーザーが、”cache_directory”へのパーミッションを持っていない可能性があります。

もしそうであれば、以下のコマンド入力しておけば、とりあえずは直ると思います。根本的にはsystemdの実行ユーザーの権限を見直しましょう。

起動確認

あとはhomebridgeを起動してみて、エラーなどが出ないことを確認して、起動が無事確認できれば、Apple Homekit化の成功となります。

初めてのhomebridgeを作成の場合にはiPhoneへのアクセサリ登録が必要になります。homebridgeのコマンドを打つと以下のような画面が出てくると思いますので、これをアプリで読み取ってください。

最後に

さて、どんな感じになったかというと、こんな感じになりました。

これでApple homekit/Siriで完全ルンバを操作できるようになったと言っても過言ではないでしょう。我が家では特にルンバをホームに戻す時にSiriを活用できています。あとはせっかくのスマートマッピングの機能があるので、部屋を指定してルンバに掃除させることができると愛着が更に湧きますよね笑

今までGoogleやAlexaでしか出来なかった操作ですが、今回の方法であれば完全にSiriで同じことができるようになりますので、今まで諦めていた方は少しLinuxっぽい知識は必要になりますが、慣れてしまえばそこまで難しくはないので、是非試してみてくださいね。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

Subscribe SNS

コメントを残す

*