見出し画像

【ChatGPT】AIと一緒にHome AssistantのNature Remoカスタムインテグレーションを作ってみた

こんにちは!

今回は「Home AssistantでNature Remoを使ってエアコンを操作するカスタムインテグレーション」を、AI(ChatGPT)と一緒に作った体験を紹介します。

ほぼ対話だけでコードが完成し、エアコンの ON/OFF操作まで実現できたので、そのプロセスをまとめてみました。

ちなみに、Nature Remoは家のリモコンをスマホで操作できるようにするデバイスです。これを各部屋に設置すれば、スマホから照明のON/OFFやエアコンの温度調整ができるようになります。


AIとの開発スタイル(Zero-Shotプロンプティング)

普段なら、カスタムインテグレーションを作るために、

  • Home Assistant の開発環境を整える

  • カスタムインテグレーションのディレクトリ構成を理解する

  • PythonでHome Assistantに対応したコードを書く

  • Nature Remo APIの仕様を調べる

など、事前に調査することが山ほどあります。

でも、今回は「こういうことをやりたい!」と普段の会話のようにAIと対話する方法で、AIがコードを生成する」という開発スタイルで進めました。

例えば、

私:「Home Assistant の Climate を使ってエアコンを操作したい!」
AI:「なるほど!Climateを使えば、温度調整やモード切り替えがしやすくなりますね」
カスタムインテグレーションのディレクトリ構成と `climate.py` の基本構造を提案

私: 「Nature Remo で ON/OFF できるようにしたい!」
AI:「OK! ON/OFF 両方できるように作るよ!」
→ AIが API を呼び出すコードを生成

私: 「エラーが出た・・・(涙)」
AI:「おっと、でも大丈夫だよ!このエラーはね・・・」
AIと一緒にログを見ながらデバッグ

この流れで、最終的にHome Assistant からエアコンの ON/OFF操作ができるようになりました。

このように、簡単な一文でAIに指示を与えてAIに回答してもらうZero-Shotプロンプティングという手法で開発を進めました。

簡単な質問文や依頼文を投げて、回答をもらう方法をひたすら繰り返しました。

コードはすぐに完成!でも、動かすのが大変だった

AIが書いてくれたコードをHome Assistant に組み込んだら、「すぐに動くのでは!?」と思ったのですが…残念ながら動きませんでした!

エラーが次々に発生し、そのたびにAIと一緒に原因を特定して修正していきました。

どんな問題が起きたのか?

1️⃣ Home Assistantのバージョン問題
Home Assistantのバージョンによって動かないコードがあるので、事前にバージョンを伝える必要があった。

2️⃣ Nature Remo APIの仕様に沿って作成できていない
AIが自動生成したコードでは、APIのリクエスト形式が一部間違っていた。

3️⃣ Home Assistantの仕様に沿って作成できていない
カスタムインテグレーションとして認識されるための設定 (manifest.jsonなど) が不足していた。

これらを 「エラーが出たらすぐに共有し、AIと一緒に解決!」という流れで、ひとつずつクリアしていきました。

開発環境もAIと対話しながら構築していきました。

Home Assistant × Nature Remoを扱う上で気づいたこと

今回の開発では「簡単な会話だけでAIにコードを作ってもらうだけでは不十分」だと実感しました。

  • エラーを解決するには、Home Assistantの仕様やAPIの知識が必要

  • Home Assistantのバージョンによって動く・動かないがあるので、環境を明確に伝えることが大事

  • Nature Remo APIは、日本特有の製品なので、AIが完全に把握できない部分もありそう

  • 事前にAPI 仕様やHome Assistantのカスタムインテグレーションの仕組みを知っておくと、スムーズに開発できる

とはいえ、

AIがベースのコードを全部作ってくれたので、カスタムインテグレーション開発のハードルはものすごく低くなった!

というのは間違いありません。


これから追加したい機能

今回作ったカスタムインテグレーションは「エアコンの ON/OFF」まで対応しましたが、次のような機能がまだ足りません。

  • 温度調整機能(希望の温度を設定)

  • 現在の室温取得(Nature Remo のセンサー情報を取得)  

  • 風量や風向きの調整

  • Config Flowを実装して、UIで設定変更できるようにする

これらの機能も、 AIと一緒に開発を進めていきたいと思います。

リモコンのON/OFFと、冷房・暖房の切り替えだけできた状態。ここからさらにエアコン操作に必要な機能を追加します。

まとめ:AIと一緒に作ると、開発が超スムーズ

今回、Home Assistantのカスタムインテグレーションを「AIと会話しながら」作ってみた結果、

  1. やりたいことを伝えるだけで、すぐにコードが生成された

  2. エラーが出ても、一緒にログを見ながら原因を特定できた

  3. AIに質問してからHome AssistantやAPIの仕様を理解することで、開発スピードが加速した

特に、AIがベース部分を作ってくれたおかげで、カスタムインテグレーション開発のハードルはめちゃくちゃ下がりました。

コードを書いていくことも楽しいですが、「AI と一緒に開発する」という新しい体験がとても楽しかったです。

これからも、 AIの活用方法を探りながら、AIと一緒に機能を追加して、もっと便利なカスタムインテグレーションにしていこうと思いました。


いいなと思ったら応援しよう!