Each Thing Definition configured in the DPS comes with a set of predefined properties, and in addition you can define custom properties specific for your application domain.
Thing Definition's custom properties can be used, for example, to:
group/sort/search things;
manage thing definition specific details, like images or descriptions;
manage technical information (e.g. sizes/volumes, number of parts/sections, modes).
Property values are saved in the Thing Definition, but they are also inherited by all things.
Thing JSON object
{
"id": "62e8d456cd97dd690ee55a1b",
"name": "Oven 1",
"serialNumber": "OVN-123ab7",
"thingDefinition": {
"id": "63712724d9900a490d36ea0e",
"name": "Oven 1200w",
"properties": {
"longDescription": "Oven with double desk resistance of 1200w with steam..."
}
},
"properties": {
"size": 123
}
}
For more details about how to use and display properties within the pages, refer to the Referencing Properties article.
Configuring properties
By entering the Properties / Thing Definition page, you can manage the properties available to all Thing Definitions.
The below list, displays the default properties and the additional properties for all Thing Definitions.
Thing Definition predefined properties:
PROPERTY NAME | DESCRIPTION | REFERENCE NAME |
name | The friendly name of the thing. | name |
These properties cannot be deleted, because mandatory for the correct functioning of the DPS application, but you can modify the Label, and according to the property also some constraints.
Creating a new thing definition property
To add a new thing definition property, you should:
Press the Add Property button.
Provide the required information.
Press the Save button.
Editing thing definition properties
From the property list, if you click on a property, you will enter the property editing page.
Each property is described by:
General
Label: the label displayed within the pages (e.g. Foo Bar).
Name: the property simple name used to reference it within templates (e.g. properties.fooBar)
Description: the description that is displayed under the properties within the editing pages.
Type: the property value type, one of Boolean, Date, Double, File, Float, Integer, Long, String.
For more details about types, refer to the Property Types article.Unit: the unit displayed along with the property value (e.g. Kg). It is available only for numeric properties.
Default value: the property default value assigned to a newly created object.
Data Type: in case of numeric values, you can define whether the property values are DISCRETE or CONTINUOUS, and then you can also define Dictionary and Thresholds.
Group: the key used to group properties within editing dialogs.
Rendering
Order: the order used to sort properties within editing dialogs.
Searchable: the property can be used within the advanced search panel.
Selection: the selection mode (radio, select, switch) for multiple values.
Values: the set of value and label pairs in case of selection.
Constraints
Unique: it is not possible to have two objects with the same property value. If you try to create a new object or update an existing one, using the value already saved in another object, the backend will report an error.
Mandatory: the property cannot be left blank. When creating a new object or updating an existing object, if the value of the property is missing, the backend reports an error.
Limit write permissions depending on the user-type: you can limit the user-types can write the property value. If a user which is not authorized to the property, try to write it, the backend reports an error. Properties that are not writable by a user type are also not visible on the edit page of that object in the DPS application.
Min: the minimum value used for numeric properties validation.
Max: the maximum value used for numeric properties validation.