Skip to content

Layout Backup and Restore

jv edited this page Jun 3, 2026 · 2 revisions

Layout: Backup & Restore

Your dashboard layout (all views, tiles, and at-a-glance button config) can be exported to a JSON file and re-imported on another device or a fresh deploy — so you never have to rebuild it by hand.

Export

  1. Open Settings (gear icon).
  2. Dashboard data → Export layout.
  3. A file downloads, named ha-dashboard-layout-YYYY-MM-DD.json.

Import

  1. Open Settings on the target dashboard.
  2. Dashboard data → Import layout, pick the file.
  3. The dashboard validates it, saves, and reloads.

Moving to the add-on

The add-on seeds a generic starter layout on first run. To bring your existing dashboard over:

  1. Export from your current dashboard (above).
  2. Install + open the add-on.
  3. Connect first: in Settings → Home Assistant, enter your server URL and Long-Lived Access Token, then Save & reload so the dashboard is connected.
  4. Then import: Settings → Dashboard data → Import layout, pick the file.

Set up the token and import the layout one at a time, not together. If you enter the token and import the backup in the same Settings session, the dashboard may reload into the imported layout without the connection applied and come up empty. The fix: re-open Settings, re-enter the Long-Lived Access Token, and Save & reload — the dashboard then populates with your backup. Doing the token first (step 3) and the import second (step 4) avoids this.

Notes for maintainers

  • Personal layout files are gitignored and must never be committed: layouts.json and my-dashboard-layout.backup.json.
  • exportLayout() strips the derived rows before serializing; importLayout() validates that it's a non-empty array of views with string ids and throws on invalid input.
  • On the add-on, the live layout lives at /data/layouts.json (persistent volume).

Clone this wiki locally