Devices
Manage, monitor, and control your IoT device fleet.
Device List
Navigate to Devices → Devices to see all devices registered in your tenant.
The list shows:
- Name / Serial — human-readable name and hardware serial number
- Group — device group membership
- Status —
Online/Offline - Firmware — reported firmware/OS version
- IP Address — last-known IP from the agent
- Last Seen — timestamp of last heartbeat
Filtering
Use the filter bar to narrow devices by:
- Status — Online / Offline / All
- Group — select a device group
- Last Seen — within 24h / within 7 days / never seen
Registering a Device (Claim Tokens)
Devices self-register using a one-time claim token. See Getting Started for the full walkthrough.
- Click + Add Device in the device list toolbar.
- Optionally assign the device to a Group and set a TTL (token lifetime).
- Click Generate.
The dialog offers two methods:
Quick Install — a single command that downloads, installs, registers, and starts the agent:
curl -fsSL https://umoo.yun/api/v1/agent/install.sh | CLAIM_TOKEN=<token> sudo shManual Install — download the binary, bootstrap, and start the service separately:
# 1. Download
curl -fsSL -o /usr/local/bin/umoo-agent \
https://umoo.yun/api/v1/agent/download/linux/amd64
chmod +x /usr/local/bin/umoo-agent
# 2. Bootstrap
sudo umoo-agent bootstrap \
--claim-token <token> \
--server-url https://umoo.yun \
--data-dir /var/lib/umoo-agent
# 3. Start
sudo systemctl enable --now umoo-agentThe agent sends the token plus a CSR. The backend verifies the token, signs the CSR with the platform CA, and returns the device certificate. The token is consumed and cannot be reused. The agent then transitions to Syncing and begins normal operation.
Device Detail
Click any device row to open its detail panel. Tabs:
Detail Tab
- Hardware info (OS, CPU, RAM)
- Network interfaces reported by the agent
- Device metadata (group, serial, created date)
Shadow Tab
Shows Desired State and Reported State as JSON trees.
- Desired State — what the backend wants the device to do
- Reported State — what the agent last reported
To update desired state, click Set Desired State, enter JSON, and save.
Terminal Tab
Opens a full browser-based terminal session to the device over WebSocket. Requires the terminal plugin to be enabled and the device to be online.
See Terminal for details.
Monitor Tab
Live telemetry panels (CPU, memory, disk, network, agent health). Requires the telemetry plugin to be enabled.
Panels update in real-time via Prometheus queries.
Events Tab
Shows the event log scoped to this device (registration, status changes, rollout events, custom plugin events).
Logs Tab
Stream log lines from the device in real-time. Requires the logs plugin to be enabled and configured.
Device Groups
Navigate to Devices → Groups to manage device groups.
Groups are used to:
- Target rollouts at a fleet subset
- Apply shared plugin configurations
- Filter device list views
Creating a Group
- Click + Create Group.
- Enter a Name and optional Description.
- Click Create.
Adding Devices to a Group
Open the group detail, click the Devices tab, then Add Devices. Select from ungrouped devices.
Plugin Config Override
Each group can override the tenant-wide plugin defaults. Open the group detail, click the Plugins tab, and configure per-plugin settings. Leave fields empty to inherit the tenant default.
Device Status
| Status | Meaning |
|---|---|
Online | Agent connected, heartbeat active |
Offline | No heartbeat within configured timeout |
Pending | Claim token issued, agent not yet connected |
Editing a Device
Click the Edit button on a device row. You can update:
- Display name
- Group assignment