Sympapaです。
今回も「我が家の嫁様は換気した後に窓の鍵を施錠し忘れる持病を抱えているので窓の戸締りチェックを自動化してやろう」シリーズです。
前回までに窓のクレセント錠にドア開閉センサーを取り付けて窓の施錠状態を取得し、家のコントロールパネルであるタブレットの画面に各部屋の窓の施錠状態を表示しました。
今回は、どこかの窓が解錠したままの状態で出かけようとするとお知らせしてくれるようにしていきます。
スマートホーム: 窓の鍵の戸締りチェックを自動化する(1)・・・窓のクレセント錠にドア開閉センサーを取り付ける
スマートホーム: 窓の鍵の戸締りチェックを自動化する(2)・・・家のコントロールパネル用タブレットに窓の施錠状態を表示する
■構想
- いずれかの窓がロックされていない時、キッチンに設置してあるHome Assistantのモニター用タブレットが窓の鍵の状態を表示する画面に切り替わる。これを見るとどの窓がロックされていないかが一目で判る。→前回完了
- ロックされていない窓がある時に出かけようとすると、玄関の電球が点滅しリビングのNest miniとキッチンのNest HUBが「窓がロックされていません」と大音量で喋る。(本当は玄関にNest miniを置きたいが電源がない)→今回はここ
スマートホームシステムとしてはHome Assistantを使っています。
■視覚的お知らせ
玄関の電球にはYeelightのカラーLED電球"YLDP13YL"を使用しています。
昼間でも確実に視覚的に気づくような点灯パターンはあるのか?
試しに赤く点滅させてみましたが昼間だと気づきにくにくいことが判りました。
色々試してHome Assistantの"light: Turn on"サービスにある"Police"というプリセットのエフェクトを使うと青と赤で派手に点滅し昼間でも気づきやすいのでこれを使うことにしました。
知らない人が外から見るとクレイジーだとは思いますが(^^;
■音的お知らせ
本当は玄関にNestスピーカーを置きたいところですが我が家の玄関には電源がありません。
玄関から一番近いリビングのNest miniと、ちょっと離れていますがキッチンのNest HUBから大音量でお知らせすることにしました。
■お出かけのトリガーはどうする?
どこかの窓の鍵が解錠されたままお出かけしようとするとお知らせするようにしたいのですが、「お出かけ」のトリガーはどうしたもんでしょうか?
手っ取り早く"玄関内側の人感センサーが人感を検出"したら「お出かけしようとしている」とみなすことにしました。
ただ、どこかの窓が解錠されている時に来客があり玄関へ行った時にお知らせが発動してしまうと、けたたましい光と音にお客様がドン引きしそうなので、外から人が入って来た場合(人感検出時に玄関のドアが開いている場合)と玄関の外に人が居る場合(玄関外側の人感センサーが人感を検出している場合)はお知らせしないようにしました。
■というわけでHome Assistantのオートメーション
実際にはお知らせ前の玄関の照明の状態を取得し、お知らせ後に元の状態に戻す処理をしていますが、その部分は省略してオートメーションのyamlを書いておきます。
Nest miniとNest Hubの音量はお知らせ前に大音量にしてお知らせ後に元に戻したいのですが、元の音量を取得する方法が判らないので、お知らせ後は34%(0.34)に設定しています。元の音量を取得できる方法があれば是非コメントください(^^
alias: 窓が開いている警告 description: '' trigger: - type: occupied platform: device device_id: 玄関内側の人感センサー entity_id: binary_sensor.hue_motion_sensor_1_occupancy domain: binary_sensor condition: - type: is_not_open condition: device device_id: 玄関ドアのドア開閉センサー entity_id: binary_sensor.aqara_door_sensor_2 domain: binary_sensor - type: is_no_motion condition: device device_id: 玄関外側の人感センサー entity_id: binary_sensor.sonoff_motion_sensor_1_ias_zone domain: binary_sensor action: - condition: not conditions: - condition: state entity_id: var.window_unlocked_number state: '0' - delay: hours: 0 minutes: 0 seconds: 0 milliseconds: 500 - service: light.turn_on target: device_id: 玄関内側の照明(Yeelight カラー電球) data: brightness_pct: 100 effect: Police - service: media_player.volume_set target: device_id: - リビングのNest mini - キッチンのNest HUB data: volume_level: 0.8 - service: tts.cloud_say data: entity_id: media_player.living message: 窓の鍵があいています - service: tts.cloud_say data: entity_id: media_player.nesthub_gen2_kitchen message: 窓の鍵があいています - repeat: count: '5' sequence: - condition: not conditions: - condition: state entity_id: var.window_unlocked_number state: '0' - service: tts.cloud_say data: entity_id: media_player.living message: 窓の鍵が開いています cache: true - service: tts.cloud_say data: entity_id: media_player.nesthub_gen2_kitchen message: 窓の鍵が開いています cache: true - delay: hours: 0 minutes: 0 seconds: 5 milliseconds: 0 - service: media_player.volume_set target: device_id: - リビングのNest mini - キッチンのNest HUB data: volume_level: 0.34 mode: single