system.mes.location.saveProperty
Description
Creates or updates a Location Properties record in the system based on the provided parameters.
Syntax
system.mes.location.saveProperty(**propertyData)
Parameters
| Parameter | Type | Nullable | Description |
|---|---|---|---|
name | String | False | The name of the location property. |
description | String | True | A description of the location property. |
dataType | String | False | The data type of the property (e.g., Integer, String, Float). Default value is String. |
lowLimit | Double | True | The minimum value allowed for a numerical property. |
highLimit | Double | True | The maximum value allowed for a numerical property. |
format | String | True | The format of the property, if applicable. |
unitOfMeasureId | String (ULID) | True | The ULID of the unit of measure for this property. |
unitOfMeasureName | String | True | The name of the unit of measure for the property. For display purposes only. |
unitOfMeasureSymbol | String | True | The symbol of the unit of measure for the property. For display purposes only. |
options | String | True | List of possible values for the property (e.g., "[option1, option2]"). |
nullable | Boolean | False | Defines if the property can accept null values. Default value is false. |
defaultValue | Mixed | True | The default value assigned to the property if none is provided. The type is mixed as it depends on what dataType is. |
id | String (ULID) | True | The ULID of the location property (optional, for updating an existing property). |
notes | String | True | Notes related to the location property. |
enabled | Boolean | False | Indicates if the property is active and enabled. Default value is true. |
spare1 | String | True | Additional field for user-defined context. |
spare2 | String | True | Additional field for user-defined context. |
spare3 | String | True | Additional field for user-defined context. |
Returns
Returns a JSON representation of the saved location property.
Code Examples
# Generate the object structure for a new property object, set the name and save it
newProperty = system.mes.location.newProperty()
newProperty['name'] = 'Temperature'
savedProperty = system.mes.location.saveProperty(**newProperty)
# Output the JSON representation of the saved property
print(savedProperty)
# Generate the object structure for another new property object to update the previous property
propertyData = system.mes.location.newProperty()
# Define property attributes
propertyData['id'] = savedProperty.id
propertyData['name'] = 'Temperature'
propertyData['dataType'] = 'Float'
propertyData['lowLimit'] = -20
propertyData['highLimit'] = 50
propertyData['unitOfMeasureId'] = '01JAP8RJBN-4VYZUKE1-LY2QHV8X'
propertyData['nullable'] = False
propertyData['defaultValue'] = 20.0
# (You can continue setting other properties as needed here)
# Save the location property to update it in the system
updatedProperty = system.mes.location.saveProperty(**propertyData)
# Output the JSON representation of the updated location property
print(updatedProperty)