NatureRemoをHomekit対応させてみた話

スマートホーム

Homekitからエアコンを操作したい。ということで「Nature Remo」をHomekit対応させてみた話です。

Nature Remoをお使いの方でAppleのホームアプリから操作したい方向けのお話です。

Homebridgeとはなんぞや

Homebridgeは、Homekitに対応していないIoT機器でも制御出来るようにするためのソフトウェアです。OSSのため、Githubでソースコードも公開されています。

GUI操作が出来るように

このHomebridgeですが、以前はCLIで全て設定していました。

しかしつい最近、WebGUIコンソールが公開され非常に使いやすくなりました。

Homebridge自体のアップデートやプラグインの管理、サーバ情報やHomebrigeのログのモニタリングを全てWeb経由で行えるため、非常に管理が簡単になりました。

ライブラリのインストール

Homebridge構築に必要なソフトウェアを初期設定すみのラズパイにインストールします。ターミナルからコマンド入力して実施します。

事前準備

ラズパイの設定を行う前に、パッケージの最新化を行います。

$ sudo apt-get update
$ sudo apt-get upgrade

Node.jsのインストール

HomebridgeはNode.jsで動作するサーバのためインストールします。

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

Avahiのインストール

HomebridgeとNature Remoを通信するために必要です。

$ sudo apt-get install libavahi-compat-libdnssd-dev

Homebridgeのインストール

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

$ sudo npm install -g --unsafe-perm homebridge

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

$ homebridge

こんな風に表示されればOKです。

pin番号は後ほど使用するためひかえておいてください。

Homebridgeの設定を行いますので、ひとまず「Ctrl+c」でサーバを停止しておきましょう。

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

NatureRemoをHomekitで操作できるようにするために、プラグインを追加します。

今回はNatureRemonoのローカルAPIを使ったプラグインhomebridge-nature-remo-airconを使います。このプラグインを使うことで、簡単にエアコンをHomekit対応にできます。

$ sudo npm install -g homebridge-nature-remo-aircon

設定ファイルを編集

インストールが完了すると、ディレクトリ「/home/pi/.homebridge」が作成されているはずです。

このディレクトリ配下にHomebridge設定ファイル「config.json」を作成する必要があります。

    "accessories": [
        {
            "accessory": "NatureRemoAircon",
            "name": "エアコン",
            "access_token": "xxxxxxxxx_xxxxxxxxxxxxxxx_x_xxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "appliance_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        }

アクセストークンの取得

アクセストークン(access_token)は、ユーザにより異なるNature Remoサーバにアクセスするための鍵です。アクセストークンを取得するページにアクセスして簡単に取得することができます。

ページにアクセスし、ログインボタンをタップする

メールアドレスを入力し、ログインメールを送信する

届いたメールを確認し、ログインボタンをタップする

アクセスを許可する

アクセストークンを生成する

アクセストークンをひかえる

アプライアンスIDの取得方法

続いて、アプライアンスID(appliance_id)を設定します。

Remoアプリに追加しているRemo本体が複数ある場合は、設定が必要のようです。1台だけであれば、「“appliance_id”: “”」のように空文字で問題無いです。

アプライアンスを取得するために、以下のコマンドを実行します。

/usr/bin/curl -X GET "https://api.nature.global/1/appliances" -H "Authorization: Bearer [アクセストークンを入力]" > token.json

これを実行した場所に『token.json』というファイルが出来上がります。

"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"device": {
    "name": "Remo",
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "created_at": "2021-6-20T10:39:59Z",
    "updated_at": "2021-6-20T10:39:59Z",
    "firmware_version": "Remo/1.0.62-xxxxx555",
    "temperature_offset": 0,
    "humidity_offset": 0
}

deviceが操作したいエアコンが追加してあるRemoであることを確認して、その上のidを設定ファイル(config.json)に追加すればOKです

Homebridgeの起動

これで設定は完了なので、Homebridgeサーバを起動させましょう

$ homebridge

動作検証

Appleのホームアプリを起動し、エアコンを操作してみます。

さいごに

いかがだったでしょうか?

Homebridge導入には若干ハードルがありますが、すでにHomebridge環境があれば簡単にエアコンをHomekitに対応することが可能です。

Homekitハブがあれば外出先からもエアコンを操作することが可能になります。Apple製品をお持ちの方は是非お試しください!

コメント

タイトルとURLをコピーしました