A polished Home Assistant dashboard for wall panels, tablets, phones, and desktop screens.
Live demo · Get started · Security notes
Navet turns Home Assistant into a dedicated smart home control surface. Use it for the devices and rooms you touch every day: lights, media, cameras, locks, energy, automations, weather, calendars, sensors, and custom dashboard widgets.
Current release: 0.1.0-beta.3
- Made for shared screens. Navet is designed for wall panels, tablets, family devices, and always-on dashboard displays.
- Works with your Home Assistant setup. Run it as a Home Assistant add-on or as a standalone Docker container connected to your Home Assistant instance.
- Easy to shape around your home. Arrange rooms, resize cards, reorder devices, add widgets, and keep the dashboard focused on the controls you actually use.
- Self-hosted by design. Your Home Assistant URL, token, entity state, and camera feeds stay in your own environment.
- Installable app experience. Use Navet as a PWA on supported devices for a focused dashboard instead of a normal browser tab.
- Room-based navigation with an
Alloverview and per-room views - Editable entity cards with ordering, room assignment, visibility, and card sizing
- Custom widgets for notes, photos, RSS/news, battery status, energy, buttons, and maps
- Import/export support for local dashboard configuration
- Energy: usage overview, current demand, historical trends, setup flow, and energy widgets
- Security: cameras, covers, lock cards, and security-focused layouts
- Lighting: lights, switches, scenes, and room-oriented control
- Media: grouped media players with dedicated audio and TV handling
- Tasks: Home Assistant automation summaries grouped into actionable sections
- Daily context: weather, calendars, people/presence, sensors, vacuums, and RSS feeds
- Responsive layout for mobile, tablet, wall panel, and desktop use
- Appearance, localization, interaction, dashboard, system, and project settings
- Theme helpers and readable card surfaces for a consistent dashboard look
- PWA support for an app-like dashboard experience on supported devices
| Home | Energy | Security |
|---|---|---|
![]() |
![]() |
![]() |
| Tablet | Mobile home | Mobile controls |
|---|---|---|
![]() |
![]() |
![]() |
Open the public beta demo:
https://awesomestvi.github.io/navet/demo/
The demo uses fake /demo data. It does not connect to a real Home Assistant instance.
Choose the setup that matches where you want Navet to live.
For Home Assistant OS or supervised installations:
-
Add the Navet add-on repository to Home Assistant:
Or manually open Settings -> Add-ons -> Add-on Store, open the three-dot menu, choose Repositories, and add:
https://github.com/awesomestvi/navet -
Refresh the add-on store.
-
Install Navet.
-
Open the add-on configuration and set:
hass_url: http://homeassistant.local:8123 token: your-long-lived-access-token
-
Start the add-on and open Navet from the Home Assistant sidebar.
For Home Assistant Container, Home Assistant Core, NAS, server, or dedicated dashboard installs,
create a docker-compose.yml:
services:
navet:
image: ghcr.io/awesomestvi/navet:latest
container_name: navet
restart: unless-stopped
ports:
- "8080:80"
environment:
NAVET_HASS_URL: http://homeassistant.local:8123
NAVET_HASS_TOKEN: your-long-lived-access-tokenStart Navet:
docker compose up -dOpen:
http://localhost:8080
Update later:
docker compose pull
docker compose up -dNAVET_HASS_TOKEN is server-only for Docker and add-on deployments. Do not expose it in a public
static build, Vite client variable, checked-in file, or browser-readable runtime config.
Before publishing or sharing any hosted build, review the public launch security checklist.
Use the source workflow when developing Navet, testing changes, or contributing to the project.
- Node.js
^20.19.0or>=22.12.0 pnpm- A running Home Assistant instance
- A Home Assistant long-lived access token
git clone https://github.com/awesomestvi/navet.git
cd navet
pnpm installCreate .env from the example file:
cp .env.example .envSet your Home Assistant URL and token:
NAVET_HASS_URL=http://your-home-assistant:8123
NAVET_HASS_TOKEN=your-long-lived-access-tokenpnpm devOpen the URL Vite prints, usually http://localhost:5173.
For a production-style local preview:
pnpm previewpnpm dev
pnpm typecheck
pnpm check
pnpm test
pnpm storybook- docs/README.md: active documentation index
- docs/technical/REACT_ZUSTAND.md: shared state and service flow
- docs/STORYBOOK_WORKFLOW.md: Storybook structure and review workflow
- docs/WIDGETS.md: widget behavior and extension notes
- design-system/README.md: shared UI layers and design-system guidance
| Layer | Tooling |
|---|---|
| App | React 19, TypeScript 6, Vite 8 |
| Styling | Tailwind CSS 4.3, Radix UI primitives |
| State | Zustand 5 |
| Home Assistant | home-assistant-js-websocket |
| Maps | leaflet, react-leaflet |
| Quality | Vitest 4, Biome 2, Storybook 10 |
| PWA | vite-plugin-pwa, workbox-window |
Navet uses Conventional Commits:
type(scope): summary
When contributing:
- Keep behavior inside the owning feature module when possible
- Prefer shared primitives and patterns before building bespoke UI
- Update active docs when architecture, product surface, or workflow changes
- Keep Storybook ownership aligned with the shared UI structure
See CONTRIBUTING.md for the full contribution guide.
Navet source code is licensed under AGPL-3.0-only.
Branding is separate from the code license. See:






