in src/modules/sitewise/lib/util/SiteWiseTelemetryUtils.py [0:0]
def create_asset_model_property(self, assetModel, propertyName, propertyDataType):
if propertyDataType == 'VARCHAR':
propertyDataType = 'STRING'
self.log(f'Create property {propertyName} with type {propertyDataType} for asset model {assetModel["assetModelName"]}')
properties = assetModel['assetModelProperties']
for property in properties:
if property['name'] == propertyName:
return property
properties.append({
'name': propertyName,
'dataType': propertyDataType,
'type': {
'measurement': {}
}
})
updateResponse = self.iotsitewise.update_asset_model(
assetModelId = assetModel['assetModelId'],
assetModelName = assetModel['assetModelName'],
assetModelProperties = properties
)
assetModelStatus = updateResponse['assetModelStatus']['state']
while assetModelStatus != 'ACTIVE':
time.sleep(1)
assetModel = self.iotsitewise.describe_asset_model(assetModelId = assetModel['assetModelId'] )
assetModelStatus = assetModel['assetModelStatus']['state']
properties = assetModel['assetModelProperties']
for property in properties:
if property['name'] == propertyName:
return property
return None