このチュートリアルでは、ESPHome Device Builder を使用して ESPHome の設定を作成し、ファームウェアをコンパイルしてデバイスに書き込む方法を説明します。
1.12.4およびESPHome 2026.8.1に基づいています。バージョンによってボタン名や配置が多少異なる場合がありますが、基本的な操作手順は同じです。ESPHome Builderを開きます。+ Create deviceをクリックします。初回はページ上のAdd new deviceをクリックしてもかまいません。
Create configurationウィンドウでCreate new projectを選択します。
Connect your boardをクリックして自動検出を試します。Generic ESP32 Boardなどの汎用ボードを使用します。Finish setupをクリックします。
living-room-sensorのように、設置場所または用途が分かる短い名前を使用してください。デバイス名はネットワークホスト名の生成に使用されるため、小文字、数字、ハイフンのみを使用してください。プロジェクトを作成すると、ESPHomeは最小限の設定を生成します。右側のエディタでYAMLを編集します。左側のCore configuration、Components、Automationsから設定項目を確認または追加できます。
デフォルト設定には通常、次の項目が含まれます。
| 設定項目 | 用途 |
|---|---|
esphome | デバイス名と表示名を設定 |
esp32 / esp8266 / rp2040 | チップ、ボード、フレームワークを設定 |
logger | デバッグ用の実行ログを出力 |
api | Home Assistantからの接続を許可 |
ota | ネットワーク経由のファームウェア更新を許可 |
wifi | Wi-Fiとフォールバックアクセスポイントを設定 |
captive_portal | フォールバックアクセスポイントに設定画面を提供 |
api.encryption.keyは保持してください。これはデバイスとHome Assistant 間のAPI 通信を暗号化します。実際のWi-Fiパスワード、APIキー、OTAパスワードを公開リポジトリ、スクリーンショット、フォーラムに掲載しないでください。Componentsパネルから直接選択できます。M5Stack 製品で使用する一部のコンポーネントはGitHubの外部リポジトリで提供されています。YAMLエディタでexternal_componentsを使用してリポジトリを追加してから、対応するコンポーネントを設定してください。以下の例を参照してください。センサー固有のパラメータと使用方法は、対応するESPHomeコンポーネントページを確認してください。Unit TMOS PIRを例に、まずESPHomeコンポーネントリポジトリを読み込みます。
external_components:
- source: github://m5stack/esphome-yaml/components
components: [sths34pf80]
refresh: 0s 読み込み後、適切なESPHomeプラットフォーム設定でこのコンポーネントを使用します。製品ごとの正確なプラットフォーム名、パラメータ、エンティティ設定は、対応するコンポーネントページを参照してください。
編集が完了したら、右下のSaveをクリックします。エディタに構文またはコンポーネントエラーが表示された場合は、コンパイルを続行する前に修正してください。
Installをクリックします。
インストール方法を選択する際は、次の表を参照してください。
| インストール方法 | 用途 | 前提条件 |
|---|---|---|
Plug into this computer | 初回書き込み。ブラウザを実行しているパソコンに接続 | WebSerial 対応ブラウザ、USBデータケーブル、HTTPSまたはlocalhostページ |
Plug into your Home Assistant server | Home Assistantホストに直接接続 | ホストがUSBシリアルポートを認識し、ESPHomeからアクセスできること |
On the network | 以降のOTA 更新 | ESPHomeファームウェアが動作中で、オンラインかつOTAが有効であること |
Plug into this computerはブラウザを開いているパソコンを指します。Plug into your Home Assistant serverはHome Assistantを実際に実行しているサーバーを指します。Home Assistantにリモートアクセスしている場合、通常は別のマシンです。初回の書き込みにはこの方法を推奨します。
Plug into this computerを選択します。Successfully compiled programと表示されたら、Open USB flasherをクリックします。
firmware.factory.binが受信されていることを確認し、Connect & installをクリックします。
Connectをクリックします。
一般的なシリアルポート名は次のとおりです。
cu.usbmodem... または cu.usbserial.../dev/ttyUSB... または /dev/ttyACM...COM...ブラウザを実行しているパソコンではなく、Home AssistantホストにデバイスをUSB 接続する場合に使用します。
Plug into your Home Assistant serverを選択します。/dev/ttyUSB0または/dev/ttyACM0)を選択します。対象ポートが表示されない場合は、次を確認してください。
この方法は、ESPHomeファームウェアがすでに動作し、デバイスがオンラインの場合にのみ使用できます。
On the networkを選択します。初回書き込み、オフライン状態、ネットワーク設定変更後に再接続できない場合、またはOTA 設定を削除した場合は、USBで復旧してください。
コンパイル結果ページのDownloadをクリックするとファームウェアを保存できます。初回の完全な書き込みには通常firmware.factory.binを使用します。firmware.ota.binはOTA 更新用であり、初回書き込み用ファイルの代わりには使用しないでください。
手動で書き込む前に、ファイル形式、チップモデル、Flash 設定、書き込みアドレスを確認してください。製品固有の説明がない場合は、可能な限りESPHomeのUSBフラッシャーを使用してください。
書き込み後、ESPHome Webにインストールの進行状況と再起動状態が表示されます。
ファームウェアが起動してネットワークに接続すると、Home Assistantは通常 ESPHomeデバイスを自動検出します。
Settings -> Devices & servicesを開きます。
Discoveredに表示されたESPHomeデバイスを見つけ、Addをクリックします。
Submitをクリックします。
Areaを選択してFinishをクリックします。
Home Assistantがデバイスを自動検出しない場合:
Add integrationをクリックし、ESPHomeを検索します。living-room-sensor.local)またはIPアドレスを入力します。api.encryption.keyに対応するキーを入力します。
loggerが有効です。IPアドレスが表示されない場合は、デバイスがWi-Fiに接続されていることを確認し、シリアル接続とログ出力設定を確認してください。