はじめに
最近、ホームオートメーションの設定を再びはじめた. 過去に2回ほどチャレンジしたが、今回は3回目. とりあえず2019年ごろに購入した Google Homeの再設定あたりからはじめることにした.
Agent時代のホームオートメーションといえば、設定の自動化だろう. いろんな情報を検索して API/CLI/MCPを駆使して自律的に設定してくれる.
そして、もう一歩先に進むためにホームオートメーションの動作確認も自動化することにした.
やりたいこと: ただいま試験の自動化
「OK Google、ただいま」と言うと、部屋の電気が点き、「おかえりなさい」と返事を返す。
この動作を、外出先のカフェから無人で自律的に検証したい.
人間であるわたしが声を出すことがAI時代にはスマートさに欠ける. わたしがカフェでお茶でも飲んでいる間にただいま機能をセットアップしたい.
構成
開発PC(外出先)
agent(Claude Code)、Waydroid の Google Home アプリ
自宅サーバー(tailnet 経由で接続)
Home Assistant、Matter Hub、VOICEVOX
部屋
Google Home, SwitchBot 電球 ×3
フロー
声 → Google スピーカー → Google のルーティン → Matter Hub → Home Assistant の script → SwitchBot 電球
- 自宅サーバーで、Home Assistant と Matter Hub(HA の entity を Google Home に見せるブリッジ)を Docker で動かしている
- HA に script.tadaima / script.ittekimasu を作り、Google からはコンセント型の機器に見せている
自宅を無人にして自律的におかえりなさい試験
外出先から設定の動作確認をするには、目と口と耳の代替が必要. 部屋にUSBカメラを設置、さらに2台のマイクを用意した(PC内蔵マイク、Google Home).
おかかりなさいの確認
自宅サーバにいれたVOICEBOXのずんだもんの声で「ただいま」とPC内蔵マイクから再生すると、 Google Homeでそれを認識し、あらかじめ登録したオートメーションが起動して「おかえりなさい」という.
さらに一連の音声を録音して、Agentで音声解析またはわたしが自宅からの音声をストリーミングして耳で確認
照明の確認
カメラ映像をカフェにストリーミングすることでスマート電球が付いたことを目視確認、さらにはAgentからのスナップショットによる点灯確認の自動化.
Google Homeアプリの制御はAndroidエミュレータの自動操作によって実現. もちろんHome Automationのログも確認.
感想
物理世界のループを閉じる
数ヶ月前からループエンジニアリングという話題が流行っていて、簡単なアプリをつくるならばかなり人間が介在しないでもできることが増えてきた.
物理世界だと、目視確認とか音の確認という課題がある. しかし、今回の取り組みによって、簡単な視覚や聴覚のテストができることができた.
自動試験では、「ただいま」に対して「おかえりなさい」と2回言われてしまう不具合があったが、Agentが自律的に判断して修正のループを回して解決した。もし人間が「おかえりなさい」と2回言われたらイライラして心拍数が上昇してしまうところだった.
わたしが留守のうちにぬいぐるみたちが会話し始める未来へ
「こんにちは!」「こんにちは」や「今何時?」「今は3時です」のような、対話試験も自動化することができた.
これによって私がカフェでお茶している間に、わたしの自宅ではずんだもんとGoogle Assistantが愉快に会話しはじめて電気がチカチカ光ることに未来を感じて興奮した.
おそらくこの延長で、わたしの留守の間にAIたちが楽しく会話し始めることは技術的に可能だ. もっといえば、わたしの家にはぬいぐるみたちがいるので彼らが会話し始める未来もすぐそこまで来ている.