【Homebridge】homebridge-hueプラグインでPhilips hueを完全コントロール

Homebridge
スポンサーリンク

この記事より新しい方法で構築しているものがありますので、homebridge-hueのインストールについては、こちらを参照ください。

今回はhomebridge-hueのプラグインの使い方です

実は自宅のPhilips hueとhomebridgeとの接続はすでに前の記事でやっていたのですが、無事iphoneのhomeアプリ上で状態確認出来るし、オンオフも出来て、明るさも調整出来るわけなんですが、、、なんというかそれしか出来ないんですよ。

特に色温度!これを変えられるからこそのhueでしょ!!(←IKEA Tradfriのバルブを使ってますが、、そこはhue bridgeだから、API自体はphilip側さ。)

わかりますか?この問題。本来の純正のHueなどの場合は左下に”カラー”というボタンがあって、色が変えられるはずなんですよ。それなのに、ここが変えられないというのはhomebridge-philipshueプラグインの作り込みの甘さ出会って、このままだと単なるスイッチON/OFFと明るさしか変えれないので、折角のカラーLEDの意味がないわけなんですよね。

このプラグイン自体がかなり簡易的なものだったんでしょうけど。

他の人のブログを見てもみんなこれを使っていたから、盲目的に使ってしまったが、やっぱり使いたいものを使うってのが、ラズパイの魅力でしょう。

ってことで、今回はhomebridge-hueプラグインの置き換え備忘録です。

Philips Hue Bridge + IKEA TradfriでのHomekit対応について

因みに今回の方法で有効なのは、純正Homekit対応していないラウンドタイプのHue Bridge gen 1だけでなく、純正Homekit対応しているはずのスクエアタイプのHue Bridge gen 2/3とIKEA Tradfriの組み合わせで使用する場合にも使えます。

これはどういうことかというと、今回のHue Bridgeは他社製ライトのHomekit対応をしていないため、Hue Bridge + Hue電球の組み合わせだけでしか、Apple Homeアプリで操作ができないんですね。そのため、Hue Bridge + IKEA Tradfriの組み合わせでHomekit化したい場合には、今回のようにラズパイなどでのhomebridgeを構築する必要がありますね。

  • Philips純正ライトは純正アプリでHomekitとペアリング・コントロール
  • 他社製ライトはhomebridgeでコントロール

こんな使い方であれば、もっと使いたいという方が増えてくるかもしれませんね。

(ななっしーさん情報ありがとうございました。)

先ずは過去のプラグインを削除する

先ずは憎っくきhomebridge-philipshueを削除してやりましょう

# サービスの停止
$ sudo systemctl stop homebridge
# プラグインの削除
$ sudo npm remove -g homebridge-philipshue

これでプラグイン自体は削除完了です。

インストール手順

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

Raspbian Stretch with desktop

node と npmのインストール

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

#nvm v10.16.0のインストール
$ nvm install v10.16.0

#インストールされたversionを確認
$ which node
/home/pi/.nvm/versions/node/v10.16.0/bin/node
$ node -v
v10.16.0

#npmの最新版をインストール
$ sudo npm -g install npm@latest
$ npm -v
6.9.0

homebridgeのインストール

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

#homebridge の依存ライブラリをインストールする。 //以前に実行済の場合はこの手順はスキップ
$ sudo apt-get install libavahi-compat-libdnssd-dev

#homebridgeのインストールを実行します
$ sudo npm install -g --unsafe-perm homebridge
/home/pi/.nvm/versions/node/v10.16.0/bin/homebridge -> /home/pi/.nvm/versions/node/v10.16.0/lib/node_modules/homebridge/bin/homebridg

homebridge-hueプラグインのインストール

次に新しいモジュールをインストールしていきます。

$ sudo npm install -g homebridge-hue homebridge-lib

設定ファイルを修正

いつも通り、設定ファイルのconfig.jsonを修正していきますね。先ずは以下のコマンドを打って。

$ sudo vim ~/.homebridge/config.json

このファイルが実質Homebridgeの構成ファイルの肝になります。HueのIPADDRESSおよびUsernameは予め取得したものを使う想定です。(HueのHTTP APIの設定か確認GUI: http://IPADDRESS/debug/clip.html

詳細は以下Philips hue developer site参照。

またHomebridgeのMACアドレスはラズパイのMACを全て大文字で記入してください。(じゃないとエラーになります。) 

こんな感じで設定ファイルを編集しておきます。

# bridge部分は変更なし 
"platforms": [
  {
  "platform": "Hue", 
  "host": "自分のIP", 
  "name": "Philipshue", 
  "users": {
    "001788XXXXXXXXX": "HUE-API-USER" 
   }, 
  "nativeHomeKit": false, 
  "sensors": true, 
  "nativeHomeKitSensors": false, 
  "excludeSensorTypes": [
   "CLIP", "Geofence","Daylight"
   ], 
  "lowBattery": 25, 
  "lights": true, 
  "nativeHomeKitLights": false, 
  "wallSwitch": false, 
  "groups": true, 
  "group0": true, 
  "rooms": true, 
  "schedules": false, 
  "rules": false, 
  "heartrate": 5, 
  "timeout": 5, 
  "resource": true, 
  "parallelRequests": 3, 
  "waitTimeResend": 300, 
  "waitTimeUpdate": 20 
  } 
] 
}

因みにこれはワタシのhue bridge gen 1(ラウンドタイプ)の設定です。gen 2/3(スクエアタイプ)の方は、nativeHomeKit、nativeHomeKitSensors、nativeHomeKitLightsをtrue、parallelRequestsを10にするらしいです。

因みに試して頂いた方の話を聞くと、nativeHomeKitLightsは記述しなければ、デフォルトでgen 2(スクエアタイプ)用の設定になるそうです。

他の各パラメの詳しい情報はGithubで確認できます。

本当に電球だけhomeアプリに表示してくれればいいよって方は、以下パラメをfalseにしてください。余計な部屋とかを読み込まなくなります。

  • groups
  • group0
  • rooms

またhomebridge-philipshueで既にhomeアプリに登録済の方は、homeアプリ上でhomebridgeを削除した後、~/.homebridge/persistを削除しないと読み込みエラーになります。

# 過去の接続情報の削除 
$ sudo rm -rf ~/.homebridge/persist 

#サービスの起動 
$ sudo systemctl start homebridge

Let’s 確認

さて、これでどうなったかというと・・・

見事カラーが見えるようになりました!!これが出来ないとhomeアプリの意味ないよね。

Google assistantの方が音声認識はすごいんだけどやっぱguiのプラットホームアプリの存在は便利だと思うし、センサー系だと特にこういうプラットホームアプリじゃないとわかりづらい。毎回呼びかけるの面倒だし。

ということで、今回はひとまずこれでやりたいことは出来たので、おしまい。

Comments

  1. ななっしー より:

    先日スクエア型Hue+TRÅDFRIで構築した際、参考にさせていただきました!
    Hue Bridgeは他社製ライトのHomekit対応はしておらず、対応させるにはhomebridgeが必要だと知りませんでした・・・
    今回はQNAPにdockerを立てて動かしました。docker覚えてからラズパイがいらない子になった我が家・・・

    さて、nativeHomeKitLights などですが、記述しなければデフォルトでv2用の設定になっているようです。
    ・Philips純正ライトは純正アプリでHomekitとペアリング・コントロール
    ・他社製ライトはhomebridgeでコントロール
    自分の用にPhilipsとIKEAのライトを混在させている場合に都合がよいようです。

    • TakaTK より:

      ななっしーさん

      コメントありがとうございます!パラメータ設定についてもありがとうございます!

      ・Philips純正ライトは純正アプリでHomekitとペアリング・コントロール
      ・他社製ライトはhomebridgeでコントロール

      確かにこういう使い方もできますね^^ホワイトグラデーションはIKEAで、カラーグラデーションはHueとかの使い分けであれば、
      お得な感じで使えそうですね!

スポンサーリンク
こちらの記事も読まれています
スポンサーリンク

この記事を書いた人

Taka

モバイルシステムエキスパート。某大手IT企業でエンジニアをやりながら、モバイルIT系ブロガーをやっております。独学でプログラミング勉強してWEBアプリ作ったりしながら、日々の生活の中で面白そうな情報を記事にしています。レビュー依頼などはお問合せからお願いします。

\フォローする/
タイトルとURLをコピーしました