ブログへ戻る

AstrBot / Home Assistant / IoT

AstrBot から Home Assistant を操作するための権限と監査設計

チャット経由のスマートホーム操作に向けたデバイス一覧、権限、監査モデル。

チャットボットがスマートホーム機器を操作する場合、最も重要なのは権限境界です。自然言語操作は便利ですが、デバイス状態、サービス呼び出し、メッセージ送信元を明示的に記録する必要があります。

プロジェクト概要

main.py/ha/ha_ping を処理します。home_assistant_control では、クライアント、設定、権限、エンティティ一覧、別名解決、自然言語ルーティング、サービスルーティング、監査、trace を分けています。

用途は、AstrBot から制限付きで Home Assistant のエンティティを照会、操作することです。状態確認、低リスクな照明操作、監査付きのスマートホーム操作に向いています。

実装

起動時にエンティティを取得し、ID、表示名、ドメイン、利用可能サービス、別名を持つローカル一覧を作ります。入力はまずデバイスと動作に照合され、サービス呼び出しへ変換されます。

一般的な操作はルールで処理します。LLM 解釈は補助に留め、その出力も権限 profile とサービス許可リストを通ってから実行します。