Each Thing Definition configured in the 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.
.png?sv=2022-11-02&spr=https&st=2025-10-30T04%3A09%3A26Z&se=2025-10-30T04%3A21%3A26Z&sr=c&sp=r&sig=bIAYFhEVXhtUjOuCUdsO5g8KbJHCR6GPixC464xA1Nc%3D)
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.
.png?sv=2022-11-02&spr=https&st=2025-10-30T04%3A09%3A26Z&se=2025-10-30T04%3A21%3A26Z&sr=c&sp=r&sig=bIAYFhEVXhtUjOuCUdsO5g8KbJHCR6GPixC464xA1Nc%3D)
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.