Fleet Dashboard
When you open your product in the NervesCloud UI, the Fleet Dashboard is the first thing you see. It gives you a high-level summary of your entire device population at a glance:- Online / Offline counts — a live count of devices currently connected via WebSocket versus those that have gone silent
- Connection history — a time-series chart showing how many devices were online at each point in the past, useful for spotting patterns like overnight disconnects or rollout-related disruptions
- Firmware version distribution — a breakdown of how many devices are running each firmware version, so you can track rollout progress and identify devices stuck on older builds
- Alarm summary — a count of devices currently in an alarmed state, linking directly to the filtered device list
Device List
The Device List shows every device registered under your product. You can sort, filter, and search to find exactly the devices you need:- Search by identifier — type a device identifier or partial match to narrow the list instantly
- Filter by status — show only online, offline, or never-connected devices
- Filter by firmware version — isolate devices running a specific build
- Filter by tag — tags are the primary mechanism for fleet segmentation in NervesHub; use them to separate production from staging, or to group devices by region, hardware revision, or customer
- Sort by last connection time — find devices that haven’t checked in recently
CLI: List Devices
You can inspect your fleet from the terminal using thenh CLI. The commands below assume you are authenticated and have your org and product configured.
List all devices in the current product:
Device Detail
Clicking any device in the list opens the Device Detail page. This per-device view consolidates everything NervesHub knows about a single device:- Firmware validation status — whether the device has confirmed the firmware as valid after the last update
- Connection history — a timeline of every connect and disconnect event, with timestamps and duration
- Health metrics — CPU usage, memory usage, and system load averages charted over time (see Health Monitoring)
- Active alarms — any alarms currently firing on the device
- Geolocation — if the
geoextension is enabled, NervesHub can plot the device on a map - Update history — the sequence of firmware updates the device has received
Connection Status
A device appears as online when it maintains an active WebSocket connection to the NervesHub server atwss://{host}/socket/websocket. The connection uses Phoenix Channels over mTLS, so both the server and the device authenticate each other before any data flows.
A device transitions to offline as soon as the WebSocket connection drops — whether from a reboot, a network outage, or a firmware update in progress. NervesHub records the exact timestamp of each transition, so you have a complete connection history for every device.
There is no polling interval to worry about: NervesHub detects disconnections immediately via the WebSocket heartbeat.
Filtering by Tag and Version
Tags are strings you assign to devices to segment your fleet. A device can carry multiple tags. Deployment groups target devices by tag, so your tagging strategy directly controls which devices receive which firmware. Common tagging patterns include:
To view all devices with a given tag in the UI, use the tag filter on the Device List page. From the CLI:

