Skip to main content

Device

Device commands manage Atym devices within your tenant. They allow you to add, list, search, update, and remove devices, manage device attributes, view a device twin, stream live logs, and run a local device simulator. The device resource has aliases device and devices.


device add

Add a new device to the current tenant, or add a single attribute key/value pair to an existing device.

Usage:
atymctl device add { [-n DEVICE_NAME ... [flags] ] | [DEVICE_ID -z ATTRIBUTE_CATEGORY ATTRIBUTE_KEY VALUE] }

Flags:
-o, --aotEnabled AOT enabled (default: false)
-z, --attribute Attribute key/value pair mode
-c, --cpu string Device cpu type
-d, --description string Device description
-n, --deviceName string Device name
-e, --enabled Device enabled (default true)
-f, --file string File path containing device info
-h, --help help for add
-s, --serialNumber string Device serial number
-t, --target string Device target architecture type
-a, --targetAbi string Device target ABI
-x, --xip XIP enabled (default: false)

Required (new device): --deviceName and --serialNumber. If --aotEnabled is set to true, also provide --cpu, --target, and --targetAbi.

Required (attribute mode): DEVICE_ID, -z, ATTRIBUTE_CATEGORY, ATTRIBUTE_KEY, and VALUE. For bulk attribute changes prefer device attributes.

info

When using the -f, --file flag you provide a YAML configuration file instead of individual flags. See the Device Configuration File reference for the file format. For AOT-specific configuration, see AOT Compilation.

Accepted Values

ParameterDescriptionAccepted Values
cpuThe device cpu typeSee available CPU types
targetThe device architecture typeSee available Target types
targetAbiThe Application Binary Interface for the target platformSee available TargetAbi types

device list

List devices in the current tenant with an optional name filter. Results are paginated; use --tail to interactively page through all results.

Usage:
atymctl device list [flags]

Flags:
-h, --help help for list
-l, --like string Filter devices by name
-o, --page_offset int Offset for paging
-p, --page_size int Number of results to return (default 20)
-t, --tail Interactively page through all results

Examples:

atymctl device list
atymctl device list -l myDevice
atymctl device list --tail

Search devices using a SQL-like query expression. Useful for filtering by attributes, target, CPU, or other fields.

Usage:
atymctl device search [QUERY] [flags]

Flags:
-h, --help help for search
-o, --page_offset int Offset for paging
-p, --page_size int Number of results to return (default 20)
-t, --tail Interactively page through all results

Examples:

atymctl device search "deviceName = 'myDevice'"
atymctl device search "enabled = true AND user.region = 'us-east'"
atymctl device search "cpu = 'cortex-m33'" --tail

device show

Show detailed information about a device, including its configuration and status.

Usage:
atymctl device show [DEVICE_ID]

Flags:
-h, --help help for show
-n, --name string Device Name

Required: DEVICE_ID or --name. If both are omitted, the default device from your config is used.


device update

Patch a device's metadata. You only need to provide the values you want to change.

Usage:
atymctl device update DEVICE_ID [flags]

Flags:
-o, --aot string AOT enabled status of the device ('true'/'false')
-c, --cpu string CPU variant of the device
-d, --desc string Description of the device
-e, --enabled string Enabled status of the device ('true'/'false')
-h, --help help for update
-n, --name string Name of the device
-s, --sn string Serial number of the device
-t, --target string Target architecture of the device
-a, --targetAbi string Target ABI of the device
-x, --xip string XIP enabled status of the device ('true'/'false')

Required: DEVICE_ID, and at least one field to update.

Accepted Values

ParameterDescriptionAccepted Values
cpuThe device cpu typeSee available CPU types
targetThe device architecture typeSee available Target types
targetAbiThe Application Binary Interface for the target platformSee available TargetAbi types

device remove

Delete a device, or delete a single attribute from a device.

Usage:
atymctl device remove [DEVICE_ID] | [DEVICE_ID ATTRIBUTE_CATEGORY ATTRIBUTE_KEY -z]

Flags:
-z, --from_attributes Delete attribute from device
-h, --help help for remove

Required: DEVICE_ID.


device set

Set the default device used by subsequent commands. Equivalent to config set-device.

Usage:
atymctl device set [flags]

Flags:
-h, --help help for set
-i, --id string Device ID
-n, --name string Device Name

Required: one of --id or --name.


device twin

Retrieve the device twin information by device UUID. The twin is the Hub's persisted view of the device's reported and desired state.

Usage:
atymctl device twin [DEVICE_ID] [flags]

Flags:
-h, --help help for twin

Required: DEVICE_ID, or a default device set in your config.


device logs

Stream live logs for a device. Logs include container output and runtime messages emitted by the device.

Usage:
atymctl device logs [DEVICE_ID] [flags]

Flags:
-h, --help help for logs
-w, --websockets Enable websocket protocol for logs

Note: If you do not specify DEVICE_ID, the default device from your configuration is used.


Device Attributes

device attributes lets you manage attributes attached to a device. Attributes are organized into categories. If DEVICE_ID is omitted from any of these commands, the default device ID from config is used.

device attributes patch

Update one or more keys in a device attribute category. Other keys in the category are left untouched.

Usage:
atymctl device attributes patch [DEVICE_ID] CATEGORY [KEY VALUE ...] [flags]

Flags:
-f, --file string Path to a JSON file containing the attribute object
-h, --help help for patch

device attributes replace

Replace the full attribute set for a device category. Keys not provided are removed from the category.

Usage:
atymctl device attributes replace [DEVICE_ID] CATEGORY [KEY VALUE ...] [flags]

Flags:
-f, --file string Path to a JSON file containing the attribute object
-h, --help help for replace

device attributes remove

Remove a single attribute key from a device category.

Usage:
atymctl device attributes remove [DEVICE_ID] CATEGORY KEY [flags]

Flags:
-h, --help help for remove

Device Simulator

device simulate manages a local Atym simulator runtime and a backing simulated device. Use it to develop and test without physical hardware.

device simulate install

Download and extract the Atym simulator runtime into ~/.atym/simulator.

Usage:
atymctl device simulate install [flags]

Flags:
--force Re-download and reinstall the simulator runtime
-h, --help help for install
--platform string Override runtime platform: linux-x86_64 or linux-aarch64

device simulate create

Create a simulated device in the current tenant and save its runtime credentials locally so the simulator can register against the Hub.

Usage:
atymctl device simulate create [flags]

Flags:
--cpu string Override the detected CPU value for the simulated device
--description string Description for the simulated device
-h, --help help for create
--name string Device name for the simulated device
--serial string Serial number for the simulated device
--server-endpoint string Server endpoint to save for runtime configuration
--server-port int Server port to save for runtime configuration
--target string Override the detected target value for the simulated device
--targetAbi string Override the detected target ABI value for the simulated device

device simulate start

Start the local simulator runtime in the current terminal. Use --configure to push the saved device binding into the runtime after startup.

Usage:
atymctl device simulate start [flags]

Flags:
--configure Send the saved device binding into the runtime after startup
--force Re-apply runtime configuration when used with --configure
-h, --help help for start

device simulate status

Show the local simulator install path and the saved device binding.

Usage:
atymctl device simulate status [flags]

Flags:
-h, --help help for status