Skip to content

Cameras and the NVR

The Cameras tab shows your UniFi Protect recorder (the NVR, such as a UNVR) and every camera on it. It tells you what the Protect app makes hard to see at a glance: whether a recording disk is failing, and how hot the recorder runs.

The tab appears once Protect is connected: see UniFi Protect.

The Cameras tab: the NVR's vitals, its disks, and the cameras

The NVR

The recorder's name heads the panel, with its vitals:

Reading Means
cpu Processor load
temp Processor temperature. Turns amber at 75 °C
storage Recording space used, of the total. Turns amber above 95%
up Time since the recorder last restarted

Below it is a row for each disk: Slot, Model, Size, Temp and Health. A disk the recorder reports as failing reads unhealthy in red, and raises the critical NVR disk unhealthy alert, the one alert on this tab.

The cameras

One row per camera:

Column Means
Camera Its name in Protect. An unnamed camera shows as unnamed and its model
State As Protect reports it. Anything but connected is in red
Link The camera's network link speed
Recording Whether it is recording now

A camera that isn't connected shows in red here, but it doesn't raise an alert or a notification.

Disk health and temperatures need the local admin

Protect gives two ways in. The API key alone lists the cameras. Disk health, disk and NVR temperatures, and each camera's traffic need Ferrule to sign in with a local admin account on the recorder, with MFA off.

Without that account, the tab shows the cameras and a note:

Disk health, NVR temperatures and camera throughput need bootstrap access. Set PROTECT_USERNAME and PROTECT_PASSWORD to a local-only account with MFA disabled.

If Protect runs on the same console as Network, the note names UNIFI_USERNAME and UNIFI_PASSWORD instead.

A separate UNVR needs its own account

A UNVR is its own console. The admin and API key you made on the gateway don't work on it. Make both again on the UNVR, as in UniFi Protect.

If an account is set but the sign-in failed, a red line under the note says Bootstrap was tried and failed: and the reason, such as a rejected password.

Camera traffic isn't drawn on this tab. It is in the history as infra_camera_receive_bytes_total and infra_camera_transmit_bytes_total: see History and graphs.

If something's wrong

What you see Why, and the fix
No Cameras tab Protect isn't connected, or PROTECT_ENABLED=false is set
No disks, and the note about bootstrap access No local admin is set for the recorder. Add PROTECT_USERNAME and PROTECT_PASSWORD
Bootstrap was tried and failed The account was rejected. Check it is a local account, made on the recorder itself, with MFA off
The red line says bootstrap is disabled PROTECT_BOOTSTRAP=false is set. Remove it

More in Troubleshooting.