ドアチェッカーを運用して一ヶ月(2019/1/7〜)が経過しました。ボタン電池はまだ生きています。
ついにドアチェッカーを実際に使い、家に戻らず施錠されていることを確認した。大勝利。
— YU2TA7KA (@UGKGbrothers) 2019年2月3日
課題
製作当初からの課題で、ユーザが問い合わせたら検知機能を実行するため、「最大30秒待たないと応答が返ってこない仕様」がありました。これをすぐに応答するようにしました。
解決策
ThreadPoolExecutor クラス を利用して、状態検知処理を動かし続けます。状態通知要求(「閉まってる?」)を受信したら、直近の施錠状態を通知します。そのため、施錠状態検知間隔の30秒以内に状態変化したら、それを知ることはできません。ドアを閉めたかどうか不安になるのは、30秒以上経過してからと思われるので問題は無いです。
ソースコード
githubにコミットしました。
github.com
スクリーンショット
おわりに
今回の対応で運用課題は一通りクリアできました。あとはもうちょい見た目をましにできればベターです。
5/6追記(電池について)
ドアチェッカーの電池が4/29に切れていることを確認しました。4/21は動作していることを確認しているので、約4ヶ月弱は保ちました。新品であればもっと保つでしょう。