ESPHome Device Builder
Project description
ESPHome Device Builder Dashboard
Status: in active development. Roughly alpha, closing on beta. Issues and feedback welcome — please check existing issues / the project board first, and join the Discord channel for live discussion.
A new dashboard for ESPHome — a guided interface for composing device configs, exploring components and boards, managing automations, and pushing firmware updates.
Try it
The dashboard isn't yet wired into the ESPHome container or the Home Assistant add-on as an opt-in preview — that's coming soon. In the meantime:
Install from PyPI:
python -m venv .venv && source .venv/bin/activate
pip install esphome-device-builder
esphome-device-builder ~/esphome-configs
To try a pre-release (beta), pass --pre to pip install.
The server starts on http://localhost:6052. Run with --help for the
full flag set.
Install from a GitHub release
Every build is published to PyPI, so the install above is the preferred path. The same wheels are mirrored on the GitHub releases page — handy as a fallback if PyPI is unreachable.
python -m venv .venv && source .venv/bin/activate
# Replace <version> with a release tag (X.Y.Z stable, X.Y.ZbN beta).
pip install "https://github.com/esphome/device-builder/releases/download/<version>/esphome_device_builder-<version>-py3-none-any.whl"
esphome-device-builder ~/esphome-configs
From source (requires uv):
git clone https://github.com/esphome/device-builder
cd device-builder
script/setup
source .venv/bin/activate
esphome-device-builder ./configs --log-level debug --dev
--dev serves index.html with Cache-Control: no-cache so a
re-deployed frontend wheel isn't masked by a browser-cached SPA
shell pointing at a now-deleted hashed bundle. Hashed bundles
themselves stay immutable regardless. Skip --dev in production —
the browser's default heuristic is fine when you're not rebuilding
every few minutes.
Roadmap
- ✅ Standalone backend with WS-first API, persistent compile queue, mDNS device discovery
- ✅ Curated board + component catalogs (nightly catalog sync from upstream ESPHome)
- ✅ Functional parity with the legacy dashboard
(one intentional decline: the HA Supervisor
/authPOST flow — the new backend's HA add-on path is ingress-only by design, see issue #85) - 🚧 Beta toggle in the official ESPHome container and Home Assistant add-on
- 🗺️ See the project backlog for in-progress work and what's planned next
Documentation
- docs/ARCHITECTURE.md — controllers, event bus, firmware queue, catalog sync, deployment.
- docs/API.md — every WebSocket command, request/response shapes, event types.
- esphome_device_builder/definitions/README.md — contributor guide for board manifests.
Contributing
Contributions welcome — board definitions especially (definitions/README.md).
Every PR needs exactly one label from this set so it lands in the right
release-notes section: breaking-change, new-feature, enhancement,
bugfix, refactor, docs, maintenance, ci, dependencies. CI enforces
the rule via pr-labels.yaml.
Bugs / feature ideas: open an issue and the chooser will route you to the right venue (this repo for dashboard bugs, esphome core for compile/firmware issues, org Discussions for ideas, Discord for chat).
License
Apache-2.0 — Maintained by Open Home Foundation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file esphome_device_builder-0.1.0b15.tar.gz.
File metadata
- Download URL: esphome_device_builder-0.1.0b15.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
429b00edbb5963a867b912efaa29c5c42873b8533521245253c1730573213f5d
|
|
| MD5 |
8b09719a82eca0d62adcbb9092a72c0f
|
|
| BLAKE2b-256 |
9059a0129b5951af8ef6331b9f528e5df172e59098c888d2c77e278eb0f3d427
|
Provenance
The following attestation bundles were made for esphome_device_builder-0.1.0b15.tar.gz:
Publisher:
release.yml on esphome/device-builder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
esphome_device_builder-0.1.0b15.tar.gz -
Subject digest:
429b00edbb5963a867b912efaa29c5c42873b8533521245253c1730573213f5d - Sigstore transparency entry: 1439266114
- Sigstore integration time:
-
Permalink:
esphome/device-builder@62f98827558555852efa5c6be7dd2f579ffde25e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/esphome
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@62f98827558555852efa5c6be7dd2f579ffde25e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file esphome_device_builder-0.1.0b15-py3-none-any.whl.
File metadata
- Download URL: esphome_device_builder-0.1.0b15-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d7202b5b875af5d57889913d7054c035fd535005eccceae5d884d6f3d5f671f
|
|
| MD5 |
acc582c7fad6bc62085b23226975ec51
|
|
| BLAKE2b-256 |
e620c130ce23ab22b927dcc05e9bfd78580117e9404694ed38c6401cfa759d0c
|
Provenance
The following attestation bundles were made for esphome_device_builder-0.1.0b15-py3-none-any.whl:
Publisher:
release.yml on esphome/device-builder
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
esphome_device_builder-0.1.0b15-py3-none-any.whl -
Subject digest:
7d7202b5b875af5d57889913d7054c035fd535005eccceae5d884d6f3d5f671f - Sigstore transparency entry: 1439266122
- Sigstore integration time:
-
Permalink:
esphome/device-builder@62f98827558555852efa5c6be7dd2f579ffde25e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/esphome
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@62f98827558555852efa5c6be7dd2f579ffde25e -
Trigger Event:
workflow_dispatch
-
Statement type: