目的

照明(Mi-Light)をRubyから制御できるようにしたいと思います。

経緯

なぜMi-Lightなのか

一般には「Hue」がよく知られていますが、Hueは値段が高く僕みたいな庶民はとても買えないものです。それで比較的に値段がやすいMi-Lightを制御してみようと思います。

Mi-Light・White(2色)タイプ:¥1299
Mi-Light・Colorタイプ:¥3880
Hue・White(2色)タイプ:¥3672
HueColorタイプ:¥7992

Mi-Lightやすい!最高!

なぜRubyで制御したいのか

一言でいえば一つのWEBページでエアコン・テレビ・照明などを全部制御したいからです。
うちには赤外線学習リモコンがあり、それを使って電子機器を制御しています。

Mi-Light用アプリも赤外線学習リモコンアプリも出ていますが、
エアコン使用する時はリモコンアプリを、照明制御する時はMi-Lightアプリを、蛍光灯はリモコンアプリを起動するのがめっちゃ嫌でした。
まとめて一つのWEBページで制御したい!

以下はうちで実際使用している家電製品・照明を制御するためのWEBページです。
(嫁がすごく喜んで使っています。)
スクリーンショット 2017-11-09 22.00.31.png

準備物

Mi-Light・White(2色)タイプ

https://www.amazon.co.jp/gp/product/B01FCWGMNO/ref=oh_aui_detailpage_o00_s00?ie=UTF8&th=1

Mi-Light・Colorタイプ

https://www.amazon.co.jp/dp/B075JDN1NF/ref=sspa_dk_detail_4?psc=1

無線LANコントローラ

https://item.rakuten.co.jp/illumica/it_m005/
https://www.amazon.co.jp/gp/product/B00SMFRSLE/ref=od_aui_detailpages00?ie=UTF8&psc=1

基本的な使い方

アプリからの使い方やペアリングする方法はここでは省略します。
※「無線LANコントローラ」の説明書に書いてあります。

コーディング

Gem追加

Gemfile
gem "limitless-led", git: 'git@github.com:begaborn/limitless-led.git'

実装例

Whiteタイプ
light = LimitlessLed::White.new(host: "10.0.1.4", port: 8899)

# 1番目に登録してした電球をオンにする
light.group_1_on

# 2番目に登録してした電球をオフにする
light.group_2_warm

# 1段階昼白色にする
light.group_1_cool

# 1段階電球色にする
light.group_2_warm

# 明るくする
light.group_1_brightness_up

# 暗くする
light.group_1_brightness_down

# 一番明るくてする
light.group_1_brightness_max

# 一番暗くする
light.group_1_brightness_min

# 1番目〜4番目の電球全部をオンにする
light.all_on
Colorタイプ
light = LimitlessLed::White.new(host: "10.0.1.4", port: 8899)

# 全照明制御
# ペアリングされたすべてのLEDを点灯
light.all_on
# ペアリングされたすべてのLEDを消灯   
light.all_off  
# 色情報は Color::RGB オブジェクトで渡す
light.color(Color::RGB::Red)  
# 明るさ最小
light.brightness(2)   
# 明るさ最大
light.brightness(27)  

# グループの個別制御
group = bridge.group(1) 
# 色情報は Color::RGB オブジェクトで渡す
group.color(Color::RGB::Blue)
# 明るさ最大
group.brightness(2)

参考したページ

https://qiita.com/athlonz/items/8f108fadd27bda8d0272

以上となります。