4187c8f38d
- App store icon (icon.png) and favicon, drawn by tools/make_icon.py - Clock can show a weather entity with today's high and low from weather.get_forecasts - Side menu gets an icon-only rail style (now the default): full height, centered icons, active marker, names as hover/focus tooltips; phones keep a labelled bottom tab bar Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
2.1 KiB
Markdown
33 lines
2.1 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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`.
|