どうモメンです。
irkitという小型赤外線装置を今年1月ぐらいに手に入れて、スマホアプリでそこそこ便利に使っていました。
ちなみにirkitは現在生産停止し在庫もなくなりましてメルカリなどで高い値段でしか売られていません。後継機のnature remoがあるそうですが、私は未入手なので、ここではirkit中心に使い方を説明します。
これまで紹介したIRKIT用のアプリ、リモコンNK、GEOIR、XAVIで、日常でやりたかったことは一通りできました。
しかし「タイマー設定」ができるアプリはなかったんです!
私は今夏エアコンを買い替えたのですが、リモコンが非常に簡素なもので、「何時間後入・切」のボタンしかありませんでした。
毎日寝る時間はまちまちですから、早朝5時にエアコンが付くようにしたくても、設定を忘れて凍えて目が覚める毎日でした。
色々調べた結果、IFTTTというwebサービスを経由して、自分でプログラムを作って、色んな条件で作動させた信号をIRKITに送れば、どんなタイマー制御できるということが分かりました。
こういうデバイス類をいじるのが、好きとはいえバリバリの文系素人ですから、非常に苦心しながらも、なんとか今般タイマー制御に成功できましたので以下に備忘録として詳述します。
iftttの連携に挑戦しようと、色々調べ初めて、前回はirkitで、deviceidと、clientkeyを取得できて、手を叩いて喜びめでたしめでたしと終わっていました。
とりあえず外部からirkitに接続するのにdeviceidとclientkeyが必要ということです。
ただ、家のwifiに繋がれているirkitから直接赤外線信号を取得する時は、そういうdeviceidとかは要らないんですよ。
curlコマンドを打ち込めば「直近にirkitで受信した赤外線信号の情報」はすぐ取得できますよ。
私はここで変な欲が出てしまい、「cmdで信号が分かったんだから、パソコンでcmdからirkitに直接コマンドを打ち込んだら、エアコンのスイッチも入るはず!」
そう思ってIFTTTに挑戦する前に、まずcmdを叩きまくったのですが
この「curlコマンドをcmdで叩く」のにめちゃくちゃ苦労しました。
というのも、説明が書かれているサイトはやはりLinuxなどで説明してる場合が多いんですよ!
windowsのcmdとはやはり細かい書式ルールが違ってて、その細かい違いを変換するのが大変だったんです!
ここでハマってしまったせいで、私の週末がパーになってしまいました。
調べた末に、「”」の前に「\」を入れることや、「¥」を「^」に置き換えるルールなどを知り、やってみましたところ、無事windowsのcmdから直接irkitに信号が送れて、エアコンのスイッチが付きました。
パソコンでカタカタっとやるだけでエアコンのスイッチが付くなんて、まるでハッカーやスパイになった気分です。
さて、いよいよ今度はiftttとの連携です。ここまで書いてきた、cmdでコマンド打ち込んで家電のスイッチを入れることは、別にやらなくてもよかったのですが、どうしてもやってみないと腹の虫がおさまらなかっただけなんです。
IFTTTの設定は、やはり詳しく説明が乗っているHP記事を参考に見様見真似でやってみました。結論からいうとめちゃくちゃ簡単ですんなりできました。やはりdeviceidと、clientkeyさえ取得できるかどうかが一番の関門ですね。
とはいえ、そんな私でさえ最初に重大なミスをやらかしました。
「時間トリガー」で設定しても、うまく設定できていたのかが分かりませんでした。時間を直近の時間に設定すれば、その時間になれば、エアコンのスイッチが入るだろうとわくわくしながら待ち構えていたのですが、一向にその気配がありませんでした。
諦めて眠ったところ、朝6時でエアコンスイッチを設定していたものが、朝の3時ごろにスイッチが入ったのです!部屋がいきなり暖かくなったので目が覚めました。「もしかして6時になった?」と思ってあわてて時計を見て、正確には覚えていないのですが、3時すぎだったと記憶しています。
朝起きて設定を確認しましたが、iftttの時間トリガーの設定はちゃんと6時にしていました。
仕事に行く間中ずっと考えていました。3時間早くスイッチが入ったのはirkit側の誤動作だったのか、何らかの設定を間違えているのか・・・
この話を、何気なく知人にしたところ、知人はiftttが何かも知りませんでしたがこう言われました。「たぶんタイムゾーンがグアムあたりになっているだけw」
はっと気づき、家に帰ってさっそくタイムゾーンなる設定を探しました。そういえばftttでアカウントを作った最初の頃に、訳が分からないままそういう画面を見ていじってしまったな、と思い出したのです。
そして、時間のエリアをどこにしていたかすぐ分かりました。なんとアメリカのアダック島(アリューシャン列島の真ん中らへん)になっていたのでした。
iftttのタイムゾーンをTOKYOに合わせて保存し、再び就寝したところ、無事、翌朝にはちゃんと朝の6時にエアコンのスイッチが入りました!
もう明け方に凍えなくていいんだと思うと、とても嬉しいです。
ちなみに、iphoneでirkitのGPS連動アプリを使っており、帰宅時は、家の最寄り駅に到着したら、エアコンと電気のスイッチが入るように設定しています。
朝は、出かける時に部屋の電気のスイッチは必ずリモコンで消すようにして、壁のスイッチをなるべく触らないように、上から紙を貼って封印しているのですが、親戚の子供が遊びに来た時、それを見て「なんでスイッチ使わないの?」と聞かれました。
それはねースマホでやるからだよ!と得意げにスマホでスイッチを入れたり消したりできることを披露すると、子供らは目を輝かせておりました。それはそれはもう魔法使いになったような気分でした。
子供らは知る由も無いでしょう。カーテンレールの上に、LEDライトをビニールテープで幾重にも覆ったirkitが信号を送っていることを・・・
追記
その後google home miniを買いました。話しかければエアコンが付くのは便利ではありますが、エアコンに関してだけは、タイムスケジュールを細かく設定するとさらに便利で快適ですです。
上記の記事で設定した暖房温度は20度とやや低めだったので、寝ている時は快適なのですが、明け方目が覚めて布団を出るころには結構寒いんです。
そこで、IFTTTのタイムトリガーを利用して、「午前3時半から6時までは20度」、「6時から7時までは28度」に二段階のタイマー設定できるのでは?と思い付き、やってみたらあっさり成功し、これまでにない真冬の快適な目覚めが実現できました。(28度は暑すぎじゃね?と思われるかもしれませんが冷え性には30度でもアリなんです)
去年までは電気毛布が手放せないほど冷え性だったのですが、今年は、例年にない寒さにも関わらず、電気毛布なしでも快適に寝れています。エアコンのタイマー設定でこんなに眠りの質が変わるなんて!と驚きでした。
快眠のコツは、冷え込みが厳しくなる3時半は温度低めでスイッチオン、6時からは温度を28度に一気に上げて、
寒さの不快感、憂鬱感なしで自然な目覚めができます。
このやり方をおさらいすると、
①エアコン(暖房)を付けて、温度を20度に設定し、一旦スイッチを切って、もう一度付ける。
②gowなどのフリーソフトをインストールして、curlコマンドを使えるようにしたwindowsコマンドプロンプトで、①のIR信号を取得する
③IFTTTでレシピ(アプレット)を作ります。ifに「DATE&TIME」トリガーを選び(その前にIFTTT自体のタイムゾーンの時間設定をTOKYOに変えておくのを忘れないで!)、thenで②で取得したIR信号の情報をPOSTでirkitに飛ばせるように設定する。
ちなみに、この設定をするためには、irkitをAPIで動かすためのclientkey,deviceidを事前に取得しておく必要があります。
私はド素人でしたのでこれらの取得に大変苦労しました。
これらを取得する方法については↓の記事に詳しく書いております。
【IRKit】windowsのコマンドプロンプトでcurl叩いてclienttoken,deviceid,clienykeyを取得できたよ!
④さらに、もう一回、①でエアコン温度を「28度」にした場合で、同じようにアプレットをもう一つ作ります。時間は、「朝6」で設定しましょう。
これで、安いエアコンでは普通できないエアコンの2段階タイマー設定ができました!
もちろん、この方法では、3段階、4段階の設定も自由自在にできます!
エアコン自体の性能云々では高いエアコンには勝てないかもしれませんが機能性という意味ではirkit+IFTTTの援護によって勝てたかもしれません!
ただし、このirkitで唯一できないことは・・・「室温を図ってエアコン自動調整する」機能ですね。
これをやるためには、それこそラズパイや、wifi温度センサーなどを買い足す必要があります。
まぁ、私はタイマー設定を必要なだけ設定できれば充分かなと思います。