Docs menu
Guides

End-user views

Give the people using a site one place for their dashboards and maps, at /view, with its own menu and access. Embed maps, web pages and cameras in dashboards.

The designer is for the people who build a project. An end-user view is for the people who use it: a front desk, a facility manager, a teacher. It shows a menu of dashboards and maps and opens them full screen, on a tablet, a wall panel or a phone.

Open a view

http://<core address>:7340/view
http://<core address>:7340/view/<view id>

/view opens the project's only view, or offers a choice when there are several. The address keeps what is shown (#d/<dashboard>/<page> or #m/<map>), so a bookmark or a reload comes back to the same screen.

Until a project has a view of its own, /view shows a built-in view called Everything: every dashboard, then every map, open to anyone on the network.

Note: As for dashboards, other machines reach a view only when core accepts them and has a license (or runs with --demo). See Dashboards.

Make a view

In the designer, open End-user views.

  1. Click New view, or Customize next to Everything to start from every dashboard and map.
  2. Name it. The id is its address (/view/front-desk).
  3. Choose Who can open it: anyone on the network, anyone with the PIN (4 to 12 digits), or enrolled panels only.
  4. Choose the skin and theme, and what it Opens on (by default, the first item).
  5. Under Menu, add the dashboards and maps people need, put them in order, and rename them if the menu should say something else.
  6. Click Save, then Open to try it.

A view's access is its own: a PIN view opens its dashboards and maps without asking for their own PINs. Deleting a dashboard or a map removes it from every view.

Views are stored in the project (views), and can also be written through the REST API (/api/v1/views) and MCP like any other part of the project.

On phones and panels

On a phone the menu folds into a ☰ button. With ?kiosk=1 the view stays awake and dims like a kiosk dashboard. An enrolled panel opens a panels view with ?panel=<token>, as described in Enrol a wall panel.

When the connection drops, the view says so and reconnects on its own.

Embedded content

Five widgets bring other things into a dashboard. Add them from the builder's palette like any other widget.

Map

Shows one of the project's maps, with each placed device and its status, and people or assets reported by tracking sources. Drag to pan, pinch or scroll to zoom; zoom and fit buttons are in the corner. Tap a device to see its name, status and room.

SettingMeaning
MapThe map to show
NamesDevice names next to their markers (on by default)
Live positionsPeople and assets from tracking sources (on by default)

Web page

Shows another site in a frame. The address must start with http://, https:// or /.

SettingMeaning
AddressThe page to show
Reload everySeconds between reloads (5 or more), empty for never
Extra permissionsMore sandbox flags, such as allow-downloads allow-modals

The page runs sandboxed: it can run scripts and forms but cannot take over the dashboard. Videos can autoplay (muted) and go full screen.

YouTube and Vimeo share links (youtube.com/watch?v=…, youtu.be/…, vimeo.com/…) are turned into their player address. To autoplay a YouTube video, add ?autoplay=1&mute=1 to an embed address such as https://www.youtube.com/embed/<id>?autoplay=1&mute=1&rel=0.

Many sites refuse to be shown inside another page (X-Frame-Options or frame-ancestors), and no setting can change that. For well-known ones such as Google search, Gmail, Facebook, Instagram, X, LinkedIn, GitHub and Amazon, the widget says This site refuses to be embedded; for others the frame stays empty or shows the browser's error. Use the site's own embed link when it has one (Google Maps Share > Embed a map, a published Google Doc or Calendar), or a link widget that opens the site.

Camera

Shows a camera's video, and with a camera device, a pan, tilt and zoom pad made of the module's own controls.

SettingMeaning
Camera deviceThe device whose PTZ controls and addresses to use
Stream addressThe video address. Empty: the camera device's streamUrl, else its snapshotUrl
FormatFrom the address, MJPEG, JPEG snapshots, HLS, WebRTC (WHEP), or the camera's web page
Snapshot everySeconds between snapshots (default 2)
PTZ padShow the pan, tilt and zoom pad (on by default)
FormatWorks inTypical address
MJPEGEvery browserhttp://<camera>/cgi-bin/mjpeg
SnapshotEvery browserhttp://<camera>/snapshot.jpg
HLSSafari, recent Chrome and Edgehttp://<gateway>/<camera>/index.m3u8
WebRTC (WHEP)Every browserhttp://<gateway>:8889/<camera>/whep

Browsers cannot play RTSP. For an RTSP-only camera, run a gateway such as go2rtc or MediaMTX and use its WebRTC or HLS address. A stream that fails is retried every 10 seconds.

The VISCA and Panasonic AW camera modules have streamUrl and snapshotUrl settings, so every dashboard showing that camera uses the same address.

A row of buttons, or a column with Direction: Vertical. Each button has a label and a destination; the one for the current page or map is lit.

Text, or a button with Style: Button, that opens a destination, optionally in a new tab.

Destinations

Navigation bars and links accept:

DestinationOpens
A page of this dashboardThat page
Another dashboard (and a page)That dashboard; inside a view, without leaving it
A mapThe map, inside a view; outside one, at /view/#m/<map>
An address (https://... or /path)That address

In the project file they are strings: page:<id>, dashboard:<id> or dashboard:<id>/<page>, map:<id>, or the address.