在宅検知を使ったスマートホーム自動化では、「端末が応答しない」ことを「人がいない」と読み替えたくなる。しかし、検出器自身やWi-Fiが眠っている可能性を先に除かなければ、その解釈は照明や空調を誤って操作する。そこで、ネットワーク上の在宅判定と室内のCO2記録を突き合わせ、修正後の動作を11日間検証した。
「応答なし」を不在と認める前に
最初の修正は、対象端末のmDNS応答がないだけでは不在と判定しないことだった。mDNSセグメント全体が無音なら、端末が消えたのではなく、検出器側の観測が壊れているかもしれない。セグメントが生きていることを確認したうえで対象だけが応答しない場合に、はじめて不在候補として扱う。この「観測系の生存確認」は、在宅検知に限らず、監視システム全般に適用できる。
さらに、在宅判定が不在側に倒れても、CO2が一定値以上なら照明を消さないゲートを置いた。ここで重要なのは、CO2センサーが人の存在を完全に証明することではない。ネットワーク判定の誤りを、別の物理量が安全側へ差し戻せればよい。
11日間の照合で見えたこと
修正後に記録された1時間以上の不在ストリークは31回だった。このうちCO2記録で照合できたのは8回で、真の不在7回、偽不在1回だった。残る23回はCO2の変化が平坦で、真偽を判定できなかった。ここから「正解率」を計算してはいけない。照合できた8回は、全体から無作為に抽出された標本ではないからだ。ただし、誤判定が起きる条件を具体的に観測する材料にはなる。
偽不在をCO2が止めた一例
ある夕方、スマートフォンだけが約2時間半ネットワークから沈黙した。mDNSセグメントには通信があり、「検出器全体が失明した」とは考えにくい。一見すると不在判定の条件は揃っていたが、CO2は491ppmから594ppmへ上昇していた。システムはCO2が450ppm以上であることを理由に、6回連続で消灯を抑制した。端末が復帰するまで、照明は一度も消えなかった。
この事例の価値は、CO2が人間の存在を精密に推定したことではない。ネットワーク検知の「不在」という解釈に対して、別のセンサーが反証を提出し、その反証を自動化が受け入れたことにある。センサー融合は、全センサーが同じ結論を出すまで待つ仕組みだけではない。危険な操作を止めるための拒否権を設計することでもある。
正しい消灯では、遅延が安全余裕になった
反対に、実際の外出後にはネットワーク判定が先に不在側へ進み、CO2が511ppmから472ppmへゆっくり減衰した。その後、450ppmを下回った時点で消灯が発火した。3回連続判定による約1時間半の遅延は、単なる応答の遅さではなく、室内の空気が追いつくための待ち時間として機能した。
閾値は「谷」ではなく、誤りのコストで決める
観測期間のCO2は最小404ppm、中央値491ppmで、91%が450ppm以上だった。450ppmは分布上の明瞭な谷に置かれた閾値ではない。それでも今回の自動化で機能したのは、閾値を越えたときの動作を「消さない」にしたからだ。閾値が高すぎる場合の損失は消し忘れだが、低すぎる場合の損失は在宅中の誤消灯になる。後者のほうが利用者の信頼を直接壊す。
自動化の閾値は、分類精度だけでなく、間違えたときの被害の方向まで含めて設計したほうがよい。とくに照明、空調、施錠のように利用者へ介入する処理では、「確信が持てないときは何もしない」を明示的な状態として持つことが重要になる。
この検証から得た設計原則
- 対象の不在を判定する前に、観測系全体が生きていることを確認する。
- 異なるセンサーは、同じ結論を出すためだけでなく、危険な操作を止めるために使う。
- 成功回数だけでなく、抑制された回数と判定不能な回数も記録する。
- 閾値は分布の見た目だけでなく、誤判定のコストと方向で決める。
- 検証期間・照合可能な標本・未観測の範囲を明記し、正解率を過大に解釈しない。
今回の結果は、単一の住宅と限られたセンサーによる11日間の観測であり、450ppmという値を一般化するものではない。また、CO2が平坦だった23回の真偽は未確定のままだ。それでも、誤判定をゼロにできない自動化を「誤らない機械」として扱うのではなく、「誤ったときに利用者へ害を与えない機械」として組み立てる方向は、環境が変わっても再利用できる。