Skip to main content

ESPHome Device Builder

Project description

ESPHome Device Builder Dashboard

PyPI version codecov CodSpeed

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 /auth POST 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

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

esphome_device_builder-0.1.0b23.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

esphome_device_builder-0.1.0b23-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file esphome_device_builder-0.1.0b23.tar.gz.

File metadata

File hashes

Hashes for esphome_device_builder-0.1.0b23.tar.gz
Algorithm Hash digest
SHA256 f0b3670cb1d690a9574d898e0b2e38ad7797a637812b00bb7cc9ad20a947d41b
MD5 887d20c255b4ca2daaa132a3944c4147
BLAKE2b-256 6b2cc7d0d81af595c637320efce398ba75d9f0a68450c68475667ee5e74c47b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for esphome_device_builder-0.1.0b23.tar.gz:

Publisher: release.yml on esphome/device-builder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file esphome_device_builder-0.1.0b23-py3-none-any.whl.

File metadata

File hashes

Hashes for esphome_device_builder-0.1.0b23-py3-none-any.whl
Algorithm Hash digest
SHA256 8bd7611310d2e7e8d9896e3a50eea5b5f01e8b7f1f909f3fa7c8c32d70261b4a
MD5 85ddf38f19add173def261e329044b3b
BLAKE2b-256 a1e97f00e6ea19108ca5b3fcc0e0e4e3a7aa82c5e7d1f08e93d29f201637f6b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for esphome_device_builder-0.1.0b23-py3-none-any.whl:

Publisher: release.yml on esphome/device-builder

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page