Native UI Editor for 'packages' / Shared Configuration Files #3503
Replies: 5 comments 2 replies
|
I would also love to have this (and would be interested in working on it as well). Having the Edit view work similarly to most code editors would also be very useful. Having a sidebar to select other yaml files from (maybe even just the active device and the common/packages files) would make having these common configs much much easier. |
|
I would also need a feature like this. Initially, it would be enough to just show files from folders, not only root ESPHome files. For such files, flashing to devices should be disabled; they should just be treated as packages. |
|
files referenced from packages should turn into hyperlinks in the editor. double-clicking them should load them in a new window. |
|
Is this a duplicate of #3363 ? can it be merged and upvotes summed? |
|
Please add clickable hyperlinks on !include references in the CodeMirror YAML editor, so clicking an include jumps to that file and opens it for editing (with a back-link to each device that uses it). |
Uh oh!
There was an error while loading. Please reload this page.
Describe the enhancement
I propose adding a dedicated "Packages" (or "Library") menu item to the Dashboard header, located next to the existing "Secrets" button.
Desired Behavior:
Dedicated Editor: Clicking "Packages" opens a file list/editor for YAML files located in a specific subdirectory (e.g., ./packages, ./common, or ./templates).
Exclusion Logic: The Dashboard should automatically ignore .yaml files in this designated folder when scanning for devices. This prevents partial configuration files (which lack esphome: or wifi: blocks) from appearing as broken/offline "Ghost Devices" in the main device grid.
Create/Edit Flow: Allow users to create and edit new package files directly from this view, similar to how the Secrets editor currently works.
Use cases
I am currently managing a "fleet" of 6 identical Adax heaters. To keep the configuration maintainable, I want to use the packages feature to keep the logic in a single base_package.yaml while keeping the individual device files minimal (containing only substitutions for Hostname/IP).
Visual examples
Current "Workaround" File Structure:
config/
esphome/
heater-kitchen.yaml (Device - Visible in Dashboard)
heater-office.yaml (Device - Visible in Dashboard)
packages/
adax_base.yaml (Package - Hidden, but not editable in UI)
Proposed UI: A simple button next to "Secrets" at the top right of the dashboard: [Validate] [Install] [Logs] ... [Secrets] [Packages]
Anything else?
This relates to the broader need for better file management within the Dashboard for advanced configurations. Alternative solutions considered:
File Editor Add-on: Works, but requires context switching and breaks the "single pane of glass" workflow.
Ignore Patterns: Simply allowing a .esphomeignore file would solve the "Ghost Device" issue, but does not solve the inability to edit those ignored files within the native UI.
All reactions