Home Assistantで気付いたこと・分かったこと


スリープ中でもPingセンサーは一瞬だけ反応することがある


はじめに

PCのスリープと起動に合わせて、スピーカーの電源を自動でON・OFFするオートメーションを作成しています。

トリガーにはPingセンサーを使用しています。

動作はほぼ期待どおりでしたが、ログを確認していると気になる現象がありました。


スリープ中なのに接続済みになる

PCをスリープすると、Pingセンサーは off になります。

ところが、そのままログを見ていると、スリープ中にもかかわらず、一瞬だけ on になることがありました。

もちろん、その直後には再び off に戻ります。

毎回発生するわけではなく、間隔も一定ではありませんでした。


最初に考えた方法

最初は、この一瞬の on を無視するため、

「offが30秒続いたらスピーカーをOFFにする」

という設定にしました。

これでも問題なく動作します。


ログを見直して気付いたこと

その後、何度もログを確認していると、もう一つ気付いたことがありました。

スリープ中には一瞬だけ on になることがあります。

しかし、

起動したときに、一瞬だけoffになることはありません。

つまり、誤判定が起こるのは ON側だけ でした。


現在の設定

そこで、オートメーションを次のように変更しました。

  • PCがスリープしたら、すぐにスピーカーをOFF

  • Pingセンサーが on の状態で5秒続いたらスピーカーをON

この設定にしてからは、誤ってスピーカーがONになることはなくなりました。

しかも、起動時の反応も速くなりました。


おわりに

オートメーションを作るときは、「何秒待つか」を先に考えてしまいがちです。

しかし、実際にログを確認すると、どちらの状態で誤判定が起きているのかが見えてきます。

今回もログを見直したことで、待ち時間を入れる場所を変更し、よりシンプルなオートメーションにすることができました。

コメント

このブログの人気の投稿

TOTOの洗面台の水栓の吐水口網を交換してみた

ソフトバンク光でスマホdeひかり電話

パワーポイントでPDF変換ができない