The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Terms of Use and Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Skip to content
Insights Hub and Industrial IoT

Insights Hub drives smart manufacturing through the industrial Internet of Things. Gain actionable insights with asset and operational data and improve your processes.

Asset Modeler Async API Service – Samples¶

The code examples given in this section are just .json representations of the Asset Model including the mappings.

Topic Structure¶

MQTT Broker offers topics described below:

<designator>/<tenantId>/<clientId>/<direction>/<app>_<version>/<app_topic>

<designator>: [tc]

  • tc: tenant-client topic structure

<tenantId>: environment id

<clientId>: Unique client id.

<direction>: [i|o]

  • i: inbound. Clients can subscribe.
  • o: outbound. Clients can publish

<app>: Registered application topic name.

<version>: Version of application

<app_topic>: App specific sub topics.

PUBLISH : tc/<tenantId>/<clientId>/o/amo_v3/m

  • Models are templates describing asset/aspect types, asset instances, asset hierarchy and mappings from data point ids to variables in aspects.

SUBSCRIBE : tc/<tenantId>/<clientId>/i/amo_v3/ms

  • Receive model creation results for a previous model request.

PUBLISH : tc/<tenantId>/<clientId>/o/amo_v3/i

  • Instantiations are the realization of models. An instantiation job takes a model and creates the items described in the model by creating types, instances and mappings. A model can be instantiated many times.

SUBSCRIBE : tc/<tenantId>/<clientId>/i/amo_v3/ip

  • Receive instantiation job results for a previous instantiation request.

Create own Asset model¶

This operation creates own asset model by describing aspect types, asset types, asset instances and data point mappings.

Asset Model message:

    {
        "id": "72609761sdv245248e126814c2dd83a27f",
        "data": {
            "externalId": "SpaceShip",
            "typeModel": {
                "aspectTypes": [{
                    "id": "connint6.wing",
                    "name": "${aspectTypeName}",
                    "category": "static",
                    "scope": "private",
                    "variables": [{
                        "name": "temperature",
                        "dataType": "STRING",
                        "unit": "C/F",
                        "searchable": true,
                        "length": 5,
                        "qualityCode": true
                    }],
                    "description": "wing aspect type description",
                    "referenceId": "287adc1a086840e0a6721dfd1170e97c"
                }],
                "assetTypes": [{
                    "id": "connint6.spaceship",
                    "name": "wingAssetTypeName",
                    "parentTypeId": "core.basicasset",
                    "aspects": [{
                        "name": "wingAspect",
                        "aspectTypeId": "connint6.wing"
                    }],
                    "description": "Hyperspace jump capable space ship",
                    "instantiable": true,
                    "scope": "private",
                    "referenceId": "82a4cc2a69cc42af80c1c6cf5dbefde5"
                }]
            },
            "instanceModel": {
                "assets": [{
                    "referenceId": "wingAssetReference",
                    "parentReferenceId": "root",
                    "typeId": "connint6.spaceship",
                    "name": "wingAsset",
                    "description": "The ship of Han Solo and Chewbacca"
                }]
            },
            "mappingModel": {
                "mappings": [{
                    "dataPointId": "dp01",
                    "assetReferenceId": "wingAssetReference",
                    "aspectName": "wingAspect",
                    "variableName": "temperature",
                    "referenceId": "19e9048e78f540e7a9ba25e1249fea9b"
                }]
            }
        }
    }

Receive Model Creation Status¶

This operation can be used to receive model creation status for previous model request.

    {
        "id": "01FQC37FCCASSFT7M0D6W5EB8P",
        "correlationId": "01FQC37FCBG1DWMTEC4DYCZ327",
        "requestId": "72609761sdv245248e126814c2dd83a27f",
        "data": {
            "id": "01FQC37HX2KGP4DR0HNVR3K5B2",
            "externalId": "SpaceShip",
            "status": "Success"
        }
    }

Create Model Instantiations¶

This operation creates a new instance with a given asset model in the body.

Instantiate model message:

    {
        "id": "bb9b9d8d6193ddsss45a5w2s7e848fe28c",
        "data": {
            "modelExternalId": "SpaceShip",
            "parameterization": {
                "values": [{
                    "name": "aspectTypeName",
                    "value": "wingAspectTypeName"
                }]
            }
        }
    }

Receive Instantiation Job results¶

This operation can be used to receive instantiation job results for previous instantiation request.

Instantiation Job result message:

Message 1;

    {
        "id": "01FQC37RDJ54CAM75RWNAQV781",
        "correlationId": "01FQC37NKDHM4774NB1R1H7PST",
        "data": {
            "id": "01FQC37NVVFZWET43NSHYZJV4B",
            "modelId": "01FQC37HX2KGP4DR0HNVR3K5B2",
            "modelExternalId": "SpaceShip",
            "message": "25% completed.",
            "status": "InProgress"
        },
        "requestId": "bb9b9d8d6193ddsss45a5w2s7e848fe28c"
    }

Message 2;

    {
        "id": "01FQC37RDJ54CAM75RWNAQV781",
        "correlationId": "01FQC37NKDHM4774NB1R1H7PST",
        "data": {
            "id": "01FQC37NVVFZWET43NSHYZJV4B",
            "modelId": "01FQC37HX2KGP4DR0HNVR3K5B2",
            "modelExternalId": "SpaceShip",
            "message": "50% completed.",
            "status": "InProgress"
        },
        "requestId": "bb9b9d8d6193ddsss45a5w2s7e848fe28c"
    }

Message 1;

    {
        "id": "01FQC37RDJ54CAM75RWNAQV781",
        "correlationId": "01FQC37NKDHM4774NB1R1H7PST",
        "data": {
            "id": "01FQC37NVVFZWET43NSHYZJV4B",
            "modelId": "01FQC37HX2KGP4DR0HNVR3K5B2",
            "modelExternalId": "SpaceShip",
            "message": "75% completed.",
            "status": "InProgress"
        },
        "requestId": "bb9b9d8d6193ddsss45a5w2s7e848fe28c"
    }

Message 4;

    {
        "id": "01FQC37RDJ54CAM75RWNAQV781",
        "correlationId": "01FQC37NKDHM4774NB1R1H7PST",
        "data": {
            "id": "01FQC37NVVFZWET43NSHYZJV4B",
            "modelId": "01FQC37HX2KGP4DR0HNVR3K5B2",
            "modelExternalId": "SpaceShip",
            "message": "100% completed.",
            "status": "Success"
        },
        "requestId": "bb9b9d8d6193ddsss45a5w2s7e848fe28c"
    }