Skip to content

Device Profile Reference

This chapter details the structure of a Device Profile and allowable values for its fields.

Device Profile

Field Name Type Required? Notes
name String Y Must be unique in the EdgeX deployment. Only allow unreserved characters as defined in https://datatracker.ietf.org/doc/html/rfc3986#section-2.3.
description String N
manufacturer String N
model String N
labels Array of String N
deviceResources Array of DeviceResource Y
deviceCommands Array of DeviceCommand N

DeviceResource

Field Name Type Required? Notes
name String Y Must be unique in the EdgeX deployment. Only allow unreserved characters as defined in https://datatracker.ietf.org/doc/html/rfc3986#section-2.3.
description String N
isHidden Bool N Expose the DeviceResource to Command Service or not, default false
tag String N
attributes String-Interface Map N Each Device Service should define required and optional keys
properties ResourceProperties Y

ResourceProperties

Field Name Type Required? Notes
valueType Enum Y Uint8, Uint16, Uint32, Uint64, Int8, Int16, Int32, Int64, Float32, Float64, Bool, String, Binary, Object, Uint8Array, Uint16Array, Uint32Array, Uint64Array, Int8Array, Int16Array, Int32Array, Int64Array, Float32Array, Float64Array, BoolArray
readWrite Enum Y R, W, RW
units String N Developer is open to define units of value
minimum Float64 N Error if SET command value out of minimum range
maximum Float64 N Error if SET command value out of maximum range
defaultValue String N If present, should be compatible with the Type field
mask Uint64 N Only valid where Type is one of the unsigned integer types
shift Int64 N Only valid where Type is one of the unsigned integer types
scale Float64 N Only valid where Type is one of the integer or float types
offset Float64 N Only valid where Type is one of the integer or float types
base Float64 N Only valid where Type is one of the integer or float types
assertion String N String value to which the reading is compared
mediaType String N Only required when valueType is Binary
optional String-Any Map N Optional mapping for the given resource

DeviceCommand

Field Name Type Required? Notes
name String Y Must be unique in this profile. A DeviceCommand with a single DeviceResource is redundant unless renaming and/or restricting R/W access. For example DeviceResource is RW, but DeviceCommand is read-only. Only allow unreserved characters as defined in https://datatracker.ietf.org/doc/html/rfc3986#section-2.3.
isHidden Bool N Expose the DeviceCommand to Command Service or not, default false
readWrite Enum Y R, W, RW
resourceOperations Array of ResourceOperation Y

ResourceOperation

Field Name Type Required? Notes
deviceResource String Y Must name a DeviceResource in this profile
defaultValue String N If present, should be compatible with the Type field of the named DeviceResource
mappings String-String Map N Map the GET resourceOperation value to another string value