JavaScript
Node.js
ikea

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でお家のソフトウェア制御を始めてみてはいかがでしょう?