---
title: "The Device List"
description: "Read, search, filter, sort and act on the Devices table, including bulk actions and live status filtering"
source_url: https://ai-ops.com/docs/devices/device-list
---

# The Device List

The **Devices** page lists every device in the system. It is where you check what is running, find a specific connection, and act on several devices at once.

Open it from **Devices** in the navigation. The page header offers two actions: **Device Sets**, which opens the [device set](https://ai-ops.com/docs/devices/device-sets.md) list, and **Add Device**, which starts the [creation flow](https://ai-ops.com/docs/devices/creating-getting-started.md).

Select any row to open that device's detail page. Right-click a row for its action menu.

## Columns

| Column | Shows | Hidden by default |
|--------|-------|-------------------|
| **Status** | A colored status icon. Hover it for the status text, or the current warning or error message | — |
| **ID** | The device's numeric identifier | Yes |
| **Name** | The device name | — |
| **Protocol** | The protocol name, with the sub-type in parentheses where one applies (for example the EtherNet/IP device type). A shield icon appears when the device uses OPC-UA security; hover it for the security mode | — |
| **Connection** | The connection string built from the device's protocol settings. Hover a truncated value to see it in full | Yes |
| **Description** | The device description | — |
| **Scan Rate** | The polling interval | — |
| **Created** | When the device was created, relative (hover for the exact timestamp) | Yes |
| **Updated** | When the device was last modified, relative (hover for the exact timestamp) | Yes |

**Status** and **Name** are always visible and cannot be hidden or reordered.

Rows carry state as well: a **disabled** device is dimmed, and a **failed** device is tinted red so you can pick it out while scrolling.

> [!NOTE] Status icon colors
> Teal means Running, gray means Stopped, red means Failed. A **yellow** icon means the device is running but reporting a warning — hover it to read the warning. While a device is starting up or shutting down the icon is gray and the tooltip reads **Starting** or **Stopping**.

## Searching

The search box above the table matches as you type. Select the magnifier inside the box to choose what it searches:

| Mode | Matches |
|------|---------|
| **Name & Description** | Either field (default) |
| **Name only** | The name field |
| **Description only** | The description field |

Search runs on the server across every device, not just the page you are looking at, and your choice of mode is remembered.

## Filtering

Every filterable column has a filter icon in its header. Select it to open the filter, set a value, then choose **Done**. The icon fills in while that column is filtering, and **Clear** in the same popover removes it.

| Column | Filter | Notes |
|--------|--------|-------|
| **Status** | Multi-select: Running, Stopped, Failed | Matched against live status — see below |
| **Name** | Text | Case-insensitive, matches anywhere in the name |
| **Protocol** | Single-select | Lists the protocols currently visible in your system |
| **Description** | Text | Case-insensitive, matches anywhere in the description |
| **Scan Rate** | Minimum/maximum with a unit | See [Scan Rate](#filtering-by-scan-rate) |
| **Created** | Date range | Inclusive of both days you pick |
| **Updated** | Date range | Inclusive of both days you pick |

**ID** and **Connection** are display-only and offer no filter.

All filtering happens on the server, so a filter narrows the whole device list and the row count updates with it. Applying or changing a filter returns you to the first page.

Two toolbar controls sit above the table while anything is filtering: a funnel button listing the active filters, where you can remove one at a time or **Clear all filters**, and a **Clear filters** button that removes everything at once, search included.

### Filtering by Scan Rate

The Scan Rate filter takes a **Minimum** and a **Maximum**, each with its own unit — msec, sec, min, hour or day. This lets you type a bound the way the column reads it: to find sub-second devices, set the maximum to `500` **msec** rather than working out `0.5` seconds.

Changing the unit reinterprets the number you already typed, so `5` **min** becomes `5` **hour**. Leave a bound empty to leave that end open.

### Filtering by Status

Status is not stored with the rest of a device's configuration — it is written to the live data cache every scan cycle. The Status filter therefore resolves which devices currently match your selection, and then narrows the list to those devices.

> [!TIP] Status is a point-in-time match
> The matching devices are resolved when you apply the filter. A device that changes state afterwards will not appear or disappear on its own — its icon still updates live, but the filtered set does not. Re-apply the filter or reload the page to refresh it.

When one or more devices are failed, a red **N Failed** button appears in the toolbar. Select it to filter the list to failed devices immediately. The button hides itself once that filter is applied.

## Sorting

Select a column header to sort by it; select it again to reverse the direction, and a third time to clear it. **Name**, **Description**, **Scan Rate**, **Created** and **Updated** can be sorted. **Status**, **ID**, **Protocol** and **Connection** cannot.

The list is sorted by **Name**, ascending, until you change it. You can sort by one column at a time — choosing a new column replaces the previous sort.

## Arranging the Table

Three controls sit to the right of the search box:

- **Show / hide columns** — tick or untick any column. Drag an entry to reorder the columns. **Show all** restores everything.
- **Density** — cycles through Compact, Comfortable and Spacious row heights.
- **Full screen** — expands the table to fill the window.

At the bottom of the table, choose a page size (10, 20, 25, 50 or 100 rows; 20 by default) and move between pages. The right-hand label shows the rows on screen out of the total, for example `1–20 of 143`.

> [!NOTE] X of Y devices
> When a filter or search is active, the bottom-left corner reports **X of Y devices** — how many match against how many exist in total. It disappears when nothing is filtering, because the two numbers are then the same.

Which columns are shown, plus your sort, filters, search, density and page size, are remembered in your browser, so the list looks the same the next time you open it. Column widths are fixed and cannot be dragged.

> [!WARNING] Filters persist between visits
> Because filters are remembered, a list that looks unexpectedly short may still be filtered from an earlier session. Check for the **Clear filters** button — it only appears when something is filtering.

## Selecting Rows

Tick the checkbox on a row to select it, or the checkbox in the header to select every row on the current page. Selecting rows opens a banner above the table showing the count, with **Clear selection**.

To act on more than one page of devices, open the **Actions** menu with nothing selected and choose **Select all N devices** — this selects every device matching the current filter, not just the visible page. The same menu offers **Deselect all N devices** while a selection is active.

## Bulk Actions

With rows selected, the **Actions** menu lists the operations that apply to all of them:

| Action | Effect |
|--------|--------|
| **Enable N selected** | Starts data collection on every selected device |
| **Disable N selected** | Stops data collection. Asks for confirmation first, because collection stops for every tag on those devices |
| **Export config for N devices** | Downloads the selected devices as a CSV file |
| **Delete N devices** | Permanently deletes the selected devices |

Delete opens a confirmation that first checks what depends on those devices, so you can see the impact before committing. If any of the selected devices are still enabled, deleting is blocked until you use the **Disable** button the confirmation offers.

A progress bar runs across the top of the table while a bulk action is in flight.

> [!WARNING] Deleting a device deletes its tags
> A device's tags belong to it. Deleting the device removes them and stops any expression or model that reads from them. Review the impact listed in the confirmation before you continue.

## Row Actions

Right-click a row for the action menu for that device: **Enable** or **Disable**, **Configuration** (opens the device's configuration tab), **Open in new tab**, **Export config**, **Duplicate**, and **Delete**.

If you right-click a row that is part of a multi-row selection, the menu switches to the bulk actions above and applies to the whole selection.

## Editing in the Table

**Edit Mode**, in the **Actions** menu, makes the **Name** and **Description** cells editable in place. Change as many rows as you like, then save all of them at once; leaving edit mode with unsaved changes asks you to confirm first. A cell that fails validation is marked with an error icon — hover it for the reason.

Row clicks and the right-click menu are suspended while edit mode is active.

## Importing and Exporting

The **Actions** menu also carries **Import devices from CSV**, and — with nothing selected — **Export config for all N devices**. See [Importing & Exporting Devices](https://ai-ops.com/docs/devices/importing-exporting.md) for the file format and the import review step.

> [!NOTE] Stale data indicator
> A yellow refresh icon in the toolbar means the page could not refresh: either the device list itself, or the live status feed. What you see is the last good data. Hover the icon for the reason; it clears itself once the connection recovers.

## Permissions

Actions you are not permitted to perform stay visible but disabled, with a tooltip naming the missing permission. Enabling and disabling devices, editing, importing and deleting are each gated separately. See [Roles & Permissions](https://ai-ops.com/docs/system/roles-permissions.md).

## What's Next

- [Creating a Device](https://ai-ops.com/docs/devices/creating-getting-started.md): add a new device from the list page
- [Device Parameters](https://ai-ops.com/docs/devices/device-parameters.md): what each device field means
- [Importing & Exporting Devices](https://ai-ops.com/docs/devices/importing-exporting.md): bulk changes through CSV
- [Troubleshooting a Device](https://ai-ops.com/docs/devices/troubleshooting.md): diagnose a device that shows Failed
