Hueで天気予報

k8

Philips Hue(LED電球)は、天気に合わせて色を変えられると様々なサイトで紹介されている。
私としては「朝5:00にその日の天気を示す色で点灯し、家を出た後の朝7:30に消灯する(夜は通常の照明として使う)」という使い方をしたい。

しかし、実現するのに思いのほか苦労したので、忘れないうちに記録に残しておこうと思う。

目次
1.失敗(1)よく紹介されている方法
2.失敗(2)IFTTTのそれっぽいレシピ1
3.失敗(3)IFTTTのそれっぽいレシピ2
4.妥協策



1.失敗(1)よく紹介されている方法

HueはIFTTTと連携することで天気予報になるというレシピ

このレシピは「現在の天気が雨に変化した時→Hueの全ライトを青にして点灯する」というもの。雨の他、晴れ、曇り、雪の時のレシピも用意すれば、天気によって色を変えるという目的は達成できる。
しかし、トリガーの「現在の天気が雨に変化した時」は時間によらず天気に変化があると発動する。一日中Hueを付けっ放しにするのであれば問題ないが、朝だけ天気予報として使いたいという用途には向かない。



2.失敗(2)IFTTTのそれっぽいレシピ1

See the weather before go out for work! #hue

このレシピは「指定時刻(7:00)になったら→Hueの全ライトをTodaysConditionにして点灯する」というもの。
すごくそれっぽいが、残念な事にTodaysConditionは色ではなく、今日の天気を示す文字列である。Hueは色をCSSカラー名またはCSSカラーコードというもので指定しなければならない。天気名(Sunnyなど)のCSSカラー名があれば良かったが無い為、どの天気でもエラーとなる(エラーの場合は白色になる)。
つまり、このレシピは指定時刻にHueを天気によらず白色点灯させるだけである。



3.失敗(3)IFTTTのそれっぽいレシピ2

Change #hue lights to match the current #weather (by image)

このレシピは「指定時刻(6:30)になったら→Hueの全ライトを天気アイコンの画像の平均色にして点灯する」というもの。
晴れの時は天気アイコンの画像はきっと太陽だから平均色は黄色っぽくなり、曇りなら雲の画像で平均色は白かなぁ。だとするとこのレシピは目的に会うはずである。

↓天気アイコン(黒い部分は透過色)

残念な事にどの天気アイコンも同じような色である。天気ごとに僅かな差があるのかもしれないけれど私には分からない。大変惜しい。



4.妥協策

二段階レシピで対応する。
(1)「指定時刻(5:00)になったら→Gmailアドレス宛に天気の情報を送る」

Gmailを使うのでGmailアカウントが必要である。
送付メールのタイトルか本文に以下の2つを入れる。
•1-識別用の適当な文字列
※上の例ではIFTTT12345にしている。
このメール以外では使われないユニークなものが良い。
•2-gradientの「TodaysCondition」
※gradientはフラスコのようなボタンを押すと入力できる。

メールにはそれ以外のものは不要で、明日の天気なんかも入れてしまうと、今日の天気とごっちゃになって誤動作しやすいので注意。

(2)「条件に合うGmailを受信したら→Hueのライトを指定色で点灯する」

上の例は晴れの時のレシピ。Search forに次のように入力してある。

IFTTT12345 (sunny OR clear OR very)

受信したメールに「IFTTT12345」と「sunny」または「clear」または「very」が含まれた場合にトリガーが発動する。「IFTTT12345」は(1)で使用した識別用の文字列。(1)で送られたメールでのみトリガー入るようにする為に入れてある。続く括弧内は晴れを示す天気名で、「または」を示す「OR(大文字)」で区切って三つ入れている。天気名の種類が不明だったが、恐らく下記アドレスのものが使用されているようだ。
http://www.wunderground.com/weather/api/d/docs?d=resources/phrase-glossary

Current Condition Phrasesの欄の名前が使われているのかと思ったが、そうでもなさそうなので、とりあえずこのページに載っている天気名全てに対応できるようにする。上の例で「very」と入っているのは「very hot」や「very cool」といった天気名に対応している(何の天気か分からんが、とりあえず晴れに分類した)。

この他に、曇、雨、雪などに対応するSearch forとHueの色のレシピを用意する。
search forは私の場合、

IFTTT12345 (cloudy OR clouds OR fog OR cloud OR haze OR hazy OR mist OR overcast OR smoke OR sand OR dust OR ash) -snow -rain


IFTTT12345 (rain OR showers OR thunderstorm OR thunderstorms OR drizzle OR spray OR squalls)


IFTTT12345 (snow OR blizzard OR ice OR flurries OR sleet or hail) -thunderstorms -showers

Blowing sandとか分類に悩むものは、もう面倒なので曇という事にした。ちなみにGmailの検索は単語単位で完全一致でないと引っかからない。thunderstorm ではthunderstormsが引っかからないので二つとも入れる必要がある。

結局この5レシピになった。


最後に朝7:30になったら消灯するように、Hueの公式アプリで消灯のスケジュールを組めば出来上がりである。

懸念点はGmailへの送信や、受信の認識が遅いことがあり、今までで30分遅れたこともあった。それ以外は特に問題なく動作している。

【追記】
最近受信した天気名
Sunny
Sunny/Wind
Mostly Sunny
Mostly Sunny/Wind

Cloudy
Mostly Cloudy
Partly Cloudy
AM Clouds/PM Sun

Rain
Heavy Rain/Wind
Showers
Showers/Wind
AM Showers

関連記事
Posted byk8

Comments 0

There are no comments yet.

Leave a reply