Hi everyone! ![]()
I’ve been working on something that has been asked for many times here and in the frontend discussions: a way to show one of your dashboards to people who should only ever look at it, without accounts, without tokens and without Grafana in between.
Update: Public Access is now free and open source (MIT) for everyone, since v0.5. No trial, no key, no subscription.
Public Access is a custom integration that publishes one view of one of your dashboards at a path on your own domain, for example https://ha.example.com/solar. Anyone with the link can see it; nobody can change anything.
What it looks like to visitors
It’s your real dashboard, drawn by Home Assistant’s own frontend: same layout, themes and animations, including custom HACS cards like ApexCharts, Mushroom or Bubble Card. History charts and period switching work. Visitors just can’t change anything.
Some things people use it for:
Solar production for the neighbours or the condo
A weather station or air-quality page for the village
River levels, noise or public-building status for a community
A greenhouse, apiary or farm status page
A credential-free wall display or kiosk: a stolen tablet gives away nothing
How it stays read-only
Two independent locks:
- Only reading is forwarded. The visitor’s page talks to the integration, not to Home Assistant, and only messages that read (states, statistics, the dashboard itself) are passed on. Service calls, saves, scripts and templates are refused.
- A read-only user underneath. What is passed on runs as a system user in Home Assistant’s read-only group, so even a message that slipped through would be refused by Home Assistant itself.
On top of that:
- Only the entities that the published view shows are visible
- No password or token ever reaches the visitor’s browser
- The public page never writes to the browser storage your own Home Assistant uses, so your login is unaffected
- Visitor limits are built in (25 at once, 4 per address), so a popular page can’t overload your instance
- Works behind Cloudflare or Nginx Proxy Manager with nothing to configure
- Nothing leaves your home: no account, no license server, no telemetry, nothing downloaded at runtime
What is on the view is visible, though. If the view shows a camera or a map, visitors see it. Build the public view on purpose.
Setup
- In HACS: ⋮ → Custom repositories, add
https://github.com/dllfpp/ha-public-accessas Integration, install Public Access and restart. - Settings → Devices & services → Add integration → Public Access: pick the dashboard, the view and the public path.
- That’s it: the page is live at
https://<your-domain>/<path>.
Requires Home Assistant 2026.1 or later.
Already installed an earlier version? Just update from HACS: your published dashboard keeps working, the old license key is simply ignored.
Free and open source
- Free for everyone, no limits beyond the safety ones above
- All the code is on GitHub under the MIT license: read it, audit it, change it, share it
If Public Access is useful to you, a donation helps me keep it working with every new Home Assistant release. Entirely optional: PayPal.Me ![]()
Links
- GitHub & docs: dllfpp/ha-public-access
- Issues & feature requests: GitHub Issues
I’d love feedback, especially on cards that don’t render as expected and on the security model.
Ask me anything! ![]()

