Skip to content

Updated

View MarkdownOpen in ChatGPTOpen in Claude

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). Its server holds your Home Assistant login and talks to HA over WebSocket on your behalf; your browser only ever talks to that server. Contains one or more dashboards (named screens you configure).

Hub (this site)

Cloud service at glasshome.app. Hosts the widget registry, your account, and organizations. 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

Dash does not need Hub to run. Hub is only required if you want to install community widgets or publish your own.

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.
  • Remote address. A web address you reach Dash at from outside your home, through your own VPN, proxy, or tunnel. Declared in Settings. See Remote Access.

Publishing terms

  • Scope. Publishing namespace. Your personal scope is your username (@username, auto-assigned at signup and editable in your account settings), and an organization’s scope is its slug (@org-slug). 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. The GlassHome server opens a WebSocket connection to Home Assistant for live entity state and relays it to your browser. See How GlassHome Connects.
  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. The GlassHome server talks to HA directly, on your behalf. Hub never sees any of it.

Hub vs. Dash accounts

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