Node.jsとMIDIコントローラでHueを調光するの中で使っていたhueライブラリを切り出してnpmにした。

https://www.npmjs.com/package/philips-hue
https://github.com/shokai/node-philips-hue

なんで作ったかちゃんと思い出せないんだけど、たしかRubyのhue gemについているコマンドが引数多くて使いにくかったり、他のコマンドだと全ランプにまとめてeffect:colorloopを設定するのが面倒だったり、Nodeのライブラリだと色々あるけどAPIの抽象化方法に違和感あったりで満足するのが無かったからだったと思う。


インストール

% npm install philips-hue -g


コマンド

philips-hueというコマンドが付いている。


–lightで番号を指定しなければ全てのランプに指令を送る。


ライブラリ


ふつうにhue.getBridge()やhue.auth()で認証プロセスを組み立てるのもできるけど、アプリ作る時に認証情報を保存して次回起動時に読み出すのが面倒だったので、loadConfigFileという設定ファイルを読み出す(ファイル無ければ認証して作る)便利関数を用意しておいた。
var Hue = require('philips-hue');
var hue = new Hue();

var conf_file = process.env.HOME+'/.philips-hue.json'; // 設定ファイル
hue.loadConfigFile(conf_file, function(err, conf){
var light = hue.light(1);
light.on(); // 点灯

var state = {bri: 200, sat: 120, hue: 50000};
light.setState(state, function(err, res){
if(err) return console.log(err);
console.log(res);
});

hue.light(2).off(function(err, res){ // 消灯
if(err) return console.error(err);
console.log(res);
});
});


ご意見ご感想


バグや質問はtwittergithub issueへどうぞ