Skip to main content
The fleet overview in NervesHub gives you a real-time picture of every device in your organization — what’s online, what firmware each device is running, and how your fleet has been connecting over time. Whether you’re managing ten devices or hundreds of thousands, NervesHub surfaces the information you need to stay on top of your fleet without writing custom monitoring infrastructure.

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
The dashboard refreshes automatically, so you always see the current state of your fleet without needing to reload the page.

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
Each row in the device list shows the device identifier, current firmware version, connection status, last-seen timestamp, and any active alarms.

CLI: List Devices

You can inspect your fleet from the terminal using the nh CLI. The commands below assume you are authenticated and have your org and product configured. List all devices in the current product:
Filter the list to devices carrying a specific tag:
Show full detail for a single device:
Use --output json with any nh device command to get machine-readable output. You can then pipe it into jq for scripted fleet inspection — for example, to find all offline devices:
This is useful for building alerting scripts, populating dashboards, or generating reports without hitting the HTTP API directly.

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 geo extension 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 at wss://{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:
Combining tag filtering with version filtering lets you answer questions like “which beta devices are still on the previous release?” without writing any custom queries.