Node-RED

Node-REDからPhilips hueを操作する方法

Node-REDからPhilips hueをコントロールできるプラグインを見付けました。

node-red-contrib-hueplus – Node-RED

今回、このプラグインを利用してhueをコントロールする実験に成功したので、その方法をご紹介します。

npmでhueplusをインストール

Node-REDにhueのノードを使えるようにするため、下記のコマンドで”node-red-contrib-hueplus”をインストールします。

npm install node-red-contrib-hueplus

この状態でnode-redを再起動すると、左のノード部分に【hue state】と【hue set】の2つのノードが追加されます。

Node RED

hue setでブリッジを設定しよう

まずは、【hue set】のノードをフローの上にドラッグします。

node-red

【hue set】のノードをダブルクリックすると、「hue-set処理ノードを編集」という画面になるので、「Bridge」の横を「新規にhue-bridgeを追加。。。」を選んでから、横の鉛筆マークをクリックします。

Node RED

「Name」には自分で好きなBridgeの名前を入力。

「Bridge」には、ブリッジのipアドレスを入力。ちなみに、ブリッジのipアドレスがわからない場合は、下記リンクをクリックしてください。
ブリッジのipアドレスを確認する

Node RED

この状態で、hueのブリッジ側のリンクボタンを押し、下の用に「API Key」の横にあるボタンを押すと、APIキーが自動で読み込まれます。

Node RED

もし、APIキーが読み込まれない場合は、もう一度hueのブリッジのリンクボタンを押してみてください。無事に表示されたら「更新」をクリック。

Node RED

ノードを設定

スイッチの為の「インジェクション」と「テンプレート」ノードを追加してつなげます。

その後、「Hue Set」ノードをダブルクリック。

「Light」の横にある虫めがねのマークをクリックすると、その隣がドロップダウンできるようになり、ブリッジに登録されている「hue」のランプや「グループ」が表示されます。

Node RED Node RED

「テンプレート」ノードにはJSONで “on” : trueを送るようにしました。

Node RED

「インジェクション」ノードはそのままでOKです。

あとは、「テンプレート」ノードで “on”: falseとしたものを消灯用として用意すれば、点灯・消灯をすることができます。

Node RED

まとめ

先日はDALIとethernetのゲートウェイを使ってNode-REDからDALIで照明のコントロールを行いましたが、今回、Philips hueもNode-REDから操作することも確認できたので、DALIとPhilips hueの両方を一括でコントロールできそうです。

PHILIPS hueは安価、かつ無線でフルカラーのコントロールができるのが大きなメリットですが、スマートフォン側からコントロールする際、アプリやOSのアップデートなど製品自体とは別のところでトラブルが発生することがあり、その調整をどうするかが課題でした。

しかし、Philips hueのAPIを利用してNode-REDからコントロールすれば、スマートフォンのアプリに依存する制御ではなく、Node-REDのフローの画面をブラウザで表示させたり、htmlで操作画面をつくりフローを呼び出すボタンをつくることで、アプリのアップデートに左右されずにhueをコントロールすることができます。

今回は単純な点灯・消灯をやってみましたが、今後は他のAPIとつなげたり、DALIと同時に制御する実験をしていきたいと思います。

ABOUT ME
中畑 隆拓
DALIやKNX導入のコンサルティング・コンフィグレーション・機器の販売、AI-IoTを組み合わせたシステムの提案を行っています。