SONY MESHを使ったDIYに続き、連休IoT第二弾。暑さに弱いフェレットのケージ温度見守りにチャレンジ。
前記事に書いたように、MESHは長期安定運用には厳しいという結論が出たので、今回は既設のNetatmo Weather Stationに追加の室内モジュールを購入しました。
【日本正規代理店品・保証付】Netatmo ウェザーステーション 屋内用追加モジュール (Additional indoor Module) NET-OT-000002
すでにIoTまみれの我が家ではスマホで室温が確認できるガジェットはありました。iRemocon Wi-FiやFutrue Home Controllerなど。また富士通ゼネラルのエアコンにもスマホコントローラーを追加してあり、アプリから室温をチェックできます(運転中のみ)。ただこれらはその時々の温度はわかるものの、継続的にログをとってくれないので、例えばエアコン切って出かけている間にどれくらい温度上昇しているか、というのを振り返ることができません。
そこでログがとれるNetatomoです。もちろん本体単体でも可能なのですが、それはそれで別の部屋で使いたかったので、オプションの屋内用追加モジュールとあいなったわけです。また屋内用追加モジュールは乾電池式なので配線をかじられたりといった心配も不要だったのもあります。
本体との通信はWi-Fiではない(Bluetooth?)ので、通信距離的に不安がありましたが、とりあえずきちんとログがとれてるぽいので一安心。
さて、Netatmoは専用アプリでログを確認できるのはもちろんですが、IFTTTやYahooのmyThingsといった連携サービスとつながることも特徴です。これらのサービスで数値を監視し、閾値を超えたらメールするとか他の機器(例えばエアコン)を操作するといったことが可能です。これらはオンラインサービスなのでMESHと違い、その場にスマホなどがないと動作しないといったことはなく、一度設定してしまえば単体で動作し続けます。
以前からmyThingsでiRemocon Wi-Fiと連携させて、温度が上がったらエアコンを入れる、下がりすぎたら切るといったレシピを設定していたのですが、やたら不安定でエラーが返るのと、iRemocon Wi-Fiの外からの制御に月額有料プランの登録が必要などがあり、今回IFTTT(イフト)に乗り換えることにしました。
設定してみると、myThingsでは室温と騒音しかトリガにできなかったのが、IFTTTではさらに湿度、CO2濃度、気圧、雨(要屋外雨量モジュール)、風量(要屋外風量モジュール)と、Netatmo Weather Stationが計測できるあらゆる数値をトリガにできることが判明。Netatmo使うならIFTTTが断然オススメです。ただしiRemocon Wi-Fiを操作できるのはmyThingsのみなので、こちらを(外出先からの利用が無料なレンタルプランで)ご利用の方はmyThingsを検討してもいいかも知れません。myThingsならiRemocon Wi-Fiの温度情報も利用できるのでNetatmo自体不要という話も。IFTTTからGmailかなにかのWebサービスを経由してmyThingsを叩いてもいいかも知れません。
今回は本体買い切りしてしまい、WANからの利用は有料プランが必要になる我が家ではiRemoconの利用を諦め、Maker Webhooksという指定URLを叩いてくれるモジュールを使って、iRkitやFuture Home Controllerを制御することにしました。Future Home ControllerのWeb APIを叩く設定はこんな感じ。Future Home Controllerの設定画面から目的のデバイスで目的の信号を発するためのURLを取得することができるので、これをコピーしてきます(IFTTTが外から呼び出すので、remote webapi経由のURLアドレスを使用します)。例えばこんな感じ。
https://fhc.rti-giken.jp/api/elec/action?webapi_apikey=(APIキー)&user=(メールアドレス)&elec=リビングエアコン&action=冷房普通
で、下がMaker Webhooksの設定画面ですが、「Surround any text with “<<<” and “>>>” to escape the content」と注意書きがあるので、とりあえず日本語部分を<<< >>>で囲ってこんな感じにしてからペースト。
https://fhc.rti-giken.jp/api/elec/action?webapi_apikey=(APIキー)&user=(メールアドレス)&elec=<<<リビングエアコン>>>&action=<<<冷房普通>>>
あとは写真の通りに、MethodとContent Typeを指定。Bodyは空でOKです。
■エアコン自動運転でよくね?という方へ
ここまで読んで、「エアコンで希望の温度設定にして付けっぱなしにしとけばよくね?」と思われた方もいらっしゃるかも知れません。まぁ確かにその通りなんですが、居室、寝室など人が住む部屋だとやはり主観で寒いなと思えば弱めたり切ったりしてしまいますし、そのまま出かけてしまうこともあります。むしろ付けっぱなしの覚悟ができる真夏より、「今日は涼しいからエアコンいれとかなくて大丈夫かな」と思って出かけると急激に暑くなるような今時分の季節が危ない。そんな時に保険として、人がどんな設定をしたり切ったりしていったも、一定温度を超えたら強制的に冷やしてくれる存在が欲しいのです。実は富士通ゼネラルのエアコンには「みまもり機能」というのがあり、高齢者の熱中症防止に室温が30度を超えたら自動的に冷房が入る設定があります。リモコンで電源を切っていても発動します。ので今回は自分で取り付けた部屋は全部富士通ゼネラルにしました。惜しいのは30℃固定なので人間にはよくてもより暑さに弱いフェレットにはまだ不安です。是非ユーザが温度を選べるようにしてほしかったですね。