Goals
Lower the barrier to entry for ESPHome by introducing a graphical, guided configuration interface that complements the existing YAML-based workflow.
Today, ESPHome requires users to directly edit YAML configuration files. While powerful, this approach presents a steep learning curve for users without programming or configuration experience. As ESPHome adoption expands through pre-built devices, starter kits, and broader Home Assistant onboarding, this friction limits who can successfully use and benefit from ESPHome.
This opportunity is important for Home Assistant’s future because:
- It enables ESPHome to scale to a more mainstream audience
- It aligns with Home Assistant’s focus on approachability without sacrificing power
- It supports ecosystem partners delivering ESPHome-based hardware to non-technical users
- It reduces early drop-off and support burden for first-time users
The goal is not to replace YAML, but to make ESPHome accessible to more users while preserving full flexibility for advanced workflows.
Vision
ESPHome should feel approachable on day one, without limiting what users can do on day one hundred.
New users should be able to:
- Create and configure an ESPHome device without writing code
- Discover supported components through a visual interface
- Follow guided setup flows for common use cases
- Understand what their device configuration represents and how it works
Experienced users should:
- Retain full access to YAML at all times
- Seamlessly switch between graphical configuration and raw YAML
- Use the GUI as a productivity, discovery, and validation tool
- Never feel blocked or constrained by the graphical interface
Success looks like:
- A user can unbox an ESPHome-based starter kit, configure it via a UI, and have it working in Home Assistant without touching YAML
- The generated configuration is transparent, readable, and fully compatible with existing ESPHome tooling
- Advanced users can start in the GUI, drop into YAML, and return without loss of fidelity
- ESPHome becomes a viable option for users who previously avoided it due to perceived complexity
Scope & Boundaries
In Scope
- A GUI-based editor for ESPHome configurations
- Visual configuration of common ESPHome components (e.g., sensors, switches, lights, connectivity)
- Guided setup flows and validation for typical use cases
- Clear, reversible mapping between GUI state and YAML configuration
- Integration as a Home Assistant app, with consideration for standalone usage
- Progressive disclosure of complexity based on user needs
Out of Scope
- Replacing YAML as the underlying configuration format
- Supporting all ESPHome components and edge cases in the initial release
- Creating a new or incompatible configuration schema
- Hiding advanced functionality from users who want direct control
- Forking or diverging from core ESPHome behavior
These boundaries are intentionally defined to avoid scope creep while ensuring long-term extensibility.
Plan
The work will be broken down into high-level epics, executed iteratively:
Epic 1: Research & UX Foundations
- Identify the most common ESPHome workflows and pain points
- Define a UI-friendly configuration model that maps cleanly to YAML
- Explore onboarding flows for new users and starter kits
Epic 2: Core GUI Editor
- Device and project creation flows
- Visual configuration of a core set of ESPHome components
- Validation and error feedback during configuration
- Read-only and editable YAML view with bidirectional syncing
Epic 3: Home Assistant Integration
- Deliver the UI as an installable Home Assistant app
- Align with Home Assistant navigation, permissions, and UX patterns
- Ensure compatibility with existing ESPHome workflows
Epic 4: Expansion & Iteration
- Incrementally expand supported components
- Improve advanced-user workflows
- Incorporate community feedback and real-world usage
Prioritization will focus on delivering a usable, end-to-end experience early, then expanding coverage over time.
Related Feature Requests
This opportunity addresses long-standing community interest in improving ESPHome usability and lowering the barrier to entry.
Related and overlapping feature requests include:
Related Epics:
(Exact links to existing Feature Requests should be added here once identified.)
Additional Context
Related prototype and prior art (for inspiration and exploration):
https://github.com/victorigualada/esphome-visual-editor
- This work is especially relevant in the context of upcoming ESPHome-based starter kits and pre-packaged devices targeting non-technical users.
- YAML will remain a first-class citizen throughout the project
Decision Log
No response
Q&A
No response
Goals
Lower the barrier to entry for ESPHome by introducing a graphical, guided configuration interface that complements the existing YAML-based workflow.
Today, ESPHome requires users to directly edit YAML configuration files. While powerful, this approach presents a steep learning curve for users without programming or configuration experience. As ESPHome adoption expands through pre-built devices, starter kits, and broader Home Assistant onboarding, this friction limits who can successfully use and benefit from ESPHome.
This opportunity is important for Home Assistant’s future because:
The goal is not to replace YAML, but to make ESPHome accessible to more users while preserving full flexibility for advanced workflows.
Vision
ESPHome should feel approachable on day one, without limiting what users can do on day one hundred.
New users should be able to:
Experienced users should:
Success looks like:
Scope & Boundaries
In Scope
Out of Scope
These boundaries are intentionally defined to avoid scope creep while ensuring long-term extensibility.
Plan
The work will be broken down into high-level epics, executed iteratively:
Epic 1: Research & UX Foundations
Epic 2: Core GUI Editor
Epic 3: Home Assistant Integration
Epic 4: Expansion & Iteration
Prioritization will focus on delivering a usable, end-to-end experience early, then expanding coverage over time.
Related Feature Requests
This opportunity addresses long-standing community interest in improving ESPHome usability and lowering the barrier to entry.
Related and overlapping feature requests include:
Related Epics:
(Exact links to existing Feature Requests should be added here once identified.)
Additional Context
Related prototype and prior art (for inspiration and exploration):
https://github.com/victorigualada/esphome-visual-editor
Decision Log
No response
Q&A
No response