Secret Staircase

HomeKit+Hue motion sensorでしばらくの間動きがなかったらライトを消す

Feb 8, 2019

自分の環境の問題なのかもしれないけれど、HomeKit と Hue motion sensor の組み合わせは確実には動作しないので Hue アプリを使う が正解。

それでも動きの検知をトリガーとして Hue 管理外のデバイスを動作させたい場合には HomeKit でなんとかする必要があります。

そもそもこれって普通のユースケースだと思うんだけどなぜか HomeKit + Hue motion sensor では簡単には実現できないんですよね。HomeKit のオートメーション設定には、動作を検知した結果オンにしたデバイスをオフにするまでの時間を指定できます。でもこれは最初にオンになったときにカウントダウンが始まって途中で動きがあったとしても消えてしまうんです。

IMG 0539

たとえば 1 分後にオフにする設定であればこのような動きになります。

  1. 動きを検知 (オン、タイマースタート)
  2. 30 秒後 - 動きを検知
  3. 60 秒後 - オフ

しかもオフにしたあとしばらくは動きを検知してもオンにしてくれないみたいで、1 分以内に作業を終えないと部屋がまっくらといった事態が発生します。

これには(いちおうの)解決方法があります。 動きを検知したとき動きを検知しなかったとき の 2 つのオートメーションを作成します。

動きを検知したとき の設定

  • デバイスをオンにする
  • オフにしない

IMG 0540

動きを検知しなかったとき の設定

  • デバイスをオンにする
  • オフにする設定あり (1 分後とか)

IMG 0556

ポイントはどちらでもデバイスをオンにすることです。このような動きになります。

  1. 動きを検知 (オン)
  2. 30 秒後 - 動きを検知なし (タイマースタート)
  3. 60 秒後 - 動きを検知 (タイマーリセット)
  4. 90 秒後 - 動きを検知なし (タイマースタート)
  5. 150 秒後 - オフ

動きを検知でタイマーがリセットされるんですね。 これ考えた人頭いいなあと思いました。

ただ、自分の環境だけかもしれませんがうまく動いてくれないことが多くて信頼性が必要なオートメーションには使えませんでした。 ライトが消えてまっくらでは困ります。

ネットを検索するといろんな人がこの方法を説明しているのでちゃんと動くのかもしれません。たとえばここ https://www.reddit.com/r/HomeKit/comments/8fqzhj/cancelanautomation/

ちなみに Hue アプリにも同様のオフ設定があり、こちらは途中で動きがあればタイマーがリセットされます。普通の期待どおりの動作だと思います。

自分の場合は基本的には Hue motion sensor による Hue デバイスの操作は Hue アプリで管理して、それ以外のデバイスを HomeKit で管理するようにしています。

たとえばトイレで動作を検知したら

  • ライトをつける (Hue アプリ)
  • 換気扇をオン (HomeKit + Homebridge + Switchbot)

ということをしています。換気扇は HomeKit 経由なので動作が怪しいですがまあ早めにオフになってもそうは問題ないです。

まとめ

  • HomeKit と Hue motion sensor の組み合わせは動きが謎
  • Hue motion sensor をトリガーにして Hue のデバイスを操作するなら Hue アプリを使った方が良い
  • Hue 以外のデバイスを管理するなら HomeKit のオートメーションで動きを検知あり、検知なしの 2 つを使うことで動作を改善できる