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 |