esphome-device-builder
ESPHome Device Builder
What it is and what it does
ESPHome Device Builder is a modern web dashboard for the ESPHome IoT firmware framework. It replaces manual YAML editing with a guided interface for configuring devices, composing automations, exploring available components and boards, and managing firmware builds and deployments. The package ships as the default dashboard in the official ESPHome Home Assistant add-on (as of ESPHome 2026.6.0) and as an opt-in backend in ESPHome Desktop; it also runs standalone on PyPI for developers and headless servers.
The dashboard depends on aiohttp for async HTTP serving, zeroconf for mDNS device discovery, cryptography for secure operations, and several YAML and serialization libraries (ruamel.yaml, orjson, mashumaro) to handle configuration I/O. It binds to localhost:6052 by default in standalone mode and serves a frontend built from esphome-device-builder-frontend. On Windows, builds are routed to a short path to avoid exceeding path length limits during deep compilation. The package is actively maintained, reached stable status at 1.0, and carries no known security vulnerabilities.
Use it for:
- Set up and configure devices through a web UI instead of writing YAML by hand.
- Discover devices on your local network and manage their firmware updates from a central dashboard.
- Compose home automation rules and automations without editing configuration files directly.
- Run the dashboard in a Docker container or Home Assistant add-on for centralized device management.
- Deploy the dashboard on a headless server or development machine to compile and flash multiple devices.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ESPHome Device Builder is a web dashboard for composing device configurations, managing automations, and deploying firmware updates through a guided interface instead of hand-editing YAML.
Yes. The package is actively maintained, carries no known vulnerabilities, and has low install friction. It is stable (1.0+) and ships as the default dashboard in the official ESPHome add-on. Install it if you want a guided web interface for device configuration instead of hand-editing YAML, or if you are already running ESPHome and want to try the new dashboard. The Apache-2.0 license is permissive. Requires Python 3.12 or later.
Install
esphome-device-builder on PyPI
pip
pip install esphome-device-builderuv
uv add esphome-device-builderpoetry
poetry add esphome-device-builderInstalling esphome-device-builder
Before you install
Low install friction with a pure-Python wheel. Active maintenance—released 2026-08-12, last commit 2026-08-14. Requires Python 3.12 or later. The 15 runtime dependencies include aiohttp, cryptography, and zeroconf for network operations; no compiled extensions in the core package itself.
License in practice
Apache-2.0 permissive license. You can use, modify, and distribute the package freely in commercial or private projects; attribution is required but no copyleft obligations apply.
Quickstart
python -m venv .venv && source .venv/bin/activate
pip install 'esphome-device-builder[esphome]'
esphome-device-builder ~/esphome-configs
Requires Python 3.12 or later. The [esphome] extra installs the upstream esphome compiler; omit it if running under Home Assistant add-on or ESPHome Desktop.
Verify before relying
- Whether the dashboard's device discovery and network features work reliably across different network topologies and firewall configurations.
- Performance characteristics when managing large numbers of devices or complex automations.
- Compatibility with custom ESPHome components not bundled in the official distribution.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 15 — esphome-device-builder-frontend, aiohttp, aiohttp-asyncmdnsresolver, colorlog, cryptography, fnv-hash-fast, ifaddr, icmplib, mashumaro, orjson, pywin32, pyyaml, ruamel.yaml, voluptuous, zeroconf |
| Maintenance | actively maintained — 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 140,105/month — #11,276 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: esphome_device_builder-1.9.6-py3-none-any.whl
Tags
More Home Automation packages
Represents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
homeassistantHome Assistant is an open-source home…
permissive · top 5,000 on PyPI
python-statemachineDefines finite state machines and statecharts…
permissive · top 5,000 on PyPI
btsocketA Python library for controlling BlueZ…
permissive · top 15,000 on PyPI
aiohomematicAn async Python library for controlling and…
permissive · top 15,000 on PyPI
hass-web-proxy-libProvides base classes and utilities for Home…
permissive · top 15,000 on PyPI
esphome-dashboardESPHome Dashboard is a web-based frontend for…
permissive · top 15,000 on PyPI
esphome-device-builder-frontendProvides a prebuilt web frontend for the…
permissive · top 15,000 on PyPI
esphomeESPHome configures and controls…
permissive · top 15,000 on PyPI
ha-mcp-devAn MCP server that lets AI assistants control…
permissive · top 15,000 on PyPI
bleak-esphomeProvides a Bleak backend that proxies Bluetooth…
permissive · top 15,000 on PyPI
esp-idf-sizeAnalyzes statically allocated RAM and binary…
permissive · top 5,000 on PyPI
ha-mcpProvides a Model Context Protocol (MCP) server…
permissive · top 15,000 on PyPI
home-assistant-frontendProvides the web-based user interface for Home…
permissive · top 15,000 on PyPI
aioesphomeapiAsync Python client library for communicating…
permissive · top 5,000 on PyPI
optuna-dashboardProvides a real-time web dashboard for…
permissive · top 15,000 on PyPI