ESPHome で動作させる
このページは、ESPHome を通じて互換性のある Seeed ePaper 製品を駆動し、Home Assistant と連携させるためのリファレンスマニュアルです。ここでは、すべてのハードウェアで共通する部分を扱います:
- ePaper ディスプレイを駆動する手段として ESPHome を選ぶ理由。
- 2 つの書き込みパス:ESPHome Web Installer(ゼロコンフィグ・ブラウザベース)と ESPHome CLI / HA アドオン(YAML を完全制御)。
- すべての製品が独自のピンマップで特化させる汎用 YAML スケルトン —
wifi、api、ota、display。 - 製品ごとのクックブックの所在(ペリフェラル、ハードウェア固有の lambda、ダッシュボードレシピ)。
「フラッシュ → 接続 → 最初のダッシュボード」までのエンドツーエンドの手順を知りたい場合は、以下のハードウェア別クックブックに直接進んでください。これらのページでは、このリファレンスをボイラープレートとして再利用し、製品固有の例を追加しています。
対応ハードウェア
メインハブページ 上で ESPHome 列にチェックが付いているすべての Seeed ePaper 製品は、このワークフローを実行できます:
| 製品 | MCU | クックブック |
|---|---|---|
| reTerminal E1001 / E1002 / E1003 / E1004 | XIAO ESP32-S3 | Basic · Advanced (peripherals) |
| EE04 driver board | XIAO ESP32-S3 Plus | EE04 ESPHome クックブック |
| XIAO 7.5" ePaper Panel | XIAO ESP32-C3 | XIAO Panel ESPHome クックブック |
| TRMNL 7.5" (OG) DIY Kit | XIAO ESP32-S3 Plus | TRMNL DIY Kit ESPHome クックブック |
TRMNL クラウドダッシュボード(YAML 不要・プラグインベース)をお探しですか?その場合は Work with TRMNL を参照してください。Seeed のノーコード・ビジュアル HMI をお探しの場合は、Work with SenseCraft HMI を参照してください。
なぜ ePaper に ESPHome なのか?
- 省エネルギー — ePaper は画面を更新しているときだけ電力を消費するため、(ESP32 + ESPHome のディープスリープ + ePaper)の組み合わせは、バッテリーで数週間〜数か月動作させることができます。
- 日光下での視認性 — LCD と異なり、ディスプレイは日光下でも読みやすく、壁掛けの Home Assistant パネルに最適です。
- ネイティブな HA 市民 — デバイスが Home Assistant に現れれば、あらゆるエンティティ(空調、カレンダー、センサー、人物、天気)は、壁に表示するまで Jinja テンプレート 1 つ分の距離です。
- ローカルファースト — クラウドもベンダーロックインもありません。すべてがあなたの LAN 上で動作します。
ステップ 1: 書き込みパスを選ぶ
ESPHome ファームウェアは 2 通りの方法でデバイスに書き込むことができます。どちらが適切かは、YAML を最初から書きたいのか、とにかく早く動くダッシュボードを手に入れたいのかによって変わります。
- パス A: ESPHome Web Installer(初めての方に推奨)
- パス B: YAML + ESPHome ダッシュボード(フルコントロール)
事前ビルド済みのファームウェア ZIP が Seeed によってホストされており、WebSerial を介してブラウザからデバイスに書き込まれます。
- デバイスを USB-C ケーブルで PC に接続します。
- Chrome または Edge で、(お使いの製品のクックブックからリンクされている)製品別の書き込みページを開きます。
- Connect をクリックし、シリアルポートを選択してから Install をクリックします。
- 書き込み後、デバイスは Wi-Fi キャプティブポータル(
ESPHome-XXXX)で起動します。そこに接続して Wi-Fi を設定すると、デバイスは ESPHome インテグレーション経由で Home Assistant に現れます。
このパスでは YAML の編集は一切不要 です。後からカスタマイズしたくなった場合は、ESPHome ダッシュボードでデバイスを「採用」することができます。
ファームウェアを完全に制御したい場合(カスタムディスプレイレイアウト、カスタムセンサー、マルチページダッシュボード、ディープスリープ調整、OTA アップデートなど)、ESPHome ダッシュボード を次のいずれかとして実行します:
- Home Assistant の アドオン(すでに HA OS / HA Supervised を運用している場合に推奨)、または
- スタンドアロンの Python CLI(
pip install esphomeの後にesphome dashboard config/を実行)。
ワークフロー:
- ESPHome ダッシュボードで + New device をクリック → 名前を入力 → 適切な ESP バリアント(ESP32-S3 / ESP32-C3 / など — どれかは製品クックブックに記載)を選択します。
- ダッシュボードがスターターの
<device-name>.yamlを生成します。その本体を、クックブックにある製品固有の YAML に置き換えます(形については下のステップ 2 を参照)。 - Install をクリック → 初回の書き込みでは ESPHome を実行しているコンピュータに接続 します。2 回目以降の書き込みは OTA による無線更新です。
- デバイスは自動的に Home Assistant の ESPHome インテグレーションに参加します。
ステップ 2: 汎用 YAML スケルトン
すべての Seeed ePaper ESPHome 設定は、同じアウトラインに従います。お使いの製品のクックブックが、製品固有の部分(substitutions、ピンマップ、画面モデル)を埋めますが、全体の形は常に次のようになります:
substitutions:
device_name: my-epaper
esphome:
name: ${device_name}
friendly_name: ${device_name}
# Pick the right platform for your hardware.
# - reTerminal E Series & EE04 & TRMNL Kit: esp32 with framework: arduino (S3 variant)
# - XIAO 7.5" Panel: esp32 with framework: arduino (C3 variant)
esp32:
board: seeed_xiao_esp32s3 # see your cookbook
framework:
type: arduino
logger:
api:
encryption:
key: !secret api_key
ota:
- platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "${device_name} Fallback"
# SPI bus that drives the ePaper - exact pins come from the cookbook
spi:
clk_pin: GPIO13
mosi_pin: GPIO11
# The display block - the model + pin map are the part that's
# different per product. The cookbook gives you the right values.
display:
- platform: waveshare_epaper
id: epaper
cs_pin: GPIO9
dc_pin: GPIO15
busy_pin: GPIO12
reset_pin: GPIO14
model: 7.50inv2
update_interval: never # we'll trigger refreshes from automations
lambda: |-
it.print(0, 0, id(roboto_24), "Hello, ePaper!");
font:
- file: "fonts/Roboto-Regular.ttf"
id: roboto_24
size: 24
製品固有であり(各クックブックに記載されている)もの:
esp32.board— E1001/E1002/EE04/TRMNL Kit ではseeed_xiao_esp32s3、XIAO 7.5" Panel ではesp32-c3-devkitm-1など。spiとdisplayのピンマップ。modelの値(7.50in-bwr、13.3in-spectra6など)。- 任意のオンボードペリフェラル(ボタン / ブザー / バッテリー / SHT4x)— 対応するクックブックの Advanced セクションで扱います。
ステップ 3: Home Assistant に接続する
ファームウェアが起動して Wi-Fi に参加すると、Home Assistant がデバイスを自動検出します:
- Settings → Devices & services
- ESPHome インテグレーションに、あなたのデバイス用の「Discovered」カードが表示されます。
- Configure をクリックし、API 暗号化キー(
secrets.yamlから)を貼り付けて送信します。 - これでデバイスとそのすべてのエンティティ(sensors、binary_sensors、display)が HA で利用可能になります。
これでエンティティを Lovelace ダッシュボードにドラッグできますし、あるいは — ePaper ではより面白い方法として — display.lambda ブロックを使い、homeassistant コンポーネント経由で任意の HA エンティティを直接画面に描画できます。
次のステップ — クックブック
このページは意図的にボイラープレートまでで止めています。製品固有の YAML、ペリフェラルの例、エンドツーエンドのレシピは、各製品のクックブックにあります:
- reTerminal E シリーズ — Basic ESPHome — 最初のダッシュボード、Wi-Fi 設定、E1001/E1002/E1003/E1004 用の事前ビルド済みファームウェア ZIP。
- reTerminal E シリーズ — Advanced ESPHome — ボタン、ブザー、バッテリー監視、SHT4x センサー、ディープスリープ、マルチページダッシュボード。
- EE04 driver board — ESPHome — XIAO ESP32-S3 + EE04 + 任意の ePaper スクリーンによる完全な Home Assistant 連携。
- XIAO 7.5" ePaper Panel — ESPHome — 最小限の ESP32-C3 ダッシュボード。
- TRMNL 7.5" DIY Kit — ESPHome — TRMNL クラウドプラットフォームの代わりに ESPHome でキットハードウェアを使用する方法。
新しい ePaper 製品が出荷されると、対応するクックブックが各製品フォルダの下に追加され、このメインページからのリンクも更新されます。
よくある問題
書き込み後もディスプレイが真っ白のまま
display.platformとmodelの文字列が画面に合っているか確認してください。モデルが間違っていると、何も表示されないままリフレッシュされます。busy_pinとreset_pinが正しく配線されているか確認してください。busy ラインが浮いていると、すべてのリフレッシュがブロックされます。- カラー ePaper(
spectra6、7-color、bwr)では、最初のリフレッシュに 25〜45 秒かかることがあります。さらにデバッグする前に待ってください。
デバイスが Home Assistant に表示されない
- デバイスが Wi-Fi に参加しているか確認します(ESPHome ダッシュボードのログを確認)。
- YAML に
api:が含まれていること、そして HA 側の暗号化キーがsecrets.yamlと一致していることを確認します。 - インテグレーションを手動で追加します:Settings → Devices & services → Add Integration → ESPHome を選び、デバイスの IP を入力します。
バッテリーの減りが想定より早い
ePaper が省電力になるのは、SoC の残りの部分もスリープしているときだけです。deep_sleep ブロックを追加し(お使いの製品の Advanced クックブックを参照)、update_interval を長くしてください。
特定の製品についてより詳しくトラブルシュートする場合は、そのハードウェア用のクックブックを確認してください。
テクニカルサポートと製品ディスカッション
当社製品をお選びいただきありがとうございます。私たちは、製品をできるだけスムーズにご利用いただけるよう、さまざまなサポートを提供しています。お好みやニーズに合わせて選べる、複数のコミュニケーションチャネルをご用意しています。