Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
130
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

IKEA Trådfri Gatewayがいつの間にか売られていたので、Node.jsでド派手なLチカをしてみる。

TL;DR

いい色のLED電球をNode.jsで操作できる。

日本でもIKEA Trådfri Gatewayが売ってる。

IKEAにふらっと行ってみたら、
うおおおおおおおお!!!!!
IMG_20180922_161600.jpg
いつの間にか、IKEA Trådfri Gatewayが売られている!!!!
おおおおおおおお!!!!

取り乱しましたが、IKEA Trådfriとは、かの家具量販店IKEAで販売している、無線で操作できるLED電球のことです。
IMG_20180923_105325.jpg

専用のリモコンで操作できる他、GatewayがあればGoogle Home,Alexaはもちろん、ソフトウェア操作できるものです。
ただ、悔しいながら、日本では、Gatewayが販売されていなかったのです。

シーリングライトはもちろん、床暖房までボイスコントロールするほどホームオートメーション好きの私でしたが、Amazonで入手したLED電球のダウンライトを赤外線操作可能なLEDに変更したところ、色が明るすぎ(白すぎ)て部屋に合わず、スイッチ操作のものに戻してしまっていました。
それに比べて、IKEA Trådfriは色がとても良いです。IKEAの店舗に行っては、Trådfriの暖かな色に羨望の眼差しを向けていましたが、専用のリモコンでしか操作できない日本のTrådfriでは無線のオイシさも半減。購入をできずにいました。

それが!今週ふらっとIKEAに行ってみたら!あるではありませんか!Gateway!
ということで、LED電球も合わせてGatewayを買ってしまいました!!!!!

セットアップ(省略)

Trådfri GatewayがあればGoogle Home、Alexaとも接続できます。手順はたくさん書いてあるので、ググってください。ここでは省略します。

が、注意点を1点。
TrådfriはLED電球単体で販売していますが、Gatewayとの接続のためにはリモコン(上記写真のLED電球とともに写っている丸いやつ)が必要です。最初に買うときは、リモコンとセットのものを購入することをおすすめします。1つあればいいので、2個めからはLED単体のものをご購入することをおすすめします。

NodeでLチカ

Node.jsで操作するときは、node-tradfri-clientを使えばAPI操作ができます。
先にAndroid/iPhoneでのセットアップを済ませておいてください。

mkdir tradfri
cd tradfri
npm install node-tradfri-client

サンプルコードは以下です。

index.js
var tradfri = require("node-tradfri-client");
var Client = tradfri.TradfriClient
async function lightTo(deviceName, onOff) {
  const gateway = await tradfri.discoverGateway();
  var client = new Client(gateway.addresses[0]);
  const {identity, psk} = await client.authenticate(process.env.SECURITY_CODE);
  await client.connect(identity, psk);
  client.on("device updated", async (device) => {
    if (device.name === deviceName, device.type === tradfri.AccessoryTypes.lightbulb) {
      await client.operateLight(device, {onOff, transitionTime:5});
      setTimeout(() => client.destroy(), 500);
    }
  }).observeDevices();
}
lightTo(process.env.NAME, process.env.ON == "true");

簡単ですね。
あとは、コマンドで

NAME={Android/iPhoneで設定したLEDの名前} ON=true SECURITY_CODE={Gatewayの裏に書いてあるSecurity Code} node index.js

で実行完了。LED電球をつけたり消したりできます。
out2.gif

まとめ

実はPhilips Hue Bridgeを使えば、これまでもTrådfriは操作できたのですが、Hue BridgeはAmazonで7000円以上、Trådfri Gatewayであれば、店舗に行けば5000円くらいで買えます。
まだホームオートメーションをやられたことがない方もTrådfriでお家のソフトウェア制御を始めてみてはいかがでしょう?

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
130
Help us understand the problem. What are the problem?