Skip to content

Concepts

A handful of terms come up across the docs. Skim this once and the rest reads faster.

The pieces

Dash (glasshome-dash)

The app you actually interact with. Runs on your hardware (Pi, NUC, NAS, HAOS). Talks directly to Home Assistant over WebSocket. Contains one or more dashboards (named screens you configure).

Hub (this site)

Cloud service at glasshome.app. Hosts the widget registry, your account, organizations, and tunnel provisioning. Optional for using Dash.

Addon

A packaging of Dash for Home Assistant OS or Supervised. Installed via the HA Add-on Store. Same app, easier install.

Widget

A tile on a dashboard bound to one or more HA entities. Built-in or installed from Hub. SolidJS component + Zod config.

Where things run

Your network                              Internet
─────────────────────────                 ──────────────────
Home Assistant ◄──WS──┐                   glasshome.app
                       │                  (account, widget CDN,
Dash ──────────────────┴───── browser     tunnel provisioning)
  + optional cloudflared ───── tunnel ──────▲

Dash does not need Hub to run. Hub is only required if you want to install community widgets, publish your own, or use the managed remote-access tunnel.

Glossary

Everyday terms

  • Dashboard. A named screen inside Dash. You can have multiple dashboards, each with its own layout and widget set.
  • Breakpoint. Layout slot keyed by screen width (lg, md, sm). Each dashboard stores one layout per breakpoint. See Layouts.
  • Tunnel. A cloudflared process that exposes Dash to the internet via Cloudflare’s edge. Provisioned by Hub. See Remote Access.

Publishing terms

  • Scope. Publishing namespace. @username for personal, @org-slug for an organization. Widget IDs look like @scope/widget-name.
  • Manifest. The manifest.json (or inline metadata in defineWidget) that describes a widget: name, icon, size limits, SDK version.
  • configVersion. Integer on a widget manifest. Bumped when the config shape changes in a breaking way. Drives migrations.
  • Trust badge. Official (verified, installs without prompt) or Community (user-published, asks for consent). See Publishing.

Data flow

  1. Browser loads Dash from your local server (e.g. http://192.168.1.x:3123).
  2. Dash opens a WebSocket to Home Assistant for live entity state.
  3. When you add a community widget, Dash fetches its bundle from Hub’s CDN once, then caches it locally.
  4. Dash config (layouts, themes, connections) is stored in a local SQLite database. No sync to Hub.

What never leaves your network

Entity state, your layouts, your HA URL, your devices. Dash talks to HA directly. Hub never sees any of it.

Hub vs. Dash accounts

You sign into Hub (this site) to publish widgets or provision a tunnel. Dash itself doesn’t require an account. It authenticates to Home Assistant via HA’s own OAuth.