Skip to content

Add ESPHome device setup checklist - #53781

Draft
MindFreeze wants to merge 3 commits into
devfrom
esphome-device-setup-wizard
Draft

Add ESPHome device setup checklist#53781
MindFreeze wants to merge 3 commits into
devfrom
esphome-device-setup-wizard

Conversation

@MindFreeze

@MindFreeze MindFreeze commented Aug 25, 2026

Copy link
Copy Markdown
Member

Proposed change

Add a device-page setup checklist for ESPHome devices that advertise Bluetooth proxy, audio (media_player entities), Z-Wave proxy, and/or serial proxy capabilities.

After the device is added, a banner on the device page opens a checklist dialog. Later collapses that to a compact reminder under Device info. Rows and copy follow the design prototype, with these overrides:

  • Bluetooth is status-only (no Configure / on-off). Hidden when the firmware has no Bluetooth proxy.
  • Audio is detected from media_player entities, not the capabilities API.
  • Music Assistant Install is Supervisor-only; otherwise Learn more.
  • No Thread in connectivity copy.
  • Nested setup hands off to real Home Assistant flows.

Requires the core capabilities command: home-assistant/core#180135

Related: OpenHomeFoundation/roadmap#191, OpenHomeFoundation/ux-design#59

Screenshots

Full banner (capability pips, Set up / Later):

ESPHome setup banner

Compact reminder under Device info after Later:

Reminder card

Wizard:

Wizard

Configured serial:

image

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (thank you!)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • I understand the code I am submitting and can explain how it works.
  • The code change is tested and works locally.
  • There is no commented out code in this PR.
  • I have followed the perfect PR recommendations
  • Any generated code has been carefully reviewed for correctness and compliance with project standards.

If user exposed functionality or configuration variables are added/changed:

To help with the load of incoming pull requests:

Surface advertised proxy capabilities in a banner and dialog so users can continue Bluetooth, audio, Z-Wave, and serial setup after the device is added.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an ESPHome device setup checklist with persistent reminders and guided configuration flows.

Changes:

  • Adds capability detection and setup-status logic.
  • Adds device-page banner, reminder, and checklist dialog.
  • Adds localized copy and data-layer tests.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
test/data/esphome_setup.test.ts Tests capability and persistence helpers.
src/translations/en.json Adds setup UI translations.
src/panels/config/devices/ha-config-device-page.ts Integrates setup UI and persistence.
src/panels/config/devices/device-detail/ha-esphome-setup-reminder.ts Adds compact reminder card.
src/panels/config/devices/device-detail/ha-esphome-setup-banner.ts Adds setup banner.
src/dialogs/esphome-device-setup/show-dialog-esphome-device-setup.ts Defines dialog launcher.
src/dialogs/esphome-device-setup/dialog-esphome-device-setup.ts Implements checklist and setup flows.
src/data/frontend.ts Defines deferred-setup user data.
src/data/esphome.ts Adds capabilities API types and request.
src/data/esphome_setup.ts Derives capabilities and completion status.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/data/esphome_setup.ts Outdated
Comment thread src/dialogs/esphome-device-setup/dialog-esphome-device-setup.ts Outdated
Comment thread src/panels/config/devices/ha-config-device-page.ts
Comment thread src/panels/config/devices/ha-config-device-page.ts
Comment thread src/panels/config/devices/ha-config-device-page.ts
Comment thread src/dialogs/esphome-device-setup/dialog-esphome-device-setup.ts Outdated
Comment thread src/panels/config/devices/device-detail/ha-esphome-setup-banner.ts
Comment thread src/panels/config/devices/device-detail/ha-esphome-setup-banner.ts
Comment thread src/panels/config/devices/device-detail/ha-esphome-setup-reminder.ts Outdated
Comment thread src/translations/en.json Outdated
Show cached capabilities while offline, wait for user data before the banner, and expose setup status to assistive tech.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed Tests: Unit Related to Vitest unit tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants