REST APIでHueを制御する
ここまでで、以下の情報を揃えることができました。
- ブリッジのIPアドレス
- ユーザー名
- 照明のID
この情報を使ってHueのREST APIに対してHTTPリクエストをしてみましょう。
APIエンドポイント
「http://<ブリッジのIPアドレス>/api/<ユーザー名>/lights/」が自身のHueのAPIエンドポイントになります。
「192.168.179.15/api/Xi1wEib8m5jaIkqcraRflvQgPY6GKNmxyQ09kdZr/lights/」このアドレスが僕のHueのAPIの基本エンドポイントになります。
照明のオン/オフを試す
HueのAPIは基本的に「PUTリクエスト」になります。またIDを指定して「/エンドポイント/HueのID/state」というアドレスにリクエストしてみます。ターミナルからcurlコマンドで以下を実行してみましょう。
curl http://192.168.179.15/api/Xi1wEib8m5jaIkqcraRflvQgPY6GKNmxyQ09kdZr/lights/1/state -X PUT -d '{"on":true}'

成功するとHueが点灯し、以下がレスポンスとして取得できます。
[{"success":{"/lights/1/state/on":true}}]
また、以下で消灯させることができます。
curl http://192.168.179.15/api/Xi1wEib8m5jaIkqcraRflvQgPY6GKNmxyQ09kdZr/lights/1/state -X PUT -d '{"on":false}'
基本的なオン/オフは「{"on":true}」を送るか「{"on":false}」を送るかで使い分けることができます。
他のAPIを試してみる
先ほどはオン/オフを試しましたが、他にもいろいろな機能があります。詳細はHueのディベロッパーページを確認しましょう。
アラート
照明が一瞬点いてすぐ消えます。先ほどと同じアドレスに対して、「{"alert":"select"}」をセットしましょう。
curl http://192.168.179.15/api/Xi1wEib8m5jaIkqcraRflvQgPY6GKNmxyQ09kdZr/lights/3/state -X PUT -d '{"alert":"select"}'
ここではIDが3のライトをアラートさせました。警報などに良さそうです。
エフェクト

時間とともにランダムに色が変化していきます。「{"effect":"colorloop"}」をセットします。
curl http://192.168.179.15/api/Xi1wEib8m5jaIkqcraRflvQgPY6GKNmxyQ09kdZr/lights/3/state -X PUT -d '{"effect":"colorloop"}'
時間とともに色が変わって妖艶な雰囲気が漂います。飲み会などの演出に良さそうです。
まとめ
Philips HueをHTTP Request経由で制御することができました。
スマートフォンからの制御でも面白い使い方はできますが、API経由でハックすると可能性がさらに広がります。基本的にHueのAPIにはHTTP Requestでアクセスできるので、どんなプログラミング言語とも組み合わせることができるのも強みです。
dotstudio株式会社のオフィスでは、RaspberryPiと人感センサを使って玄関の照明の点灯の自動化をしています。アイディア次第で生活を便利にすることができますね。
それでは、次回もお楽しみに!
Hueの購入はこちら
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
菅原のびすけ(dotstudio株式会社)(スガワラ ノビスケ)
日本最大規模のIoTコミュニティ「IoTLT」主催。岩手県立大学大学院ソフトウェア情報学研究科を卒業後、株式会社LIGでWebエンジニアとして入社し、Web開発に携わる。2016年にdotstudio株式会社を立ち上げ、今はIoT領域を中心に活動している。JavaScript RoboticsコミュニティNodeBotsの主催や、IoTバックエンドサービスであるMilkcocoaのエバンジェリストとしても活動中。共著: 『JavaScriptでインタラクティブ3Dコンテンツを作ろう』 共著: 『現場のプロが教える WEBデザイン 新・スタンダードテクニック37』 共著: 『フロントエンドエンジニアのための現在とこれからの必須知識』twitter: @n0bisuke URL: dotstudioのプロフィールページ
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
