
M5Stack公式スタックチャンファームウェアのAIエージェントを使って、Nature Remo Lapis経由でエアコンを操作できるようにしてみました。
tl;dr
- M5Stack公式スタックチャンのファームウェアには、MCPが利用できるAIエージェントが使えるようになっています
- MCPで、ホームオートメーションプラットフォームであるHome Assistantと連携できます
- Nature Remo Lapisを使うと、赤外線リモコンで操作する機器をMatter対応デバイスとしてHome Assistantで操作できるようになります
- これらを組み合わせることで、スタックチャンからエアコンのオンオフを操作できました

M5Stack公式スタックチャン
スタックチャンは、ししかわさんが開発するM5Stackコアモジュールを使ったオープンソースハードウェアのコミュニケーションロボットプロジェクトです。
M5Stack公式から、スタックチャンの筐体が発売されることになりました。 以下は現在の一般発売のプレオーダーページです。
StackChan: Kawaii Co-Created Open-Source AI Desktop Robotshop.m5stack.com
筆者もクラウドファンディングで支援し、製造された1体が昨日手元に届きました。
家にもスタックチャン届いた!
— 74th (@74th) 2026年5月1日
ひとまず起動確認まで pic.twitter.com/MUmpSSymN0
公式ドキュメントには、AIエージェントからHome Assistantプラグインを介して、Home Assistantで登録されているデバイスが操作できるようになると書いてあったので、早速試してみました。
出荷時ファームウェアに、AIエージェントが組み込まれている
スタックチャンはスマートフォンアプリでセットアップして、Wi-Fiに接続できるようになると、AIエージェントアプリが利用できるようになります。 セットアップ方法は公式ドキュメントを参照してください。
このAIエージェントは、現在のところ無料で利用できます。 XiaoZhiというプロジェクトで、個人は無料で利用できるAIエージェントが提供されており、そちらに接続しているようです。
画面を触るか、「Hi! StackChan」と話しかけると、AIエージェントが起動して対話できます。 比較的応答が早く、会話を楽しめました。
XiaoZhiではMCPが利用できる
XiaoZhiでは、MCP(Model Context Protocol)が利用できるようになっています。 詳細はよく分からないのですが、XiaoZhiで提供されるWebSocketのAPIに接続すると、AIエージェントからMCPの仕組みで情報をやりとりできるようになっているようです。
通常MCPと聞くとエージェントクライアントからMCPサーバーに接続するイメージですが、XiaoZhiではMCPサーバー側からエンドポイントに接続すると、エージェントクライアントから使ってもらえる仕組みのようです。
このエンドポイントは、スタックチャンのスマートフォンアプリから確認できます。 Settings → MCP を押すと、「Access point address」が表示されます。
公式ドキュメントでは、Home Assistantと連携するMCPのソースコードが紹介されていました。 こちらを使ってみようと思います。
Nature Remo LapisをMatterデバイスとして使う
Nature Remo Lapisは、Nature社が発売するスマートリモコンです。 赤外線リモコンの家電を、Matterデバイスにすることもできます。
Nature Remo Lapisshop.nature.global
スマホから様々な家電にアクセスできるようになって非常に便利な商品ですが、WebAPI経由でアクセスする機能が提供されており、お家IoTの製作にも重宝しています。
Home Assistantとは
Home Assistantは、オープンソースのホームオートメーションプラットフォームです。 Home Assistantは、様々なスマートホームデバイスと連携できるようになっており、ユーザーは自分のスマートホームを一元管理できるようです。
筆者は名前を知っていましたが、実際に使ったことがなく、スタックチャンにエアコンを操作できるところまでやってみようと思いました。
Home Assistantでは、Home Assistant OSという、Raspberry PiなどにまるっとインストールするOSが提供されていて、その利用が推奨されているようです。 筆者は、Dockerコンテナとしても利用できるということで、LinuxマシンでDockerコンテナの構築を行いました。 公式ドキュメントにはWindows上にVirtualBox、Hyper-Vを用いて、Home Assistant OSを構築する方法が書かれています。
LinuxマシンにDockerコンテナとしてHome Assistantを構築する
筆者はLinuxマシン(Ubuntu 24.04)にDockerコンテナとしてHome Assistantを構築しました。 公式ドキュメントにも手順が書かれています。
以下のようにDocker Composeファイルを作成して、起動しました。
# compose.yml
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /var/opt/home-assistant:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
restart: unless-stopped
privileged: true
network_mode: host
environment:
TZ: Asia/Tokyo
matter-server:
container_name: matter-server
image: ghcr.io/home-assistant-libs/python-matter-server:stable
volumes:
- /var/opt/home-assistant-matter-server:/data
- /run/dbus:/run/dbus:ro
restart: unless-stopped
network_mode: host
security_opt:
- apparmor=unconfined
environment:
TZ: Asia/Tokyo
ドキュメントにあるDocker Composeの例に、以下を追加しました。
- volumesのconfigの指定を
/var/opt/home-assistantに変更。このディレクトリに構築したデータは全て出力されるようです。 - environmentのTZに、Asia/Tokyoを指定。
- matter-serverのサービスを追加(参考)
Home Assistant OSでは、Matter Serverが含まれていますが、Dockerコンテナには含まれていないため別途追加が必要でした。
以下のコマンドで起動し、http://<IPアドレス>:8123 でHome AssistantのWeb UIにアクセスできるようになりました。
# 起動 docker compose up -d # 起動確認 docker compose ps
なお、Windows、macOSのDocker Desktopでも同様の構築が可能かどうかは確認していません。 さまざまなネットワークやBluetooth上のデバイスを検出して動作する仕組みを持っているようなので、Windows、macOSのDocker Desktopでは動作しない可能性が高いと思います。
Home Assistantから、XiaoZhiのMCPエンドポイントに接続する
HACSをインストール
まず、Home Assistantにプラグインを追加できるHACSをインストールします。 HACSの導入方法は下記に公式ドキュメントがあります。
筆者のDockerで構築した場合についても、記述がありました。
# コンテナのIDを確認 docker ps # コンテナのBASHに入る docker exec -it <コンテナ名> bash # ダウンロードスクリプトを実行 wget -O - https://get.hacs.xyz | bash -
ダウンロード後、Home Assistantのコンテナを再起動しました。
docker compose restart
その後、Home AssistantのWeb UIにアクセスし、HACSの初期化が必要になります。 以下のドキュメントに記述があります。
「設定->デバイスとサービス->統合タブ->統合を追加ボタン->HACS」を選択して追加します。 ダイアログのチェックボックスにチェックをいれ、その後の画面でGitHubの認証(おそらくプラグインを取得するため)を行うと、セットアップが完了します。
MCP Server for Xiaozhiのインストールと設定
XiaoZhiのMCPエンドポイントに接続するためのプラグイン、MCP Server for Xiaozhiをインストールします。 以下のリポジトリのREADMEにある「OPEN HACS REPOSITORY ON MY (マーク)」をクリックします。
すると、リダイレクトでHACSを開くためのページが表示されます。 このページ下部の「Your instance URL」をペンマークで変更し、Home AssistantのWeb UIのURLを入力します。 そして、Open linkをクリックすると、Home AssistantのWeb UIが開き、インストールします。
インストール後にHome Assistantの再起動が求められるため、Web UI上から行う(設定->開発者ツール->確認して再起動)か、Dockerコンテナを再起動します。
次に、MCP Server for Xiaozhiに、MCPエンドポイントのURLを設定します。
「設定->デバイスとサービス->統合タブ->統合を追加ボタン->MCP Server for Xiaozhi」を選択します。
「Input WebSocket Access Point For XiaoZhi Ai」の欄が表示されるため、スタックチャンのスマートフォンアプリのSettings->MCPから確認したMCPエンドポイントのURL( wss://api.XiaoZhi.me/mcp/?token=xxxx )を入力します。
正しく接続できている場合、スタックチャンのスマートフォンアプリのSettings->MCPに、Access Point Statusの項目が表示されるようになります。 これが使えるツールのリストのようです。

Home Assistantでいくつかのデバイスを認識できていれば、「デバイスのリストを取得して」と伝えると、リストアップしてもらえるようになりました。
Home Assistantで、Matter経由で、Nature Remo Lapisを操作できるようにする
Home Assistantを、Matter Serverに接続する必要があります。 Home Assistant OSを利用している場合は、Matter Serverは同梱されているため、特に追加の設定は必要ないかもしれません。
「設定->デバイスとサービス->統合タブ->統合を追加ボタン->Matter」を選択します。
Matter ServerのWebSocketのURLを入力するように求められます。
筆者の構築の場合は、ws://<IPアドレス>:5580/ws で接続できました。
これでHome AssistantがMatter Serverに接続した状態になります。
Home Assistantに、Nature Remo LapisをMatterデバイスとして追加します。 「設定->デバイスとサービス->デバイスタブ->デバイスの追加ボタン->Matterデバイスの追加」を選択します。 「デバイスはすでに別のMatterコントローラーに追加されていますか?」とダイアログが出ますが、筆者のNature Remo LapisはGoogle Homeに接続している状態だったため、「はい。既に使用されています。」を選択し、「その他コントローラー」を選択しました。 すると「セットアップコードを入力」のダイアログが表示されます。 Nature Remo LapisのAndroidアプリNature Homeを開き、「設定(右上の歯車)->ホームから接続したいものを選択->デバイスからRemo Lapisを選択->Matter連携からMatter連携をする」を選択し、ペアリング用のコードを表示しました。 このコードを、「セットアップコードを入力」のダイアログに、ハイフン付きの数値で入力します。 入力が完了し、セットアップが完了すると、「設定->デバイスとサービス->デバイスタブ」にNature Remo Lapisで認識しているデバイスが表示されるようになります。

スタックチャンから確実に操作するためのHome Assistantの設定
これで、スタックチャンから操作できるようになります。 しかし、このAPIではデバイスの名称を正しく認識して指示する必要があり、エアコンをそのまま指示できませんでした。 そのため、以下の2つのことをやりました。
余計なデバイスを無効にする
Home Assistantは多くのデバイスを認識します。 Google Homeだったり、ネットワークに接続されたスピーカーが検出されていました。 MCPではこれらのデバイスが同列に見えます。 操作して欲しくないデバイスを無効にして、見えるデバイスが減るようにしました。
「設定->デバイスとサービス->デバイスタブ」から、不要なデバイスをクリックし、そのデバイスの画面の右上の「編集ボタン(鉛筆マーク)」をクリックし、ダイアログから「デバイスを有効にする」のチェックを外して、更新を押します。 これを、不要なデバイスの数だけ繰り返しました。
デバイスのエリアと名前を設定する
Home Assistantでは、デバイスにエリアが設定され、指示にはエリアも引数として必要になります。 日本語で指示するため、日本語のデバイス名とエリアを設定すると良いと思われます。
「設定->エリア、ラベル、ゾーン」を開くとリストが表示されます。 確か最初のうちは「リビングルーム」になっていたため、編集ボタン(鉛筆マーク)をクリックし、呼びやすい「リビング」に変更しました。
「設定->デバイスとサービス->デバイスタブ->設定したいデバイス」をクリックし、そのデバイスの画面の右上の「編集ボタン(鉛筆マーク)」をクリックします。 ダイアログから「エリア」を先ほど設定した「リビング」に変更し、名前欄も、デバイス名もわかりやすいものに変更して、更新を押します。 筆者は、エリア「リビング」、名前「エアコン」にしました。
スタックチャンに指示する
スタックチャンのMCPを使って、正確に「エリア」と「名前」を指定してMCPのAPIをAIに呼び出してもらう必要があります。 まずは「デバイスのリストを教えて」と指示して、認識されているデバイスを確認します。 その後、AIがデバイスのリストを把握した状態で、「リビングのエアコンをオンにして」と伝えると、操作できました。
出荷時 #スタックチャン ファームウェアのAI Agent→Home Assistant用MCP→Home Assistant→Matter Server→Nature Remo Lapis→エアコン の疎通で、エアコンのオンオフが指示が動きました!
— 74th (@74th) 2026年5月2日
設定方法は後ほどブログにまとめます https://t.co/t5CGuXnbik pic.twitter.com/uMOKCvDVNN
実際にエアコンからリモコンを受信したときの「ピッ」という音も聞こえてきて、動作が開始しました。 Nature Homeアプリ上でも、エアコンのステートが変わっているのを確認できました。
筆者のところでできていないこと
エアコン操作で、現在できているのは以下の3パターンの指示です。
- エアコンをオンにする
- エアコンをオフにする
- エアコンの温度をXX度にする
冷房、暖房、送風のモード切り替えは実現できていません。 オンにしたときのモードはNature Remoが管理している、前回のモードのようです。
スタックチャンアプリ上のMCPのところにツールのリストが表示されていると言いました。
このツール上でエアコンの操作に利用できそうなものは以下の3つです。
- HassTurnOn(オン)
- HassTurnOff(オフ)
- HassClimateSetTemperature(温度設定)
つまりこのMCPではモードの切り替えに対応できていません。 MCP側にこれらのツールが登録されているわけではなく、Home AssistantのBuilt-in intentsから使えるものをツールとして登録しているようです。
HassClimateSetTemperatureの項目を見ると、引数には「temperature」しかなく、モードは切り替えられそうにありません。 おそらく現在の構成では上記のようなことしかできないと思われます。
現在のMCP、Home Assistantの制限で、いくつか制約があることがわかりました。
使ってみて感想
M5公式アプリでスタックチャンをAIエージェントとして使ってみた感想はいくつかあります。
- なでるなどの操作に反応してかわいいです
- エージェントの応答が速い!
今感じている不具合はいくつかありますが、愛嬌という感じがします。
- 「Hi, StackChan!」のウェイクワードの打率が3割くらい(私が作ったファームウェアより反応が悪い気がします)
- レスポンスの文が、英語がはさまると口調が変わる。時々日本語ではなく中国語として発音される。
試していた過程
Home AssistantとNature Remo Lapisの連携を、最初のうちはななりんさん(@NaNaRin_ks)製作の、プラグインを試していました。
こちらでは、エアコンのデバイスに対して、オンオフする操作ができなかったため、コードをforkして機能を足していました。
このようなことをしていたところ、Kenta IDAさん(@ciniml、Nature Remoデバイスの開発に携われている方)からMatterを使えばできるのではないかとアドバイスをいただき、今回の構成を試すことになりました。 Matter連携で、すんなりエアコンを操作できるようになりました。 改めて、Nature Remo Lapisは良い製品だと感じました。
拙著『お家AIエージェントスタックチャン召喚術』の紹介
最後に、このテーマで少し紹介をさせてください。
筆者は、2026年4月に「お家AIエージェントスタックチャン召喚術」という同人誌を頒布しました。 こちらは、自作ファームウェアを作り、Claude Agent SDKと連携して、家電の操作を行わせるAIエージェントに、スタックチャンを仕立てることをテーマにしています。
この書籍の過程で開発した、Claude Agent SDKと連携するファームウェアとサーバーのコードは、オープンソースとして公開しています。
まだ改良中ですが、独自に拡張したAIエージェントスタックチャンを構築したいと思ったら参考にしてみてください。