KW Knowledge base

Devices

Adding, configuring, and operating devices in Vistralio.

Mitch Wigham
Updated 24 June 2026 · 6 views

Devices

Adding, configuring, and operating devices in Vistralio.

Devices vs API naming

The product UI now uses Devices. The backend API still uses the legacy /api/cameras namespace for compatibility.

Device types

Each device has a device_type:

Type UI behavior
Camera Standard video device, no talk button
Camera with speaker Shows the live Talk button
Doorbell Shows Answer / Talk and supports doorbell press events

Connection modes

Mode Use when
Direct Vistralio can reach the device directly
Edge Bridge The device is on a remote LAN behind a bridge

For bridge devices you assign:

  • an Area
  • an Edge Router

Edge routers can now serve multiple areas, so the same bridge can cover more than one area when needed.

Streams

Each device can define up to four path slots:

Slot Purpose
detect low-cost AI/detection stream
live browser live stream
record recording source
talkback two-way audio target for supported device types

The UI expects only the path fragment. Vistralio builds the full URL from:

transport + host + port + credentials + path

Password handling

The UI now distinguishes between:

  • leaving password blank = keep the saved password
  • Clear saved password = remove the stored password

The same applies to ONVIF credentials where enabled.

Detection settings

Per device you can configure:

  • enabled/disabled
  • detector model
  • object list
  • minimum confidence
  • detection FPS
  • hardware mode
  • per-object overrides

The object picker is driven from the currently selected detector's label list.

Zones and masks

Zones and masks are now separate:

Zones

Used for event meaning and routing.

  • zones can have a title
  • zones can have a note
  • events use the zone title in event details
  • zones can also carry threshold and dwell overrides

Example result:

Person detected in Drive lane

Masks

Used to ignore detections or motion in parts of the frame.

  • masks are configured separately from zones
  • masks can also have titles and notes
  • if an object or motion falls into a mask, Vistralio ignores it

Full-frame behavior

If a label has no zones configured, Vistralio scans the entire frame for that label.

ONVIF and PTZ

ONVIF configuration is available on the quick-add form (Admin → Devices → Add/Edit Device) and in the full settings modal (ONVIF / PTZ tab).

Quick-add form

The quick-add and quick-edit device form includes an ONVIF / PTZ section. Enable ONVIF to reveal:

  • ONVIF port (default 80)
  • ONVIF username
  • ONVIF password
  • Enable PTZ control

This lets you configure ONVIF when creating a new device, without needing to open full settings first.

Full settings (ONVIF / PTZ tab)

The full settings modal includes a Discover streams button. When clicked, Vistralio queries the camera over ONVIF and returns all media profiles with their RTSP URIs. From the profile list you can:

  • Apply to streams — fills in the detect, live, and recording path fields on the Streams tab
  • Use for talkback — fills in the talkback path on the Audio tab

PTZ control is tested directly from this tab with directional buttons (up / down / left / right) and zoom in / out.

PTZ presets

PTZ presets are supported via the API (GET /api/ptz/{id}/presets, POST /api/ptz/{id}/preset/{token}).

Audio and talkback

For Camera with speaker and Doorbell devices, configure:

  • talkback path
  • talkback codec

Talkback works through:

  • direct connection for direct devices
  • the edge bridge path for bridge devices

For ONVIF cameras, use the Discover streams button on the ONVIF / PTZ tab to auto-populate the talkback path from the camera's ONVIF profile.

Doorbell flow

Doorbells can generate doorbell_press events. Those events can:

  • appear in the Events page
  • trigger browser notifications
  • jump the operator straight into the doorbell live view

Full settings dialog

The full device settings panel includes:

  • Connection
  • Streams
  • Recording
  • Audio
  • Detection
  • Zones
  • Masks
  • ONVIF / PTZ
  • Faces
  • Plates
  • Schedules

Stream switching (live view)

Users with the cameras.stream_switch permission, on tenants where the stream_switch feature is enabled, can switch between the detection/live stream and the full-quality recording stream while viewing live.

A Live / Full HD toggle appears in the top-right of the live view. The recording stream offers full resolution but uses more bandwidth and an extra RTSP connection.

Camera deletion

When a camera is deleted from the UI or API, Vistralio removes its database record and all associated on-disk data:

  • Recording segments (/var/lib/vistralio/recordings/{cam_id}/)
  • Snapshots (/var/lib/vistralio/snapshots/{cam_id}/)
  • Event clips (/var/lib/vistralio/clips/{cam_id}/)

Related API endpoints

  • GET /api/cameras
  • POST /api/cameras
  • PUT /api/cameras/{id}
  • DELETE /api/cameras/{id} — also removes on-disk recording, snapshot, and clip folders
  • GET /api/cameras/{id}/config
  • POST /api/cameras/{id}/doorbell-press
  • GET /api/ptz/{id}/discover — ONVIF stream discovery
  • POST /api/ptz/{id}/move — PTZ move
  • POST /api/ptz/{id}/stop — PTZ stop
  • GET /api/ptz/{id}/presets — PTZ preset list
  • POST /api/ptz/{id}/preset/{token} — go to preset

Still need help?

Log a support ticket and the team will pick it up from this page.