Asset Management Service¶
Independent of your domain, the Asset Management Service supports you in creating digital representations of your physical assets. Such assets could be valves, engines, gas turbines, trains or buildings. The level of detail depends on your use case.
For accessing this service you need to have the respective roles listed in Asset Management roles and scopes.
For accessing the Secure Data Sharing (SDS) protected APIs you need to have appropriate Policy Definitions in place. Please refer here for the list of supported APIs and Required Actions.
The API divides the functions into categories, for each category you can use a different controller. This section describes the controllers:
An Aspect Type is a template for creating multiple aspects with the same variables. Aspects are a data modeling mechanism for assets. Aspects group related data points based on their logical association. An aspect can consist of several variables. You can configure, read or delete your aspect types. An aspect type is accessed by its ID. There are predefined aspect types which are available for all users, but cannot be modified or deleted.
An Asset Type is a pre-configured template for creating multiple assets with the same variables. Assets take on the properties of the type on which they are based. Within the type, you can define which aspects are integrated into the template. You can use a type in various assets and built several interconections between a type and assets. You can configure, read or delete your types. An asset type is accessed by its ID. Asset Type consists of Variables and Aspects. The Variables defined on an asset type cannot be used for data ingestion so they are called as Static Variables. The Variables and Aspects are also inherited from parent Asset Types.
The Asset Management Service provides basic asset types for users. These are predefined asset types, which are available for all users, but cannot be modified or deleted. The available basic asset types are documented in the References for Basic Types.
The Asset Management Service allows you to assign default values to static (non-time series) variables and static aspect types of an asset type. They are applied following a type-instance concept, so that newly created assets are automatically assigned the default values of their asset type. These values can be overwritten on instance level, if required. Refer to the Samples for Using Default Values in Asset Types to learn more about what you can do with default values.
Asset types consists of Static Variables and Aspects. A variable comprises of properties as
searchable. Static variables can be updated and deleted. Refer to the Samples for updating and deleting Asset Type variables to learn more about updating and deleting variables.
Variable properties like
defaultValue can be updated however
searchable cannot be updated. The changed values are propagated to all its Asset instances. Multiple variables can be updated using update variables API provided the variable names are not interchanged in same request. Updating variables is allowed to the variables defined on an asset type and not the inherited variables. The update operation will update only the given variables and other variables remain as it is. The update request should have
If-Match header with value of
etag fetched from the asset type. The response header contains
Etag for asset type which can be used to update asset type or the variables again. There are certain validations on the update variables operation, in case of failure of a validation no any variable from the request will be updated and the request is failed. On successful update the response code is
204, in case of failure standard response codes like
400, 401, 403, 404, 412, 500 are returned along with the error message. The update variables API cannot be used to delete variables.
Variables can be deleted using asset type update API, after deleting a variable the values overridden on the Asset Instances will also be removed. Multiple variables can be deleted using asset type update API. Deleting variables is allowed only for the variables defined on the asset type and not the inherited variables.
In MindSphere the following types of assets are distinguished:
- Device types: represents a machine, or any object, from which data is collected
- Agent types: represents the agent (software or physical device) measuring and collecting data of devices, machines, etc.
- Hierarchy types: represents the hierarchy levels of an organization
- Application types: used by other services to collect data of their applications (e.g., Edge Analytics Application)
Using the Asset Management Service you can configure, read, manage, and assign existing files to assets. Deletion is supported for all assets, but root assets are deleted when their tenant is deleted.
The Asset Management Service supports hierarchical relationships between assets. Assets inherit their parent's type assignments, but not their assets. They can overwrite the inherited type assignments. The hierarchical path of an asset from the root down via all parent assets is stored in the
hierarchyPath field. This can be used as navigational aid. An example implementation of hierarchical asset relationships is provided in Modeling Hierarchical Asset Structures.
The structure of an asset can only be read, but not modified. It lists all aspects and variables without their values. You can configure the variables' values by updating the asset.
You can define the location of assets and update or delete the location data.
The timezone to be used for timeseries aggregation. By default it is inherited from the tenant's defaultTimezone, but can be overwritten only during asset creation. The timezone value should be set to a Java time zone ID such as "America/LosAngeles" or "Etc/GMT+2". Time zones that 15 or 45 minutes off a UTC hour are not supported, such as Nepal standard time (UTC+05:45). Time zones that are 30 minutes off a UTC hour are supported, such as India (UTC+05:30). Once an asset is created with a specific timezone, it cannot be changed later.
You can define whether an asset is the digital representation of an actual physical device (performance asset) or it is used for simulation (simulation asset).
You can upload files and assign these files to assets or asset types. Each file can have multiple assignments or none at all.
The Asset Management exposes its API for realizing the following tasks:
- Create asset types as templates for assets
- Define default values within asset types
- Create and manage assets
- Model complex asset structures using hierarchy
- Upload and assign files to assets
A brewery has moved a conveyor belt to a different location. A fixed installed camera takes images of the conveyor belt every 2 minutes.
The Asset Management API allows you to change the location of the conveyor belt. You can define a new aspect for the conveyor belt like production volume.
Asset Types are a template for creating assets. This means, using a single asset type you can create number of assets. Asset Type consists of multiple aspects and each aspect is defined with some variables. This association of aspects for a type defines the number of variables present for a type.
Recommendation for optimum performance¶
- We recommend not to use more than 100 asset types overall. If 100 types are defined accurately, they are sufficient for creating 1000's of assets.
- We recommend not to use more than 10 variables on a single aspect type. The sum of all the variables comprising of aspect's for a type is the total number of variables belonging to that type.
- We recommend not to use more than 25 aspect types on a single asset type.
- We recommend not to define more than 250 variables on a single asset type.
Examples for modelling¶
- The type can be modelled with 25 aspects, each consisting of 10 variables, which will result in total 250 variables for the asset type.
- The type can be modelled with 10 aspects, each consisting of 10 variables, which will result in total 100 variables for the type.
This is not a limitation but a recommendation for optimum performance.
Modeling Recommendations for P&P Tenant¶
Asset Management has imposed technical limits for P&P tenant to safeguard the system and to avoid system exploitation on heavy load exceeding system limits.
Following are the enforced technical limits:
|Object Type||Technical limit|
|Variable (static and dynamic) defined in an AspectType||20|
|Aspects associated with an AssetType||30|
|Static/Direct variable on a AssetType||25|
|Max depth in AssetType hierarchy||5|
|Max depth in Asset hierarchy||20|
|Max Attribute count per asset||500|
|Max Attribute count per tenant||500,000|
These limits are enforced on Capability Package based environments only.
Modelling recommendations (in case of error on exceeded technical limits):
|Aspect type cannot be created as aspect type variables technical limit exceeded for tenant. Please reduce the number of variables in aspect type.||1. Reduce the number of variables in aspect type. |
2. Split variables across multiple aspect types.
e.g., 30 variables on an aspect type can be split across 2 aspect types with 15 variables each.
|Asset type cannot be created as asset type aspect technical limit exceeded for tenant. Please reduce the number of assettype-aspecttype associations.||Reduce the number of aspects on asset type by increasing variables per aspect, but make sure that variables per aspect are within limit of 20.|
|Asset type cannot be created as asset type direct variable technical limit exceeded for tenant. Please reduce the number of direct variables in asset type.||Reduce the number of direct variables on the asset type by shifting them over to a reusable aspect type.|
- IoT TS Aggregates Service
- Create events to document occurrences using Event Management Service
- Notify maintenance personnel in case of an event using Notification Service
Any questions left?
Except where otherwise noted, content on this site is licensed under the MindSphere Development License Agreement.