veenm fa3e58b747 Dashboard Studio 1.6.1: show version, load fresh files after updates
- Version shown under About in the dashboard settings, with a link to
  the repository; /api/version reports it
- index.html is never cached and stamps the version on every asset URL,
  so browsers can't keep running old files after an update
- Open screens check the version after reconnecting and every 5 minutes
  and reload into the new version (editing only shows a message);
  pending saves are flushed first

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 22:36:53 +01:00

Dashboard Studio for Home Assistant

A Home Assistant app (formerly called an add-on) that adds a Dashboard Studio tab to the sidebar. In that tab you build dashboards on a free-form grid with drag-and-drop, live entity widgets and full theme control.

Install

  1. In Home Assistant, go to Settings → Apps → App store, open the ⋮ menu → Repositories, and add https://git.melvanveen.nl/veenm/ha-dashboard-studio.
  2. Find Dashboard Studio in the store, install it, start it, and turn on Show in sidebar.
  3. Updates appear in the App store automatically whenever the version in dashboard_studio/config.yaml goes up.

Local install, no GitHub: copy the dashboard_studio folder into the /addons share of your Home Assistant host (for example with the Samba or SSH app). Then go to Settings → Apps → App store → ⋮ → Check for updates. It appears under Local apps.

The first build happens on your Home Assistant machine and takes a minute or two.

How it works

  • dashboard_studio/server/main.py is a small aiohttp server. It is reachable only through Home Assistant ingress, so only logged-in Home Assistant users can reach it. It stores dashboards in /data and relays the Home Assistant websocket API using the Supervisor token. Your browser never needs a long-lived access token.
  • dashboard_studio/web/ is the editor and runtime, written in plain JavaScript with no build step. widgets.js contains the widget library. To add a widget type, add an entry there with fields and a render function.

Local development

Without a SUPERVISOR_TOKEN, the server runs against a built-in mock Home Assistant with fake lights, sensors, a thermostat and other entities:

pip install aiohttp && python3 dashboard_studio/server/main.py

Then open http://localhost:8099. The Photos widget also has fake Immich albums in this mode. To try your real Immich server, set IMMICH_URL and IMMICH_API_KEY before starting the server.

App icon

dashboard_studio/icon.png is drawn by tools/make_icon.py (needs Pillow): python3 tools/make_icon.py dashboard_studio/icon.png.

S
Description
Drag-and-drop dashboard builder app for Home Assistant
Readme 4.6 MiB
Languages
JavaScript 62.1%
CSS 18.1%
Python 11.1%
Java 6.5%
HTML 1.9%
Other 0.3%