自宅の照明環境構築のお話の続編。
日没時に在宅していたら照明を自動点灯させる仕組み作りが完成しました。
在宅を感知するためにMESH人感タグを使う
下記の記事で、外からの帰宅時に自動で照明を点灯する仕組みを構築した話を書きました。

記事の最後に、残る課題は「ちょうど日没の時刻に自宅に居るとき」と書いています。
上記の記事は外から自宅に帰ってきた時の照明の点灯を制御する内容ですが、これは日没時に自宅に居たら動きません。
日没時に自宅に居る時にどうやって自動点灯するか、ここを解決します。
新たに導入したのは、ここでもMESH。
今回は「人感タグ」を購入しました。
人感タグは、タグについているセンサーが人の動きを感知したら信号を送るというもの。
僕はひとり暮らしなので、自宅に置いたこのタグが人の動きを感知するということはすなわち自宅に居るということですね。
(空き巣が入ったりしていない限りは…)
MESHレシピ
前回と同じく、事前準備としてIFTTTのWeather Undergroundチャンネルで、日没したらMESHにIDを投げるAppletを作成しておきます。
作り方は先ほどの記事を参照していただきたいですが、
念のためIFTTT Appletの設定はこんな感じ。
this:Weather Underground > Sunset
that:MESH > Send an event to MESH app イベントID:sunset
イベントIDは自由に決めてください。
IFTTT AppletはMESHにIDを投げるだけのものなので、すでに作っている僕は前回作ったAppletをそのまま利用しました。
つづいて、MESHのレシピを下のように作成しました。
1.IFTTTタグ「受信したら」
上記で作っておいた「日が沈んだらMESHにIDを投げる」IFTTT Appletから飛んできたID(sunset)を受信したら次に信号を投げます。
2.人感タグの「状態を確認する」
人感タグの設定には「感知したら」「感知しなくなったら」「状況を確認する」の3種類がありますが、そのうち今回は「状況を確認する」を使用します。
「状態」は「感知した」、「時間範囲」は60秒にします。
3.IFTTTタグ「送信する」
照明点灯の赤外線信号を飛ばすIFTTT AppletにIDを投げます。
IFTTT Appletは前回のものを流用しました。
照明を点ける方法はご家庭の環境によって異なりますが、僕の場合はこちらの記事の手順3を参照してください。
レシピの内容はざっくり言うと
「IFTTTタグから信号が流れてきたら人感タグの状態を確認して、人の動きを感知したら次のIFTTTタグに信号を流す」
というもの。
1のIFTTTタグから1本分岐させて、上のルートと同じ人感タグを設置しているのは何故かというと、
単純に日没時に人感タグをチェックしてIDを投げるだけでもいいんだけど、念のため分岐先にタイマータグを置いて、60秒間待ったあとでもう1回同じ判定をさせています。
これで、たまたまセンサーの範囲外にいたとかで1回目の判定で人感タグが感知しなくても、60秒後に発動する2回目の判定で感知されれば点灯するようになっています。
ちなみに、上記2の人感タグの時間範囲=(最大の)60秒としていますが、これは「レシピ内の人感タグが発動した時点からさかのぼって60秒以内に感知していれば作動する」ということ。
したがって、このレシピで人感タグが状態を確認する時間範囲は、1回目の判定の60秒前から2回目の判定の瞬間までの連続した120秒間ということになります。
レシピはこれで完成。
そして、人感タグは作業用のデスクとリビングに座った時の両方に反応する位置にこのように設置しました。
レシピを実際に動作させたところ、最初の頃は挙動がなんだかおかしかったのですが、数日繰り返しているうちに正常に動作するようになりました。
これで完全自動化!と思いきや
これで完全に自動で照明の点灯ができるようになった!
と思ったのですが、いや、確かに自動で点灯はするのですが、実際に日没が近づくと、日没時刻の前ですでにずいぶん暗い。
日没まで待っていられなくてなんだかもどかしい時もあります。
さすがにこのやり方では日没の時間に先立って点灯なんてことはできないと思うので、これを解決しようと思ったら今度はMESHの「明るさタグ」が必要かな。
2021.10.18追記
上記の統合を、MESHを使わずにIFTTT Proのみで構築しなおした記事を投稿しました。