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 |