Skip to content

Device Profile Reference

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

Device Profile

Field Name Type Required Notes
name String Y Must be unique in the EdgeX deployment. Only allow unreserved characters as defined here.
description String N
manufacturer String N
model String N
labels String Array N
deviceResources deviceResource Array Y
deviceCommands deviceCommand Array N

DeviceResource

Field Name Type Required Notes
name String Y Must be unique in the EdgeX deployment. Only allow unreserved characters as defined here.
description String N
isHidden Bool N Expose the DeviceResource to Command Service or not. Default is false
tag String N
tags String-Interface Map N An arbitrary set of labels or additional information associated with the device resource. The type of tags is a Map structure. The key is a string, and the value could be any data type, such as a string or object
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 Available values are:
  • Uint8, Uint16, Uint32, Uint64
  • Int8, Int16, Int32, Int64
  • Float32, Float64(Both float32 and float64 are based on the IEEE 754 standard)
  • Bool
  • String
  • Binary
  • Uint8Array, Uint16Array, Uint32Array, Uint64Array
  • Int8Array, Int16Array, Int32Array, Int64Array
  • Float32Array, Float64Array
  • BoolArray
readWrite Enum Y Available values are: R, W, RW
units String N Developer is open to define units of value
minimum String N Error if SET command value out of minimum range
maximum String N Error if SET command value out of maximum range
defaultValue String N If present, should be compatible with the Type field
mask String N Only valid where Type is one of the unsigned integer types
shift String N Only valid where Type is one of the unsigned integer types
scale String N Only valid where Type is one of the integer or float types
offset String N Only valid where Type is one of the integer or float types
base String 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

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 here.
isHidden Bool N Expose the DeviceCommand to Command Service or not, default false
readWrite Enum Y Available options are: 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