190
130

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

190
130
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
190
130

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?