-
Notifications
You must be signed in to change notification settings - Fork 2
Configuration
The dashboard talks to HA directly over WebSocket from the browser, and the add-on does not store your token. On first open:
- Click the gear / Settings icon in the dashboard.
- Under Home Assistant, enter your Server URL and a Long-Lived Access
Token.
- Use your HA's IP address, e.g.
http://192.168.1.10:8123— many devices (tablets, Fire tablets, Fully Kiosk) can't resolvehomeassistant.local, so the IP form is the reliable choice. (Port is 8123, HA's normal port.) - Create a token in HA → your Profile → Long-Lived Access Tokens.
- Use your HA's IP address, e.g.
- Click Test connection, then Save & reload.
The token is kept in that browser's localStorage only — never written to disk or
baked into the image.
Make sure the Server URL is reachable from the device viewing the dashboard. On tablets/kiosks, prefer the IP form (
http://<HA-IP>:8123) —homeassistant.localoften doesn't resolve there.
Everything below is done in the running app; you never edit config.ts or
layouts.json by hand:
- Connect. On first launch the guided onboarding asks for your HA URL and a long-lived token (create one in HA → Profile → Security), with a Test button to confirm before saving.
- Start blank. Open Settings → Dashboard data → Start blank to clear the sample layout and begin with an empty Home page plus a zero-config Media page. (Reset to default restores the bundled sample instead.)
- Add pages. Use PagesManager to create, rename, re-icon, reorder, and delete pages. Each page also has a board-type selector (Tiles, Sensor graphs, NOC servers, Cameras, Now Playing).
- Add tiles. In Edit mode, click + Add Tile and pick any entity from the searchable picker (lights, switches, covers, locks, climate, media, vacuum, sensors, scenes, scripts, buttons, and more). Drag to arrange; open per-tile settings for camera entity, links, quick actions, flyout options, slider direction, and size.
- Add scenes. Each page has a scene picker; scenes you add show with their HA friendly name and icon automatically.
-
People appear automatically. Every
person.*entity is discovered and shown in the header / People tracker — no configuration needed. -
Weather appears automatically. The header forecast + ambient backdrop pick
up any
weather.*entity; choose a specific one in Settings → Appearance if you have several. - Theme it. Pick a theme + accent color in Settings.
- Monitor infrastructure (optional). Switch any page to the NOC (servers) board type in Manage Pages to build a monitoring dashboard for servers, UPSes, switches and Docker — see NOC / Servers Dashboard.
The bundled config.ts catalogs (sample scenes, persons, and rooms) are
only a starting seed; a connected user can replace all of it from the UI, and
Start blank gives them a clean slate to do so.
By default the token lives only in the browser you typed it into, so each new
device (tablet, kiosk) has to enter it again. Turn on Remember connection on
this server under Settings → Home Assistant and save to store the URL +
token server-side (/data/connection.json on the add-on). Any device that opens
the dashboard without a local token then adopts the saved connection
automatically and loads live data on first open.
- Off by default — the secure per-device behavior is preserved unless you opt in.
- Turning it back off clears the stored connection from the server.
- Anyone who can reach the dashboard can use the saved connection, so only enable it on a trusted local network. Since this is all local, you can change the token in HA at any time to revoke access.
Values resolve: Settings (localStorage) → Vite env → default.
| Source | Key |
|---|---|
| Settings modal | HA URL + long-lived token |
.env |
VITE_HA_URL, VITE_HA_TOKEN
|
| Hard default | http://homeassistant.local:8123 |
- Themes — Midnight, Slate, OLED Black, Light.
-
Accent color — 8 swatches + a custom color picker. The accent recolors the
whole UI (driven by an
--accent-rgbtriplet). - Ambient effects — toggle the weather-reactive backdrop (rain/snow particles, lightning in thunderstorms) and time-of-day tint.
All animations respect prefers-reduced-motion: reduce.
-
App settings (HA URL, token, theme, accent) →
localStorage(per browser/device). -
Shared connection (opt-in) → if Remember connection on this server is
enabled, the URL + token are also stored server-side in
connection.json(/data/connection.jsonon the add-on) so other devices auto-connect. -
Dashboard layout → server-side
layouts.jsonvia the Vite middleware (shared across devices on the same host); on the add-on it persists to/data/layouts.jsonand survives restarts/updates.
AmbientBackdrop reads URL query params to preview ambient effects regardless of
real conditions:
| Param | Values | Effect |
|---|---|---|
?precip= |
rain snow none
|
Force the precipitation layer |
?tod= |
dawn day dusk night
|
Force the time-of-day tint |
Example: http://localhost:3000/?precip=snow&tod=dusk. No params = real
weather/clock.