LitmusEdge 4.0.x API Documentation/OPC UA - LE, LEM, LUNS API Docs

Get Node Root

POST {{edgeUrl}}/opcua/v2

Get Node Root

Returns the synthetic root node of the OPC UA hierarchy. The root has NodeID: "edgedevice", is a FOLDER, and has NodeSource: "import". Every other node lives under it.

Use this as the entry point when walking the tree -- list its Children, then call Get Nodes by Paths to traverse further.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query GetNodeRoot {
  GetNodeRoot {
    NodeID
    ParentID
    Name
    NodeType
    NodeSource
    Data { DataType TopicName }
    Children
    Path
    WorkerNodeID
    WorkerNodeIDMode
    ArrayLength
  }
}

No arguments.

Response

200 OK -- application/json

Field Type Description
NodeID string UUID (or sentinel edgedevice for the root).
ParentID string UUID of the parent node, empty string for the root.
Name string Display name (EdgeDevice for the root).
NodeType string FOLDER, DEVICE, or TAG.
NodeSource string import (auto from DH) or manual (created via API).
Data object Non-null only for TAG nodes. {DataType, TopicName}.
Data.DataType string OPC UA data type: bool, float, int, string, ...
Data.TopicName string Source topic (a DeviceHub-published topic the node subscribes to).
Children array Direct children. May be null for leaf nodes or when not requested in the selection.
Path string[] Slash-style address used by Get Nodes by Paths. Starts with "NODE", then UUIDs.
WorkerNodeID string Stable identifier exposed to OPC UA clients (e.g. EdgeDevice).
WorkerNodeIDMode string hierarchical (auto-derived) or fixed.
ArrayLength integer Non-null for tag nodes whose data is array-typed.
{
  "data": {
    "GetNodeRoot": {
      "NodeID": "edgedevice",
      "ParentID": "",
      "Name": "EdgeDevice",
      "NodeType": "FOLDER",
      "NodeSource": "import",
      "Data": null,
      "Children": null,
      "Path": ["NODE", "edgedevice"],
      "WorkerNodeID": "EdgeDevice",
      "WorkerNodeIDMode": "fixed",
      "ArrayLength": null
    }
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query GetNodeRoot {
    GetNodeRoot {
        NodeID
        ParentID
        Name
        NodeType
        NodeSource
        Data {
            DataType
            TopicName
        }
        Children
        Path
        WorkerNodeID
        WorkerNodeIDMode
        ArrayLength
    }
}

Response

Status: 200 OK

{
    "data": {
        "GetNodeRoot": {
            "NodeID": "edgedevice",
            "ParentID": "",
            "Name": "EdgeDevice",
            "NodeType": "FOLDER",
            "NodeSource": "import",
            "Data": null,
            "Children": null,
            "Path": [
                "NODE",
                "edgedevice"
            ],
            "WorkerNodeID": "EdgeDevice",
            "WorkerNodeIDMode": "fixed",
            "ArrayLength": null
        }
    }
}

Get Nodes by Paths

POST {{edgeUrl}}/opcua/v2

Get Nodes by Paths

Returns the children of the node addressed by Path. Use this to walk the hierarchy depth-first: start at ["NODE", "edgedevice"], read its children, then dive in by appending each child's NodeID.

The response is an array because the query supports addressing multiple nodes in one call (one path per element), although the Postman example uses a single path.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query GetNodesByPath($input: GetNodeByPathRequest!) {
  GetNodesByPath(input: $input) {
    NodeID
    ParentID
    Name
    NodeType
    NodeSource
    Data { DataType TopicName }
    Children
    Path
    WorkerNodeID
    WorkerNodeIDMode
    ArrayLength
  }
}

Variables

Field Type Required Description
Path [String!] Yes Slash-style path. Starts with the literal "NODE", followed by NodeIDs from root downward.
{
  "input": {
    "Path": ["NODE", "edgedevice"]
  }
}

Response

200 OK -- application/json. Array of nodes -- the children of the addressed node. See Get Node Root for the per-field reference.

{
  "data": {
    "GetNodesByPath": [
      {
        "NodeID": "8b43db5e-e32e-4780-8387-63b37cf2ff00",
        "ParentID": "edgedevice",
        "Name": "tag1",
        "NodeType": "TAG",
        "NodeSource": "manual",
        "Data": { "DataType": "bool", "TopicName": "tag1" },
        "Children": null,
        "Path": ["NODE", "edgedevice", "8b43db5e-e32e-4780-8387-63b37cf2ff00"],
        "WorkerNodeID": "EdgeDevice.tag1",
        "WorkerNodeIDMode": "hierarchical",
        "ArrayLength": null
      }
    ]
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query GetNodesByPath($input: GetNodeByPathRequest!) {
  GetNodesByPath(input: $input) {
        NodeID
        ParentID
        Name
        NodeType
        NodeSource
        Data {
            DataType
            TopicName
        }
        Children
        Path
        WorkerNodeID
        WorkerNodeIDMode
        ArrayLength
    }
}

Variables

{
    "input": {
        "Path": [
            "NODE",
            "edgedevice"
        ]
    }
}

Response

Status: 200 OK

{
    "data": {
        "GetNodesByPath": [
            {
                "NodeID": "8b43db5e-e32e-4780-8387-63b37cf2ff00",
                "ParentID": "edgedevice",
                "Name": "tag1",
                "NodeType": "TAG",
                "NodeSource": "manual",
                "Data": {
                    "DataType": "bool",
                    "TopicName": "tag1"
                },
                "Children": null,
                "Path": [
                    "NODE",
                    "edgedevice",
                    "8b43db5e-e32e-4780-8387-63b37cf2ff00"
                ],
                "WorkerNodeID": "EdgeDevice.tag1",
                "WorkerNodeIDMode": "hierarchical",
                "ArrayLength": null
            }
        ]
    }
}

Add Node - Folder

POST {{edgeUrl}}/opcua/v2

Add Node - Folder

Creates a new FOLDER node under an existing parent. Folders are purely organizational and do not bind to any data source.

Three node kinds use the same CreateNode mutation, differing only by the NodeType value:

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation CreateNode($input: NodeRequest!) {
  CreateNode(input: $input)
}

Variables (input: NodeRequest!)

Field Type Required Description
Name String! Yes Display name. Must be unique among the parent's children.
NodeType String! Yes FOLDER, DEVICE, or TAG.
ParentID String! Yes UUID (or edgedevice for the root) of the parent node.
WorkerNodeIDMode String! Yes hierarchical (NodeID derived from path) or fixed (use WorkerNodeID explicitly).
WorkerNodeID String? No Required when WorkerNodeIDMode: "fixed". The literal NodeID exposed to OPC UA clients.
Data NodeData? mixed Required for NodeType: "TAG". {TopicName, DataType} binding the tag to a DeviceHub topic.

Variables (example)

{
  "input": {
    "Name": "apiFolder",
    "NodeType": "FOLDER",
    "WorkerNodeIDMode": "hierarchical",
    "ParentID": "edgedevice"
  }
}

Response

200 OK -- application/json. Returns the new node's UUID as a string.

{
  "data": {
    "CreateNode": "1932e708-4a11-4d0e-87ac-a650bf4d7bf9"
  }
}

Save the returned UUID as {{opc_node_id}} for follow-up calls.

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation CreateNode($input: NodeRequest!) {
    CreateNode(input: $input)
}

Variables

{
    "input": {
        "Name": "apiFolder",
        "NodeType": "FOLDER",
        "WorkerNodeIDMode": "hierarchical",
        "ParentID": "edgedevice"
    }
}

Response

Status: 200 OK

{
    "data": {
        "CreateNode": "1932e708-4a11-4d0e-87ac-a650bf4d7bf9"
    }
}

Add Node - Device

POST {{edgeUrl}}/opcua/v2

Add Node - Device

Creates a new DEVICE node. DEVICE nodes are organizational like FOLDER but mark a logical device boundary so external OPC UA clients can detect device-level grouping.

Three node kinds use the same CreateNode mutation, differing only by the NodeType value:

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation CreateNode($input: NodeRequest!) {
  CreateNode(input: $input)
}

Variables (input: NodeRequest!)

Field Type Required Description
Name String! Yes Display name. Must be unique among the parent's children.
NodeType String! Yes FOLDER, DEVICE, or TAG.
ParentID String! Yes UUID (or edgedevice for the root) of the parent node.
WorkerNodeIDMode String! Yes hierarchical (NodeID derived from path) or fixed (use WorkerNodeID explicitly).
WorkerNodeID String? No Required when WorkerNodeIDMode: "fixed". The literal NodeID exposed to OPC UA clients.
Data NodeData? mixed Required for NodeType: "TAG". {TopicName, DataType} binding the tag to a DeviceHub topic.

Variables (example)

{
  "input": {
    "Name": "apiDevice",
    "NodeType": "DEVICE",
    "WorkerNodeIDMode": "hierarchical",
    "WorkerNodeID": null,
    "ParentID": "edgedevice"
  }
}

Response

200 OK -- application/json. Returns the new node's UUID as a string.

{
  "data": {
    "CreateNode": "d508ec1b-25da-4ceb-abdd-20e4fe37f863"
  }
}

Save the returned UUID as {{opc_node_id}} for follow-up calls.

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation CreateNode($input: NodeRequest!) {
    CreateNode(input: $input)
}

Variables

{
    "input": {
        "Name": "apiDevice",
        "NodeType": "DEVICE",
        "WorkerNodeIDMode": "hierarchical",
        "WorkerNodeID": null,
        "ParentID": "edgedevice"
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateNode": "d508ec1b-25da-4ceb-abdd-20e4fe37f863"
    }
}

Add Node - Tag

POST {{edgeUrl}}/opcua/v2

Add Node - Tag

Creates a new TAG node bound to a DeviceHub topic. TAGs are leaf nodes -- external OPC UA clients can read (and, if writable, write) their value, which is routed to the underlying topic.

Three node kinds use the same CreateNode mutation, differing only by the NodeType value:

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation CreateNode($input: NodeRequest!) {
  CreateNode(input: $input)
}

Variables (input: NodeRequest!)

Field Type Required Description
Name String! Yes Display name. Must be unique among the parent's children.
NodeType String! Yes FOLDER, DEVICE, or TAG.
ParentID String! Yes UUID (or edgedevice for the root) of the parent node.
WorkerNodeIDMode String! Yes hierarchical (NodeID derived from path) or fixed (use WorkerNodeID explicitly).
WorkerNodeID String? No Required when WorkerNodeIDMode: "fixed". The literal NodeID exposed to OPC UA clients.
Data NodeData? mixed Required for NodeType: "TAG". {TopicName, DataType} binding the tag to a DeviceHub topic.

Variables (example)

{
  "input": {
    "Name": "apiTag",
    "NodeType": "TAG",
    "WorkerNodeIDMode": "hierarchical",
    "WorkerNodeID": null,
    "Data": {
      "TopicName": "devicehub.topic",
      "DataType": "float"
    },
    "ParentID": "edgedevice"
  }
}

Response

200 OK -- application/json. Returns the new node's UUID as a string.

{
  "data": {
    "CreateNode": "57983531-6e61-418c-aeeb-987a0d85c969"
  }
}

Save the returned UUID as {{opc_node_id}} for follow-up calls.

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation CreateNode($input: NodeRequest!) {
    CreateNode(input: $input)
}

Variables

{
    "input": {
        "Name": "apiTag",
        "NodeType": "TAG",
        "WorkerNodeIDMode": "hierarchical",
        "WorkerNodeID": null,
        "Data": {
            "TopicName": "devicehub.topic",
            "DataType": "float"
        },
        "ParentID": "edgedevice"
    }
}

Response

Status: 200 OK

{
    "data": {
        "CreateNode": "57983531-6e61-418c-aeeb-987a0d85c969"
    }
}

Update Node by ID

POST {{edgeUrl}}/opcua/v2

Update Node by ID

Updates an existing node. The mutation is a full replacement of the node's fields (Name, Data, WorkerNodeID, etc.); pass the complete record.

NodeType is not re-assignable -- delete and recreate to change the kind.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation UpdateNode($nodeID: NodeID!, $input: NodeRequest!) {
  UpdateNode(nodeID: $nodeID, input: $input)
}

Variables

Field Type Required Description
nodeID NodeID! Yes UUID of the node to update.
input NodeRequest! Yes New node fields. Same shape as the Add Node mutations.
{
  "nodeID": "{{opc_node_id}}",
  "input": {
    "ParentID": "edgedevice",
    "Name": "apiTag",
    "NodeType": "TAG",
    "Data": {
      "DataType": "float",
      "TopicName": "devicehub.topic"
    },
    "WorkerNodeID": "EdgeDevice.apiTag",
    "WorkerNodeIDMode": "hierarchical"
  }
}

Response

200 OK -- application/json. No data returned on success.

{ "data": { "UpdateNode": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation UpdateNode($nodeID: NodeID!, $input: NodeRequest!) {
    UpdateNode(nodeID: $nodeID, input: $input)
}

Variables

{
    "nodeID": "{{opc_node_id}}",
    "input": {
        "ParentID": "edgedevice",
        "Name": "apiTag",
        "NodeType": "TAG",
        "Data": {
            "DataType": "float",
            "TopicName": "devicehub.topic"
        },
        "WorkerNodeID": "EdgeDevice.apiTag",
        "WorkerNodeIDMode": "hierarchical",
        "ArrayLength": null
    }
}

Response

Status: 200 OK

{
    "data": {
        "UpdateNode": null
    }
}

Remove Single Node by ID

POST {{edgeUrl}}/opcua/v2

Remove Single Node by ID

Deletes a single node by UUID. Child nodes (if any) are removed as well. To delete by category instead of by ID, see Reset Imported Hierarchy / Reset Manually Created Hierarchy / Reset All Hierarchy.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation DeleteNode($input: NodeID!) {
  DeleteNode(input: $input)
}

Variables

Field Type Required Description
input NodeID! Yes UUID of the node to delete.
{ "input": "{{opc_node_id}}" }

Response

200 OK -- application/json. No data returned on success.

{ "data": { "DeleteNode": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation DeleteNode($input: NodeID!) {
    DeleteNode(input: $input)
}

Variables

{
    "input": "{{opc_node_id}}"
}

Response

Status: 200 OK

{
    "data": {
        "DeleteNode": null
    }
}

Reset Imported Hierarchy

POST {{edgeUrl}}/opcua/v2

Reset Imported Hierarchy

Removes every node whose NodeSource is import -- i.e. every node that was auto-created when importing DeviceHub tags. Nodes created via the API (NodeSource: "manual") are preserved.

The ResetNodes mutation takes a single SourceType selector:

SourceType Effect
Import Removes nodes auto-imported from DeviceHub (NodeSource: "import").
Manual Removes nodes created via this API (NodeSource: "manual").
All Removes every node (effectively wiping the address space back to the synthetic root).

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ResetNodes($input: NodeResetRequest!) {
  ResetNodes(input: $input)
}

Variables

Field Type Required Description
SourceType String! Yes One of Import, Manual, All. Selects which nodes to remove.
{
  "input": { "SourceType": "Import" }
}

Response

200 OK -- application/json. No data returned on success.

{ "data": { "ResetNodes": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

Recoverability

There is no undo. Snapshot the hierarchy with Export As JSON before calling this if you may want to restore.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ResetNodes($input: NodeResetRequest!) {
    ResetNodes(input: $input)
}

Variables

{
    "input": {
        "SourceType": "Import"
    }
}

Response

Status: 200 OK

{
    "data": {
        "ResetNodes": null
    }
}

Reset Manually Created Hierarchy

POST {{edgeUrl}}/opcua/v2

Reset Manually Created Hierarchy

Removes every node whose NodeSource is manual -- i.e. every node created via the OPC UA API. Auto-imported DeviceHub nodes (NodeSource: "import") are preserved.

The ResetNodes mutation takes a single SourceType selector:

SourceType Effect
Import Removes nodes auto-imported from DeviceHub (NodeSource: "import").
Manual Removes nodes created via this API (NodeSource: "manual").
All Removes every node (effectively wiping the address space back to the synthetic root).

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ResetNodes($input: NodeResetRequest!) {
  ResetNodes(input: $input)
}

Variables

Field Type Required Description
SourceType String! Yes One of Import, Manual, All. Selects which nodes to remove.
{
  "input": { "SourceType": "Manual" }
}

Response

200 OK -- application/json. No data returned on success.

{ "data": { "ResetNodes": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

Recoverability

There is no undo. Snapshot the hierarchy with Export As JSON before calling this if you may want to restore.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ResetNodes($input: NodeResetRequest!) {
    ResetNodes(input: $input)
}

Variables

{
    "input": {
        "SourceType": "Manual"
    }
}

Response

Status: 200 OK

{
    "data": {
        "ResetNodes": null
    }
}

Reset All Hierarchy

POST {{edgeUrl}}/opcua/v2

Reset All Hierarchy

Removes every node, regardless of NodeSource. The hierarchy is reset to just the synthetic root.

The ResetNodes mutation takes a single SourceType selector:

SourceType Effect
Import Removes nodes auto-imported from DeviceHub (NodeSource: "import").
Manual Removes nodes created via this API (NodeSource: "manual").
All Removes every node (effectively wiping the address space back to the synthetic root).

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ResetNodes($input: NodeResetRequest!) {
  ResetNodes(input: $input)
}

Variables

Field Type Required Description
SourceType String! Yes One of Import, Manual, All. Selects which nodes to remove.
{
  "input": { "SourceType": "All" }
}

Response

200 OK -- application/json. No data returned on success.

{ "data": { "ResetNodes": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

Recoverability

There is no undo. Snapshot the hierarchy with Export As JSON before calling this if you may want to restore.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ResetNodes($input: NodeResetRequest!) {
    ResetNodes(input: $input)
}

Variables

{
    "input": {
        "SourceType": "All"
    }
}

Response

Status: 200 OK

{
    "data": {
        "ResetNodes": null
    }
}

Export As JSON

POST {{edgeUrl}}/opcua/v2

Export As JSON

Exports all of the nodes in the hierarchy as a nested JSON tree. In the LE UI this lives under the Hierarchy pane's Action menu and downloads straight to disk; the option only appears when a hierarchy exists.

Use this for backups, source-control snapshots, or migration to another device (re-import via Import JSON).

The query is named GetNodeTree; the response payload is the same shape UploadHierarchy (Import JSON) accepts.

Use Postman's Send and Download button if you want the response body saved straight to disk.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

 ```

The operation is chosen by the GraphQL query body, not the URL path.

## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. The same token is valid across `/devicehub/v2`, `/analytics/v2`, `/cc`, `/opcua`, and the other LE services.

## Request body

``` graphql
query GetNodeTree {
  GetNodeTree
}

 ```

No arguments.

## Response

`200 OK` -- `application/json`. `data.GetNodeTree` is the root node of the tree, with `children` recursively populated. The wire field names are **lower_snake_case** in this projection (`worker_node_id`, `node_source`) -- contrast with the PascalCase used by `Get Node Root` / `GetNodesByPath`. Both shapes describe the same data; this one is the round-trip format for `Import JSON`.

``` json
{
  "data": {
    "GetNodeTree": {
      "id": "edgedevice",
      "parent_id": "",
      "name": "EdgeDevice",
      "type": "FOLDER",
      "node_source": "import",
      "data": null,
      "children": null,
      "path": ["NODE", "edgedevice"],
      "worker_node_id": "EdgeDevice",
      "worker_node_id_mode": "fixed"
    }
  }
}

 ```

## Errors

GraphQL endpoints return `200 OK` even on logical errors. Inspect the `errors` array in the response body:

``` json
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }

 ```

| `extensions.code` | Meaning |
| --- | --- |
| `UNAUTHENTICATED` | Missing or invalid API token. |
| `FORBIDDEN` | Token lacks permission for this operation. |
| `BAD_USER_INPUT` | Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.). |
| `NOT_FOUND` | The targeted entity does not exist. |
| `INTERNAL_SERVER_ERROR` | DeviceHub fault. Retry, then escalate via `System > Support`. |

A non-`200` HTTP response means DeviceHub itself is unreachable. See `Dashboard > DeviceHub Status`.

> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

### Request Body

**GraphQL Query**

```graphql
query GetNodeTree {
    GetNodeTree
}

Response

Status: 200 OK

{
    "data": {
        "GetNodeTree": {
            "id": "edgedevice",
            "parent_id": "",
            "name": "EdgeDevice",
            "type": "FOLDER",
            "node_source": "import",
            "data": null,
            "children": null,
            "path": [
                "NODE",
                "edgedevice"
            ],
            "worker_node_id": "EdgeDevice",
            "worker_node_id_mode": "fixed"
        }
    }
}

Import JSON

POST {{edgeUrl}}/opcua/v2

Import JSON

Imports nodes from a JSON document into the OPC UA hierarchy. The imported nodes are merged with the existing hierarchy -- they do not replace it. Existing nodes whose IDs match nodes in the import are updated; the rest of the tree is left intact.

Action required after import: the OPC UA server must be reset for the merged hierarchy to take effect. Stop and start the server with Management > Stop OPC UA Service followed by Management > Start OPC UA Service. See the LE UI's Manage the OPC UA Server documentation for the equivalent UI flow.

The mutation accepts the snake_case JSON shape produced by Export As JSON -- you can round-trip an export verbatim.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

 ```

The operation is chosen by the GraphQL query body, not the URL path.

## Authentication

HTTP Basic Auth. **Username** is your API token, **password** is empty. The same token is valid across `/devicehub/v2`, `/analytics/v2`, `/cc`, `/opcua`, and the other LE services.

## Request body

``` graphql
mutation UploadHierarchy($input: Any!) {
  UploadHierarchy(input: $input)
}

 ```

### Variables

The `input` is the root tree from `Export As JSON` -- a single object with `id`, `name`, `type: "FOLDER"`, and a recursive `children` array.

``` json
{
  "input": {
    "id": "a335157b-013b-415e-8138-8c78faa571ee",
    "parent_id": "",
    "name": "EdgeDevice",
    "type": "FOLDER",
    "node_source": "manual",
    "data": null,
    "children": [
      {
        "id": "10c45ba5-589b-4034-8bfb-45684c67c9...",
        "...": "..."
      }
    ]
  }
}

 ```

## Response

`200 OK` -- `application/json`. No data returned on success.

``` json
{ "data": { "UploadHierarchy": null } }

 ```

## Post-import steps

``` text
1. Import JSON                  -> hierarchy is merged in storage
2. Management > Stop OPC UA Service
3. Management > Start OPC UA Service  -> merged hierarchy is now served
4. Connections > Get Server Metrics   -> verify clients can reconnect

 ```

Until the service is reset, **external OPC UA clients continue to see the pre-import hierarchy** even though the storage has been merged.

## Errors

GraphQL endpoints return `200 OK` even on logical errors. Inspect the `errors` array in the response body:

``` json
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }

 ```

| `extensions.code` | Meaning |
| --- | --- |
| `UNAUTHENTICATED` | Missing or invalid API token. |
| `FORBIDDEN` | Token lacks permission for this operation. |
| `BAD_USER_INPUT` | Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.). |
| `NOT_FOUND` | The targeted entity does not exist. |
| `INTERNAL_SERVER_ERROR` | DeviceHub fault. Retry, then escalate via `System > Support`. |

A non-`200` HTTP response means DeviceHub itself is unreachable. See `Dashboard > DeviceHub Status`.

### To replace instead of merge

If you want a true replacement (not a merge), wipe first then import:

1. `Reset All Hierarchy` (`SourceType: "All"`).

2. `Import JSON`.

3. Stop / Start the service.


> **TLS note**: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

### Request Body

**GraphQL Query**

```graphql
mutation UploadHierarchy($input: Any!) {
    UploadHierarchy(input: $input)
}

Variables

{
    "input": {
        "id": "a335157b-013b-415e-8138-8c78faa571ee",
        "parent_id": "",
        "name": "EdgeDevice",
        "type": "FOLDER",
        "node_source": "manual",
        "data": null,
        "children": [
            {
                "id": "10c45ba5-589b-4034-8bfb-45684c67c9e1",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "device1",
                "type": "DEVICE",
                "node_source": "manual",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "10c45ba5-589b-4034-8bfb-45684c67c9e1"
                ]
            },
            {
                "id": "231b695d-8603-4bc2-bcc9-abec6caca02a",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "Device1",
                "type": "TAG",
                "node_source": "manual",
                "data": {
                    "dataType": "int32",
                    "topic": "tag1"
                },
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "231b695d-8603-4bc2-bcc9-abec6caca02a"
                ]
            },
            {
                "id": "41FBD12E-C6CD-4539-AD50-336D278B207C",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "Rack 2b M258",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "41FBD12E-C6CD-4539-AD50-336D278B207C"
                ]
            },
            {
                "id": "474E42B0-C7B8-42DE-8DE2-FFED7030A563",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "DTA windows tia",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "474E42B0-C7B8-42DE-8DE2-FFED7030A563"
                ]
            },
            {
                "id": "4C4B9CCC-F5E4-4C2E-A4C0-EAF5C32B0D1A",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "AB CLX API testing",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": [
                    {
                        "id": "8BA821A2-CC97-48DE-9AB4-35AA3CE69BDD",
                        "parent_id": "4C4B9CCC-F5E4-4C2E-A4C0-EAF5C32B0D1A",
                        "name": "cAM_BadVoltageAllPot",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "bool",
                            "topic": "devicehub.alias.AB_CLX_API_testing.cAM_BadVoltageAllPot"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "4C4B9CCC-F5E4-4C2E-A4C0-EAF5C32B0D1A",
                            "8BA821A2-CC97-48DE-9AB4-35AA3CE69BDD"
                        ]
                    }
                ],
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "4C4B9CCC-F5E4-4C2E-A4C0-EAF5C32B0D1A"
                ]
            },
            {
                "id": "70a2d234-5df7-4e4c-8985-971f907e3a07",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "folder1",
                "type": "FOLDER",
                "node_source": "manual",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "70a2d234-5df7-4e4c-8985-971f907e3a07"
                ]
            },
            {
                "id": "779F42F3-54FC-4A87-B9A6-CD39CFA4A97D",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "Simulator2",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": [
                    {
                        "id": "1A5572B2-8242-40C8-BC63-FFEBC7DAF1E4",
                        "parent_id": "779F42F3-54FC-4A87-B9A6-CD39CFA4A97D",
                        "name": "apiTag",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1A5572B2-8242-40C8-BC63-FFEBC7DAF1E4"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "779F42F3-54FC-4A87-B9A6-CD39CFA4A97D",
                            "1A5572B2-8242-40C8-BC63-FFEBC7DAF1E4"
                        ]
                    },
                    {
                        "id": "5CE8DB00-8A03-475D-865F-BB34887D51C6",
                        "parent_id": "779F42F3-54FC-4A87-B9A6-CD39CFA4A97D",
                        "name": "apiCSVTag",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.5CE8DB00-8A03-475D-865F-BB34887D51C6"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "779F42F3-54FC-4A87-B9A6-CD39CFA4A97D",
                            "5CE8DB00-8A03-475D-865F-BB34887D51C6"
                        ]
                    }
                ],
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "779F42F3-54FC-4A87-B9A6-CD39CFA4A97D"
                ]
            },
            {
                "id": "79F3914E-32A1-4227-AC16-023E627EB26E",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "aa",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "79F3914E-32A1-4227-AC16-023E627EB26E"
                ]
            },
            {
                "id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "ClassificationSimulator",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": [
                    {
                        "id": "0BB9BE0A-EBC8-4932-9CCC-D9E3A994D986",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic8",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic8"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "0BB9BE0A-EBC8-4932-9CCC-D9E3A994D986"
                        ]
                    },
                    {
                        "id": "2ADE6AFF-A950-413B-82EA-2D142A76C741",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic1",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic1"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "2ADE6AFF-A950-413B-82EA-2D142A76C741"
                        ]
                    },
                    {
                        "id": "5DA5BD59-D25E-488C-A37B-B0E90649F22D",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic6",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic6"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "5DA5BD59-D25E-488C-A37B-B0E90649F22D"
                        ]
                    },
                    {
                        "id": "665E3EA1-7FFA-469F-ADCB-F9FB5472D16B",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic5",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic5"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "665E3EA1-7FFA-469F-ADCB-F9FB5472D16B"
                        ]
                    },
                    {
                        "id": "A8091B99-DBCD-4C9B-BEE1-EE571D84797A",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic0",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic0"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "A8091B99-DBCD-4C9B-BEE1-EE571D84797A"
                        ]
                    },
                    {
                        "id": "A9D97FFC-72B6-4775-AA5E-895378650B74",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic2",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic2"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "A9D97FFC-72B6-4775-AA5E-895378650B74"
                        ]
                    },
                    {
                        "id": "E3DEC8C0-EE07-4D7F-8525-26C585E2B603",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic3",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic3"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "E3DEC8C0-EE07-4D7F-8525-26C585E2B603"
                        ]
                    },
                    {
                        "id": "E4E22269-5B67-4EF2-BFD8-578072AE1A29",
                        "parent_id": "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                        "name": "motionTopic4",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.ClassificationSimulator.motionTopic4"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "89C52E9A-0901-4D8D-B842-7B533F64E1B7",
                            "E4E22269-5B67-4EF2-BFD8-578072AE1A29"
                        ]
                    }
                ],
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "89C52E9A-0901-4D8D-B842-7B533F64E1B7"
                ]
            },
            {
                "id": "BAFD349E-21B6-408A-AE2F-B9C682912571",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "Boiler",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "BAFD349E-21B6-408A-AE2F-B9C682912571"
                ]
            },
            {
                "id": "CDC283FB-72E2-42DF-A587-4D6299D70C9A",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "sim1",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": [
                    {
                        "id": "5EAEBA93-B17D-45FC-8291-CA5CFCEFB994",
                        "parent_id": "CDC283FB-72E2-42DF-A587-4D6299D70C9A",
                        "name": "sine1",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.sim1.sine1"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "CDC283FB-72E2-42DF-A587-4D6299D70C9A",
                            "5EAEBA93-B17D-45FC-8291-CA5CFCEFB994"
                        ]
                    },
                    {
                        "id": "A21EB566-296F-41A8-8436-C5C73E2C5448",
                        "parent_id": "CDC283FB-72E2-42DF-A587-4D6299D70C9A",
                        "name": "sine2",
                        "type": "TAG",
                        "node_source": "import",
                        "data": {
                            "dataType": "float64",
                            "topic": "devicehub.alias.sim1.sine2"
                        },
                        "children": null,
                        "path": [
                            "NODE",
                            "a335157b-013b-415e-8138-8c78faa571ee",
                            "CDC283FB-72E2-42DF-A587-4D6299D70C9A",
                            "A21EB566-296F-41A8-8436-C5C73E2C5448"
                        ]
                    }
                ],
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "CDC283FB-72E2-42DF-A587-4D6299D70C9A"
                ]
            },
            {
                "id": "D0C3FE53-5069-4FD7-B565-4F362AED18E9",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "aba",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "D0C3FE53-5069-4FD7-B565-4F362AED18E9"
                ]
            },
            {
                "id": "EEF5EE7F-54C7-415A-B1C7-4F9386112DEB",
                "parent_id": "a335157b-013b-415e-8138-8c78faa571ee",
                "name": "D14 Boiler Power PAC4200",
                "type": "DEVICE",
                "node_source": "import",
                "data": null,
                "children": null,
                "path": [
                    "NODE",
                    "a335157b-013b-415e-8138-8c78faa571ee",
                    "EEF5EE7F-54C7-415A-B1C7-4F9386112DEB"
                ]
            }
        ],
        "path": [
            "NODE",
            "a335157b-013b-415e-8138-8c78faa571ee"
        ]
    }
}

Response

Status: 200 OK

{
    "data": {
        "UploadHierarchy": null
    }
}

Import Some DH Tags

POST {{edgeUrl}}/opcua/v2

Import Some DH Tags

Imports a subset of DeviceHub tags into the OPC UA hierarchy by listing specific (DeviceID, RegistersID[]) groups. Each register becomes a TAG node under a DEVICE node (created if it doesn't exist).

Use this when you want to expose only a curated slice of DeviceHub tags over OPC UA. For bulk imports, see Import all DH Tags of a Device or Import ALL DH Tags.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ImportSomeDeviceHubTags($input: ImportSomeDeviceTagsRequest!) {
  ImportSomeDeviceHubTags(input: $input) {
    ImportedCount
    FailedCount
    SkippedCount
  }
}

Variables

Field Type Required Description
Tags [TagGroup!]! Yes One entry per device.
Tags[].DeviceID ID! Yes DeviceHub device UUID.
Tags[].RegistersID [ID!]! Yes DeviceHub register UUIDs to import for that device. Empty array imports every register on the device (same as Import all DH Tags of a Device).
{
  "input": {
    "Tags": [
      {
        "DeviceID": "{{deviceID}}",
        "RegistersID": ["{{register_id}}"]
      }
    ]
  }
}

Response

200 OK -- application/json

Field Type Description
data.ImportSomeDeviceHubTags.ImportedCount integer Newly imported tags.
data.ImportSomeDeviceHubTags.FailedCount integer Tags that could not be imported (missing register, name collision, etc.).
data.ImportSomeDeviceHubTags.SkippedCount integer Tags already present in the hierarchy and left unchanged.
{
  "data": {
    "ImportSomeDeviceHubTags": {
      "ImportedCount": 1,
      "FailedCount": 0,
      "SkippedCount": 0
    }
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ImportSomeDeviceHubTags($input: ImportSomeDeviceTagsRequest!) {
    ImportSomeDeviceHubTags(input: $input) {
        ImportedCount
        FailedCount
        SkippedCount
    }
}

Variables

{
    "input": {
        "Tags": [
            {
                "DeviceID": "{{deviceID}}",
                "RegistersID": [
                    "{{register_id}}"
                ]
            }
        ]
    }
}

Response

Status: 200 OK

{
    "data": {
        "ImportSomeDeviceHubTags": {
            "ImportedCount": 1,
            "FailedCount": 0,
            "SkippedCount": 0
        }
    }
}

Import all DH Tags of a Device

POST {{edgeUrl}}/opcua/v2

Import all DH Tags of a Device

Imports every DeviceHub tag from a single device into the OPC UA hierarchy. Convenience form of Import Some DH Tags with an empty RegistersID array.

The mutation reused under the hood is ImportSomeDeviceHubTags; this endpoint exists to make the "all-on-one-device" intent obvious in the collection.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ImportSomeDeviceHubTags($input: ImportSomeDeviceTagsRequest!) {
  ImportSomeDeviceHubTags(input: $input) {
    ImportedCount
    FailedCount
    SkippedCount
  }
}

Variables

{
  "input": {
    "Tags": [
      {
        "DeviceID": "{{deviceID}}",
        "RegistersID": []
      }
    ]
  }
}

RegistersID: [] is the "all registers on this device" signal.

Response

Same shape as Import Some DH Tags. Typical response for a device with 230 tags:

{
  "data": {
    "ImportSomeDeviceHubTags": {
      "ImportedCount": 230,
      "FailedCount": 0,
      "SkippedCount": 0
    }
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ImportSomeDeviceHubTags($input: ImportSomeDeviceTagsRequest!) {
    ImportSomeDeviceHubTags(input: $input) {
        ImportedCount
        FailedCount
        SkippedCount
    }
}

Variables

{
    "input": {
        "Tags": [
            {
                "DeviceID": "{{deviceID}}",
                "RegistersID": []
            }
        ]
    }
}

Response

Status: 200 OK

{
    "data": {
        "ImportSomeDeviceHubTags": {
            "ImportedCount": 230,
            "FailedCount": 0,
            "SkippedCount": 0
        }
    }
}

Import ALL DH Tags

POST {{edgeUrl}}/opcua/v2

Import ALL DH Tags

Imports every DeviceHub tag from every device into the OPC UA hierarchy in one call. This is the wholesale "expose everything" shortcut.

The response is the full resulting tree -- handy for verifying the import succeeded without a separate Get Node Root / Get Nodes by Paths walk.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ImportDeviceHubTag {
  ImportDeviceHubTags
}

No arguments.

Response

200 OK -- application/json. data.ImportDeviceHubTags is the root of the resulting hierarchy (same shape as Export As JSON).

{
  "data": {
    "ImportDeviceHubTags": {
      "name": "EdgeDevice",
      "type": "FOLDER",
      "id": "edgedevice",
      "data": null,
      "children": [
        {
          "name": "apiTestDevice",
          "type": "DEVICE",
          "id": "apiTestDevice",
          "node_source": "import",
          "worker_node_id": "EdgeDevice.apiTestDevice",
          "worker_node_id_mode": "hierarchical",
          "children": []
        }
      ]
    }
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ImportDeviceHubTag {
    ImportDeviceHubTags
}

Response

Status: 200 OK

{
    "data": {
        "ImportDeviceHubTags": {
            "name": "EdgeDevice",
            "type": "FOLDER",
            "id": "edgedevice",
            "data": null,
            "children": [
                {
                    "name": "apiTestDevice",
                    "type": "DEVICE",
                    "id": "apiTestDevice",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.apiTestDevice",
                    "worker_node_id_mode": "hierarchical",
                    "children": [
                        {
                            "name": "fake123",
                            "type": "TAG",
                            "id": "fake123",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.apiTestDevice.fake123"
                            },
                            "worker_node_id": "EdgeDevice.apiTestDevice.fake123",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "asdf",
                            "type": "TAG",
                            "id": "asdf",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.apiTestDevice.asdf"
                            },
                            "worker_node_id": "EdgeDevice.apiTestDevice.asdf",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        }
                    ]
                },
                {
                    "name": "Rack_2b_M258",
                    "type": "DEVICE",
                    "id": "Rack_2b_M258",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.Rack 2b M258",
                    "worker_node_id_mode": "hierarchical",
                    "children": [
                        {
                            "name": "fake",
                            "type": "TAG",
                            "id": "fake",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.41FBD12E-C6CD-4539-AD50-336D278B207C.EAFA65F1-C38B-48F5-BC81-1B6F5DC126C6"
                            },
                            "worker_node_id": "EdgeDevice.Rack 2b M258.fake",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        }
                    ]
                },
                {
                    "name": "DTA_windows_tia",
                    "type": "DEVICE",
                    "id": "DTA_windows_tia",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.DTA windows tia",
                    "worker_node_id_mode": "hierarchical",
                    "children": null
                },
                {
                    "name": "AB_CLX_API_testing",
                    "type": "DEVICE",
                    "id": "AB_CLX_API_testing",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.AB CLX API testing",
                    "worker_node_id_mode": "hierarchical",
                    "children": [
                        {
                            "name": "cAM_BadVoltageAllPot",
                            "type": "TAG",
                            "id": "cAM_BadVoltageAllPot",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.alias.AB_CLX_API_testing.cAM_BadVoltageAllPot"
                            },
                            "worker_node_id": "EdgeDevice.AB CLX API testing.cAM_BadVoltageAllPot",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        }
                    ]
                },
                {
                    "name": "Simulator2",
                    "type": "DEVICE",
                    "id": "Simulator2",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.Simulator2",
                    "worker_node_id_mode": "hierarchical",
                    "children": [
                        {
                            "name": "AirFlow16PV",
                            "type": "TAG",
                            "id": "AirFlow16PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.007398CD-51DC-47B8-A3FD-F51929EA61DF"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow16PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow7SP",
                            "type": "TAG",
                            "id": "WaterFlow7SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.01133640-EFBC-44F1-8188-A1447C00A5CC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow7SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step7PressureSP",
                            "type": "TAG",
                            "id": "Step7PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.020EF751-10AB-433E-BF38-A9013A4B8971"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step7PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow13PV",
                            "type": "TAG",
                            "id": "WaterFlow13PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.035CD2C9-35CF-405D-A984-1E5DFC816583"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow13PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel18PV",
                            "type": "TAG",
                            "id": "AirChannel18PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.049ED31A-F0A3-491B-92BC-D47E85237174"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel18PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration14SP",
                            "type": "TAG",
                            "id": "AirDuration14SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.04C0FEB1-227D-400B-87F7-6C8478DA7944"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration14SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration11SP",
                            "type": "TAG",
                            "id": "AirDuration11SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.05E3241F-43BB-4045-BF69-4A26EE4F5705"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration11SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay16SP",
                            "type": "TAG",
                            "id": "WaterDelay16SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.05FE7CD0-8751-4C0B-AE1F-185B86E974F8"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay16SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration19SP",
                            "type": "TAG",
                            "id": "AirDuration19SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0671BF01-6365-482B-A08D-404ABB2BB075"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration19SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay13SP",
                            "type": "TAG",
                            "id": "WaterDelay13SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.07611094-25D2-4FF5-BD6F-8EB4B00C5CE4"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay13SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration12SP",
                            "type": "TAG",
                            "id": "WaterDuration12SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.08463862-6FF0-48DB-9B38-3B25AC7F13FC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration12SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow3SP",
                            "type": "TAG",
                            "id": "AirFlow3SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.09EDAB62-CF5C-4841-9FE4-96E8A7BB53A0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow3SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "PressurisationSP",
                            "type": "TAG",
                            "id": "PressurisationSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0A39EA69-3EBB-4321-AA5C-0C004EF73829"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.PressurisationSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step1PressureSP",
                            "type": "TAG",
                            "id": "Step1PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0A760E01-3953-49FB-BBF2-04157B193C0E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step1PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow18SP",
                            "type": "TAG",
                            "id": "AirFlow18SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0B370978-F01B-45B8-9A45-4BB8A3B520AD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow18SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration7SP",
                            "type": "TAG",
                            "id": "AirDuration7SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0B3BE0F5-1969-4116-AF67-D14D18C65F29"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration7SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel5PV",
                            "type": "TAG",
                            "id": "AirChannel5PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0BF9FE07-1348-4FAC-83B3-37713C4611FC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel5PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel16PV",
                            "type": "TAG",
                            "id": "AirChannel16PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0F7F573F-AD8A-435D-A9E5-1A253EAA9052"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel16PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration4SP",
                            "type": "TAG",
                            "id": "WaterDuration4SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0FCDA97E-6418-4DF4-AB0B-9B719C8148E0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration4SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel8PV",
                            "type": "TAG",
                            "id": "AirChannel8PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.0FFEBA8C-3BD1-4257-B637-F55AD8A8DE05"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel8PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow4PV",
                            "type": "TAG",
                            "id": "AirFlow4PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.105EED56-0778-40FB-BA0F-1DD98B23D892"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow4PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow19PV",
                            "type": "TAG",
                            "id": "AirFlow19PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.10CE0BEA-D926-4E6D-83FC-461A79AB1DA8"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow19PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow10PV",
                            "type": "TAG",
                            "id": "WaterFlow10PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1399FCAF-FA13-4CA3-A32D-9C366126B5A0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow10PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow1SP",
                            "type": "TAG",
                            "id": "AirFlow1SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.13DEA627-851E-4B00-801C-5C428F3E5EBC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow1SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration1SP",
                            "type": "TAG",
                            "id": "AirDuration1SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1425F7ED-0017-4BD6-BD4B-87727648AA2F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration1SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow11PV",
                            "type": "TAG",
                            "id": "WaterFlow11PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1530314B-613A-4E8A-BC0D-BD28D0E9C5EB"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow11PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay9SP",
                            "type": "TAG",
                            "id": "AirDelay9SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.16953B90-212E-4A40-A8D5-81CDA2280A5C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay9SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow11SP",
                            "type": "TAG",
                            "id": "AirFlow11SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1A297B2B-2365-45CF-8FFB-28C5BCD67C0C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow11SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow17SP",
                            "type": "TAG",
                            "id": "AirFlow17SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1A6A591B-5552-4BA0-9F24-4D452CFD2D77"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow17SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow5SP",
                            "type": "TAG",
                            "id": "WaterFlow5SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1A90845F-8949-436F-BD15-4CB5153F32EB"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow5SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow23SP",
                            "type": "TAG",
                            "id": "AirFlow23SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1CAE0D52-E438-4F67-A9AE-844C65649A1E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow23SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay10SP",
                            "type": "TAG",
                            "id": "AirDelay10SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.1D113184-E045-493C-BA3A-A1504AD96B65"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay10SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow3PV",
                            "type": "TAG",
                            "id": "AirFlow3PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2326983B-9990-4A14-8214-D62F128DE158"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow3PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "MoldTemp1PV",
                            "type": "TAG",
                            "id": "MoldTemp1PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.23C11F34-D27C-4F2A-B7DA-ABCAA0A4FB64"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.MoldTemp1PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow6PV",
                            "type": "TAG",
                            "id": "WaterFlow6PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.26D1C814-82D0-4EA4-A706-57EA008C3520"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow6PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow1PV",
                            "type": "TAG",
                            "id": "WaterFlow1PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2741C160-07FD-4284-AEDD-6085D80004AA"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow1PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel7PV",
                            "type": "TAG",
                            "id": "AirChannel7PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2750B941-11C6-45D4-B186-4F7333C672CD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel7PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow13PV",
                            "type": "TAG",
                            "id": "AirFlow13PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.28084D2B-AF2A-4F45-9977-B296558C5124"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow13PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow9PV",
                            "type": "TAG",
                            "id": "WaterFlow9PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.28EBC92A-3DE4-44E5-ADC8-489AD7DCBAAC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow9PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "RamSpeedUp",
                            "type": "TAG",
                            "id": "RamSpeedUp",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2B284910-42E0-4876-A0BE-47A4253064ED"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.RamSpeedUp",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel11PV",
                            "type": "TAG",
                            "id": "AirChannel11PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2BB70BB8-A7EC-442E-AF3F-835F1D778E6B"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel11PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel24PV",
                            "type": "TAG",
                            "id": "AirChannel24PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2BBC85B9-9A2C-44E5-A160-84D13AE40322"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel24PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow8SP",
                            "type": "TAG",
                            "id": "AirFlow8SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2C696F5C-2082-44E3-9D7C-00DACCFB95E4"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow8SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration9SP",
                            "type": "TAG",
                            "id": "AirDuration9SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2CE02B16-7BF1-4CDA-9EB2-CAD1C9AC7ED6"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration9SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay12SP",
                            "type": "TAG",
                            "id": "AirDelay12SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2D173909-8A22-4B1B-9D27-E9A4C24D70DD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay12SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step5PressureSP",
                            "type": "TAG",
                            "id": "Step5PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2E833A1F-2700-4A41-A4A6-5B4B51D4DE0E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step5PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow2SP",
                            "type": "TAG",
                            "id": "AirFlow2SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2ECC5790-C2C8-4E20-A5CD-1649FA0C7259"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow2SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "HalfCycle1",
                            "type": "TAG",
                            "id": "HalfCycle1",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2F63B774-B35F-43CA-B25F-394FD41FFD5C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.HalfCycle1",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow4SP",
                            "type": "TAG",
                            "id": "AirFlow4SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.2F884021-E5A8-4934-9BF7-9CA73B224596"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow4SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "HFDoorOpen",
                            "type": "TAG",
                            "id": "HFDoorOpen",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.30A2F3B9-83A2-46B7-8318-E975E51D54A4"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.HFDoorOpen",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow13SP",
                            "type": "TAG",
                            "id": "WaterFlow13SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.313E6FF2-5169-4DFC-9595-DFBAB62EB6FA"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow13SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration15SP",
                            "type": "TAG",
                            "id": "WaterDuration15SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.342D8268-951A-4831-BBA7-D66E3D11F0E5"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration15SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay23SP",
                            "type": "TAG",
                            "id": "AirDelay23SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.34B14B4C-3CBC-41D0-9561-2AB91BF17D22"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay23SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel2PV",
                            "type": "TAG",
                            "id": "AirChannel2PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.352A50A9-21AE-4D40-B9D1-4BDC710306DC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel2PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterChannel12PV",
                            "type": "TAG",
                            "id": "WaterChannel12PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.37687BD5-6546-49C9-89DB-1C2841167226"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterChannel12PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "HFMetalTempPV",
                            "type": "TAG",
                            "id": "HFMetalTempPV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.38982E38-89BC-4C0C-8DB6-0A8EFEED0C5D"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.HFMetalTempPV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow20PV",
                            "type": "TAG",
                            "id": "AirFlow20PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.38E30062-C936-4037-8B08-9C02BA082960"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow20PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel10PV",
                            "type": "TAG",
                            "id": "AirChannel10PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3A277C99-3181-4FF5-B536-D060C91D7399"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel10PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay7SP",
                            "type": "TAG",
                            "id": "AirDelay7SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3C0CCB7A-6392-4668-B095-03B450903D9F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay7SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step2TimeSP",
                            "type": "TAG",
                            "id": "Step2TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3CE02796-3711-400E-87EA-0AE7D3FAB287"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step2TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow1SP",
                            "type": "TAG",
                            "id": "WaterFlow1SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3D8FC076-57B3-46E8-8DDC-55CA58228C8D"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow1SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay2SP",
                            "type": "TAG",
                            "id": "WaterDelay2SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3DBF7A4B-9FA7-45F5-B69A-3AF4F4A646BB"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay2SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration10SP",
                            "type": "TAG",
                            "id": "AirDuration10SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3E28C867-FC8E-41C0-A060-549186244137"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration10SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay11SP",
                            "type": "TAG",
                            "id": "WaterDelay11SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3E36835D-D1B8-4551-93FD-A077094E827A"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay11SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration15SP",
                            "type": "TAG",
                            "id": "AirDuration15SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.3EDBDDAF-9707-4687-B250-D4FC846D309C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration15SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel19PV",
                            "type": "TAG",
                            "id": "AirChannel19PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4146B7AA-06C9-452B-A94D-DFF4751719B8"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel19PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "MoldTemp4PV",
                            "type": "TAG",
                            "id": "MoldTemp4PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.43011C4F-90D3-4491-B8AE-04E11C4BD614"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.MoldTemp4PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Mold",
                            "type": "TAG",
                            "id": "Mold",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.458B95A1-5079-4A26-8A3C-3993C423C963"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Mold",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay4SP",
                            "type": "TAG",
                            "id": "WaterDelay4SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.45DEB525-CE9F-4733-8BDC-55F719999E50"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay4SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration18SP",
                            "type": "TAG",
                            "id": "AirDuration18SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.47EFDBA0-517B-4791-ABAD-2526B90B2275"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration18SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterTempPV",
                            "type": "TAG",
                            "id": "WaterTempPV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4813C546-8947-4D42-8B3B-496F71703C4F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterTempPV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow16PV",
                            "type": "TAG",
                            "id": "WaterFlow16PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.495C9AF9-E495-4948-9811-D6457191CE64"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow16PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow4PV",
                            "type": "TAG",
                            "id": "WaterFlow4PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4A28046D-948B-485F-B449-A797A642B603"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow4PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "HFMetalTempSP",
                            "type": "TAG",
                            "id": "HFMetalTempSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4CBEEB37-C07A-43D8-BFC9-C591CC523FFD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.HFMetalTempSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow15PV",
                            "type": "TAG",
                            "id": "AirFlow15PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4CCBBA4A-40EA-4062-96B3-BE2BE59AD4D6"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow15PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow16SP",
                            "type": "TAG",
                            "id": "AirFlow16SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4D6C1FB5-EBB9-41C3-828C-D90F267B8491"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow16SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration8SP",
                            "type": "TAG",
                            "id": "WaterDuration8SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4E4CDE8D-2879-41B2-ACFB-945B2E151B7F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration8SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay19SP",
                            "type": "TAG",
                            "id": "AirDelay19SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.4F1E2CE9-7317-4114-9CFF-8E52B81ACF50"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay19SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step5TimeSP",
                            "type": "TAG",
                            "id": "Step5TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.55F4925D-82CA-4800-BEA8-0A3449726D1C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step5TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow11PV",
                            "type": "TAG",
                            "id": "AirFlow11PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.5603E3A3-502F-491B-BA10-EC2E45042136"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow11PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay14SP",
                            "type": "TAG",
                            "id": "WaterDelay14SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.586B583A-C111-475D-B13D-EA27228007F6"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay14SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration6SP",
                            "type": "TAG",
                            "id": "WaterDuration6SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.58B3CD67-57D2-4D9E-9B7E-8FB4D5E95154"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration6SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow8PV",
                            "type": "TAG",
                            "id": "WaterFlow8PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.5980A582-E5A5-4B8D-8FAA-797170FCB053"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow8PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow6SP",
                            "type": "TAG",
                            "id": "WaterFlow6SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.5A77DBE1-0446-48FA-8552-EB8617B5D7E9"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow6SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay15SP",
                            "type": "TAG",
                            "id": "AirDelay15SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.5BDDD1EB-6D2C-407E-B8DA-E7AC6A2B25CE"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay15SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step7TimeSP",
                            "type": "TAG",
                            "id": "Step7TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.5DFA21D6-FC78-4DC9-9E9A-FA73D9551EA0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step7TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration13SP",
                            "type": "TAG",
                            "id": "WaterDuration13SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.5E8D6D28-A577-48EF-9059-C9B5A0AF7D27"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration13SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration5SP",
                            "type": "TAG",
                            "id": "WaterDuration5SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.6088D0F0-66FE-4A71-A1A1-BE15229285A7"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration5SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel3PV",
                            "type": "TAG",
                            "id": "AirChannel3PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.61073BD5-4D06-4588-85D9-B9EABFC58FD9"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel3PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow14SP",
                            "type": "TAG",
                            "id": "AirFlow14SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.611A1DEA-DA2C-4337-8D62-CC4D3D49D4DF"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow14SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step6PressureSP",
                            "type": "TAG",
                            "id": "Step6PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.617E1B9D-F11D-4D8B-9CC7-6D51BD8899E4"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step6PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration24SP",
                            "type": "TAG",
                            "id": "AirDuration24SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.65E499B4-56F5-43AE-8133-320DD1AB66F0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration24SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay2SP",
                            "type": "TAG",
                            "id": "AirDelay2SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.67B86F3A-518A-4F5B-9858-AABB9D5A2E07"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay2SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "PartId2",
                            "type": "TAG",
                            "id": "PartId2",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.684E0337-2981-429A-AE1B-F8C281FC1B4B"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.PartId2",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "PressurisationPV",
                            "type": "TAG",
                            "id": "PressurisationPV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.693FD8A3-D186-4D2C-97D3-B2ABFA3BF7BD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.PressurisationPV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Product",
                            "type": "TAG",
                            "id": "Product",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.6B2DDA4D-F4C7-42FB-8BF6-582914B76719"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Product",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay3SP",
                            "type": "TAG",
                            "id": "WaterDelay3SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.6B59BA54-ADA6-4F9E-BB85-A0BA264A9F60"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay3SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow12PV",
                            "type": "TAG",
                            "id": "AirFlow12PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.6D5EC569-FFD6-4642-9599-BEAC0EDE71B4"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow12PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration11SP",
                            "type": "TAG",
                            "id": "WaterDuration11SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.6D6FBCE3-DA5E-4FB4-BB93-596D7AD3068C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration11SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirTempPV",
                            "type": "TAG",
                            "id": "AirTempPV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.70FFE8BC-D156-4256-9291-A825057EBAFC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirTempPV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration8SP",
                            "type": "TAG",
                            "id": "AirDuration8SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.72011829-8CC7-4A56-BC8D-A71A25D5EE65"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration8SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow24PV",
                            "type": "TAG",
                            "id": "AirFlow24PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.753BBAEF-FFB3-4A72-B6C6-35E6BE8F06C4"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow24PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel4PV",
                            "type": "TAG",
                            "id": "AirChannel4PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.75A6A198-ACBF-45E2-A09E-3E4CFB9A1807"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel4PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay16SP",
                            "type": "TAG",
                            "id": "AirDelay16SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.772AB7FD-900E-4209-B36E-48324BA02C5B"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay16SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay3SP",
                            "type": "TAG",
                            "id": "AirDelay3SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.77C7B31A-9F21-4345-9589-0DA26AD2032E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay3SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration6SP",
                            "type": "TAG",
                            "id": "AirDuration6SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.782D14D8-EFBB-49E6-A047-7E47F8E456F3"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration6SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration20SP",
                            "type": "TAG",
                            "id": "AirDuration20SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7A4FA8A3-C52A-42C3-9282-01A06BDA881C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration20SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow14PV",
                            "type": "TAG",
                            "id": "WaterFlow14PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7A62E47A-F2B7-4906-859E-33B7E88D998E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow14PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay14SP",
                            "type": "TAG",
                            "id": "AirDelay14SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7A7F95C4-44FD-46E2-81A5-D03BD1EA79BA"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay14SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow2PV",
                            "type": "TAG",
                            "id": "AirFlow2PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7ACF6C69-8B83-48F6-9EBF-71C62D72B39C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow2PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "PartId1",
                            "type": "TAG",
                            "id": "PartId1",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7C086C70-E2FF-4418-A77B-292E1132A166"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.PartId1",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step2PressureSP",
                            "type": "TAG",
                            "id": "Step2PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7E3544DE-E813-4688-B9A5-97C0CDF51709"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step2PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay8SP",
                            "type": "TAG",
                            "id": "AirDelay8SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7E778672-79FB-48F6-902C-18D237CE819F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay8SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow24SP",
                            "type": "TAG",
                            "id": "AirFlow24SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.7F16DDB2-62FB-49BD-96FF-259F46C7EAE6"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow24SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "MoldTemp2PV",
                            "type": "TAG",
                            "id": "MoldTemp2PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.80B8C0D9-D61A-4B52-9493-A85DD794CDE2"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.MoldTemp2PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow19SP",
                            "type": "TAG",
                            "id": "AirFlow19SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8179CF1A-8D84-4AEB-946C-3903BBC48389"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow19SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow22SP",
                            "type": "TAG",
                            "id": "AirFlow22SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.823D577D-B4FE-44E0-AC07-D5506FFDA025"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow22SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration4SP",
                            "type": "TAG",
                            "id": "AirDuration4SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.82693835-30E8-42EF-9F1A-3BB649B5F738"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration4SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow14SP",
                            "type": "TAG",
                            "id": "WaterFlow14SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.826DFC1E-3C4E-401D-BBDD-F4834D0B398F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow14SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow4SP",
                            "type": "TAG",
                            "id": "WaterFlow4SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.829BAA07-6F60-4711-9E72-ED3608EC6F69"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow4SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay1SP",
                            "type": "TAG",
                            "id": "WaterDelay1SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.83FFCB83-32F2-42B0-8720-660E73F4A346"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay1SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow20SP",
                            "type": "TAG",
                            "id": "AirFlow20SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.84BF47D7-9DBD-415B-808E-98A010D9A2E2"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow20SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay8SP",
                            "type": "TAG",
                            "id": "WaterDelay8SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8562F827-6E1E-43DD-A58A-D6AC13EA21BF"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay8SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "NormalCycle",
                            "type": "TAG",
                            "id": "NormalCycle",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.85D5E4F4-DE3B-4CD0-AE51-62A17F441BF7"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.NormalCycle",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow18PV",
                            "type": "TAG",
                            "id": "AirFlow18PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.86A215A6-6665-4F4C-9076-A6955822D16F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow18PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay24SP",
                            "type": "TAG",
                            "id": "AirDelay24SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.88C85F1E-AA58-4C73-9998-A9D42EBE86DE"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay24SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "HalfCycle3",
                            "type": "TAG",
                            "id": "HalfCycle3",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8925F28D-53B3-42BB-B3A8-FA8B33618D39"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.HalfCycle3",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "HoldingTimeSP",
                            "type": "TAG",
                            "id": "HoldingTimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8B4A2274-D4E3-463E-BBD0-36B1603CD295"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.HoldingTimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay9SP",
                            "type": "TAG",
                            "id": "WaterDelay9SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8BD09C94-C269-4A8B-B34F-5CB8E317178D"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay9SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration16SP",
                            "type": "TAG",
                            "id": "AirDuration16SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8BD353FE-B6A4-4C20-A828-B569C68FAB1C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration16SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow12SP",
                            "type": "TAG",
                            "id": "AirFlow12SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8D405273-0132-42FC-96B0-6FF6D1B4279C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow12SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration1SP",
                            "type": "TAG",
                            "id": "WaterDuration1SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.8ED3098F-349E-4B08-A087-6EEB80F29F56"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration1SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration13SP",
                            "type": "TAG",
                            "id": "AirDuration13SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.90A5F721-3B86-4A8A-95C7-D539387C36C5"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration13SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "CatcherSpeedOut",
                            "type": "TAG",
                            "id": "CatcherSpeedOut",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.93A9D9FF-15E6-41B1-A103-1F38DEB2E19E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.CatcherSpeedOut",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow3SP",
                            "type": "TAG",
                            "id": "WaterFlow3SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.95C40711-9381-4CE2-AE69-8C795AA4E1FD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow3SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel13PV",
                            "type": "TAG",
                            "id": "AirChannel13PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.97DE4DD2-D0BE-4159-86BE-4FACCDDDB602"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel13PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow7SP",
                            "type": "TAG",
                            "id": "AirFlow7SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.988FAC5F-CAFA-477A-916C-BBA4DBB0AE11"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow7SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration3SP",
                            "type": "TAG",
                            "id": "WaterDuration3SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.99065854-8756-458C-B819-830CF8AAD847"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration3SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration9SP",
                            "type": "TAG",
                            "id": "WaterDuration9SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.99428415-F8B3-4532-B51C-0FCAF2E0B7F7"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration9SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay22SP",
                            "type": "TAG",
                            "id": "AirDelay22SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.9C40696C-3940-46AE-9571-CDBE55DBB897"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay22SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow17PV",
                            "type": "TAG",
                            "id": "AirFlow17PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.9CEF13C7-83B5-42F3-8791-D584E164D060"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow17PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel15PV",
                            "type": "TAG",
                            "id": "AirChannel15PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.9E66BA53-24A3-4C5E-965A-DF620B0CB9AF"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel15PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow12SP",
                            "type": "TAG",
                            "id": "WaterFlow12SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.9FA96094-04F9-4F55-A659-2E189A17A91F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow12SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow15SP",
                            "type": "TAG",
                            "id": "WaterFlow15SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.9FCCB844-4E7D-4CA3-B074-3832A43271CE"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow15SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow8SP",
                            "type": "TAG",
                            "id": "WaterFlow8SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A31733ED-84B6-4110-9653-61A2E5046EF2"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow8SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "MoldTemp3PV",
                            "type": "TAG",
                            "id": "MoldTemp3PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A46AF57B-48F3-49DA-BF68-B19668D04A4F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.MoldTemp3PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow15SP",
                            "type": "TAG",
                            "id": "AirFlow15SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A4A8C0F3-5824-419F-BFD7-40DFE8D0F350"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow15SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel22PV",
                            "type": "TAG",
                            "id": "AirChannel22PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A4E328FA-9832-4D7B-AC03-996BDF32E9B1"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel22PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterChannel15PV",
                            "type": "TAG",
                            "id": "WaterChannel15PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A52DA03B-E852-4699-8910-1245DFC833C0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterChannel15PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow6SP",
                            "type": "TAG",
                            "id": "AirFlow6SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A5A9C47E-BD7B-4E8E-9403-F23B323BD989"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow6SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step8TimeSP",
                            "type": "TAG",
                            "id": "Step8TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A5F9922A-1026-42EB-BACC-D9429F186EBD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step8TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow22PV",
                            "type": "TAG",
                            "id": "AirFlow22PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A62FA8B2-BA7A-414B-BEA6-723B0FE07BF0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow22PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "PartWeightSP",
                            "type": "TAG",
                            "id": "PartWeightSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A8C800D0-9B13-40CD-84B9-817A23AC17B1"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.PartWeightSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay12SP",
                            "type": "TAG",
                            "id": "WaterDelay12SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.A9530283-8C7F-4CEB-A60A-D376EFADC8C4"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay12SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay17SP",
                            "type": "TAG",
                            "id": "AirDelay17SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.AA0609EF-6E31-4EDA-959A-79AED0582B69"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay17SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration7SP",
                            "type": "TAG",
                            "id": "WaterDuration7SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.AB25B043-2561-4D11-B6D4-3DA86140F967"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration7SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay5SP",
                            "type": "TAG",
                            "id": "WaterDelay5SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.AC3DCCF4-B843-40DE-8A1B-4FDAFF6FFBB5"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay5SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow2SP",
                            "type": "TAG",
                            "id": "WaterFlow2SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.AD17B4A5-7CE3-4FB7-A4CA-2570C16A2011"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow2SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow10PV",
                            "type": "TAG",
                            "id": "AirFlow10PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.B02A9EC4-E4EA-493F-BC82-9258A1AEB548"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow10PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step3TimeSP",
                            "type": "TAG",
                            "id": "Step3TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.B2F0EE2A-AE46-4EBA-A510-C990CFB3C3FC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step3TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow23PV",
                            "type": "TAG",
                            "id": "AirFlow23PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.B3619189-9417-46A6-9A7D-5ACC63837C88"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow23PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow7PV",
                            "type": "TAG",
                            "id": "AirFlow7PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.B4A8620F-C4A6-4C9F-A0F0-E079C39D5BF2"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow7PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow9SP",
                            "type": "TAG",
                            "id": "WaterFlow9SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.B7B06973-CCB7-4314-A400-C2786F8EEB10"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow9SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration21SP",
                            "type": "TAG",
                            "id": "AirDuration21SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.B8CDF42B-8B6F-4646-92A4-52E4417A7A10"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration21SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow5SP",
                            "type": "TAG",
                            "id": "AirFlow5SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.BB156F9D-04F8-4B5B-B731-7600739DDEAC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow5SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow9PV",
                            "type": "TAG",
                            "id": "AirFlow9PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.BD468C80-C257-4D1F-8C06-29ACE23FE7DC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow9PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel21PV",
                            "type": "TAG",
                            "id": "AirChannel21PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C030A692-C00F-4A02-B4AA-1FEAC7E5DA1A"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel21PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "DieClose",
                            "type": "TAG",
                            "id": "DieClose",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C1816CDF-B574-4881-8421-0FFED125DC1A"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.DieClose",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay6SP",
                            "type": "TAG",
                            "id": "AirDelay6SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C309619E-7B7D-4AB4-B71E-66C535FF56C0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay6SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay20SP",
                            "type": "TAG",
                            "id": "AirDelay20SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C3C09DC0-B9F1-40CC-95BD-EF334EC766B8"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay20SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow9SP",
                            "type": "TAG",
                            "id": "AirFlow9SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C5E2FBC0-F33B-48DD-AF87-46B784C328C9"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow9SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterChannel11PV",
                            "type": "TAG",
                            "id": "WaterChannel11PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C80B1464-5737-49A6-9381-F78A249CDA14"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterChannel11PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay5SP",
                            "type": "TAG",
                            "id": "AirDelay5SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C82A4F43-1258-4CE1-B1F7-94180FA478ED"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay5SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow5PV",
                            "type": "TAG",
                            "id": "WaterFlow5PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C967C859-D305-421A-AFF5-7C93F1A66790"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow5PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow10SP",
                            "type": "TAG",
                            "id": "WaterFlow10SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C96C2752-CDC2-487D-A1A3-606B10A5539A"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow10SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel20PV",
                            "type": "TAG",
                            "id": "AirChannel20PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.C98EB2DA-32B1-4B0F-B792-CE3BB39DBB9B"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel20PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration12SP",
                            "type": "TAG",
                            "id": "AirDuration12SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.CA132DD6-2067-4829-8A7C-17842E9A1B51"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration12SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel17PV",
                            "type": "TAG",
                            "id": "AirChannel17PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.CA6DEB17-9C5B-4E66-9B8F-63D96306B359"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel17PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration17SP",
                            "type": "TAG",
                            "id": "AirDuration17SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.CAAA6CBA-27B6-430E-B77C-AE04F5258CC8"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration17SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow5PV",
                            "type": "TAG",
                            "id": "AirFlow5PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.CAAD3E6B-3328-4FDE-99A4-9445A397598D"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow5PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay21SP",
                            "type": "TAG",
                            "id": "AirDelay21SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.CEA6A376-6D3F-4F67-8B1B-C6DF73509BAF"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay21SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow2PV",
                            "type": "TAG",
                            "id": "WaterFlow2PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.CF5CB0A3-0F27-4BB2-82F7-B5A5CE37AE69"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow2PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel9PV",
                            "type": "TAG",
                            "id": "AirChannel9PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D002C41C-5FA8-4F95-B5EF-14C675C12B27"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel9PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration5SP",
                            "type": "TAG",
                            "id": "AirDuration5SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D00F2440-EFDA-4162-8E7F-5479AB380D7F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration5SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterChannel16PV",
                            "type": "TAG",
                            "id": "WaterChannel16PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D114FFB2-FBB3-4533-8864-1EDA1AB6ED8C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterChannel16PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration3SP",
                            "type": "TAG",
                            "id": "AirDuration3SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D23E4621-00ED-4ECE-A557-471663543807"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration3SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step4PressureSP",
                            "type": "TAG",
                            "id": "Step4PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D3AECF25-D405-4F3A-9DF1-D31D365C79B5"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step4PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow10SP",
                            "type": "TAG",
                            "id": "AirFlow10SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D3BCD35A-3A92-4224-B80C-C2A5059D9DCC"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow10SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "MoldTempSP",
                            "type": "TAG",
                            "id": "MoldTempSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D538C95E-569D-4591-9C3C-6297B0F8B4DD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.MoldTempSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel12PV",
                            "type": "TAG",
                            "id": "AirChannel12PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.D78378B6-40CB-49F9-834E-182C45C353C8"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel12PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay6SP",
                            "type": "TAG",
                            "id": "WaterDelay6SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.DAA82093-385B-45F4-83F1-E61795423426"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay6SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirPressurePV",
                            "type": "TAG",
                            "id": "AirPressurePV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.DAB98F8D-8A1F-44AD-962C-6BDA4AD09AE0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirPressurePV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step4TimeSP",
                            "type": "TAG",
                            "id": "Step4TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.DC7C05E1-5BA0-4FA3-8A6F-CD3987C85F6F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step4TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration23SP",
                            "type": "TAG",
                            "id": "AirDuration23SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.DCBF1103-2F1F-4FDB-809F-89F6B247E804"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration23SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay7SP",
                            "type": "TAG",
                            "id": "WaterDelay7SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.DD2D8CD1-EE9C-4339-8901-3E620E8E3B44"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay7SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step8PressureSP",
                            "type": "TAG",
                            "id": "Step8PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.DF0DD4C5-EE23-4996-97AC-874A38DD6225"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step8PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow7PV",
                            "type": "TAG",
                            "id": "WaterFlow7PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E04CE55E-2012-4F2F-B790-5C7C8051350E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow7PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterChannel14PV",
                            "type": "TAG",
                            "id": "WaterChannel14PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E0787392-4F33-4FB6-9993-C95F0E5C840F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterChannel14PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step3PressureSP",
                            "type": "TAG",
                            "id": "Step3PressureSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E1572296-76A2-4051-9AA1-C40B7820698C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step3PressureSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterChannel13PV",
                            "type": "TAG",
                            "id": "WaterChannel13PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E31C9AF4-BF1E-4125-A8EF-4795F815DD29"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterChannel13PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step6TimeSP",
                            "type": "TAG",
                            "id": "Step6TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E32CAC30-CF64-42B9-B06B-36241887BB67"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step6TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration16SP",
                            "type": "TAG",
                            "id": "WaterDuration16SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E35E01B9-7AC6-418D-ABE6-8401951F2285"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration16SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay13SP",
                            "type": "TAG",
                            "id": "AirDelay13SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E6F0988E-BEA9-474B-9EAC-014696F62FBE"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay13SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration14SP",
                            "type": "TAG",
                            "id": "WaterDuration14SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E72F80AF-01CD-4F1A-A5B4-3D8F8D1CF738"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration14SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow13SP",
                            "type": "TAG",
                            "id": "AirFlow13SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E7DAAD1E-D54F-4EB7-9936-0A37C0560109"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow13SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow3PV",
                            "type": "TAG",
                            "id": "WaterFlow3PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E8034707-FBEE-4AEE-880F-838271FD83DF"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow3PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow21SP",
                            "type": "TAG",
                            "id": "AirFlow21SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.E99351F2-13F6-47C6-87C8-6A1BB75DD58E"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow21SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel14PV",
                            "type": "TAG",
                            "id": "AirChannel14PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.EB35803F-E727-4608-ABF7-43BEC104DDFE"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel14PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "Step1TimeSP",
                            "type": "TAG",
                            "id": "Step1TimeSP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.EB773C85-095E-4BBB-AD60-54645275D32C"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.Step1TimeSP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel23PV",
                            "type": "TAG",
                            "id": "AirChannel23PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.EC2034AD-36DC-4EFA-B541-A237B0049A29"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel23PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "RamSpeedDown",
                            "type": "TAG",
                            "id": "RamSpeedDown",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.ECBEE0DF-FEC8-459D-AFE9-7F2AB5EEDF30"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.RamSpeedDown",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay11SP",
                            "type": "TAG",
                            "id": "AirDelay11SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.EFFDA90B-2702-4D61-897C-752AB8E06214"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay11SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay4SP",
                            "type": "TAG",
                            "id": "AirDelay4SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F1088E8E-857E-4BE6-B06C-1927A7C797ED"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay4SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow14PV",
                            "type": "TAG",
                            "id": "AirFlow14PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F2781CA8-1650-48E0-A30E-3DF888FEAB25"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow14PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay15SP",
                            "type": "TAG",
                            "id": "WaterDelay15SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F371E13D-B253-41D1-8AEB-562BC0C9AB00"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay15SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow16SP",
                            "type": "TAG",
                            "id": "WaterFlow16SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F416870F-AC5B-4037-95DF-055C9226CDEB"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow16SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow11SP",
                            "type": "TAG",
                            "id": "WaterFlow11SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F5F04E37-4E04-4D1E-866F-A08D448EAA31"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow11SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDelay10SP",
                            "type": "TAG",
                            "id": "WaterDelay10SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F81A3607-161C-4878-A837-E23A577A1892"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDelay10SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirChannel6PV",
                            "type": "TAG",
                            "id": "AirChannel6PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F81C8C33-F8F9-490F-812F-DAE1B19A9E10"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirChannel6PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration2SP",
                            "type": "TAG",
                            "id": "WaterDuration2SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F85E5877-A90E-4180-BB27-577493D5C401"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration2SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow15PV",
                            "type": "TAG",
                            "id": "WaterFlow15PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F862300A-63F4-43AF-B857-DC1A8F2B2391"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow15PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterDuration10SP",
                            "type": "TAG",
                            "id": "WaterDuration10SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F8F814E5-438A-4CC0-B678-2F49A2EE3A3F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterDuration10SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "WaterFlow12PV",
                            "type": "TAG",
                            "id": "WaterFlow12PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.F94700D2-EEDE-478C-85B4-2FADD12F3384"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.WaterFlow12PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration22SP",
                            "type": "TAG",
                            "id": "AirDuration22SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.FB31AAB2-54F5-41ED-836E-D32C03136A5F"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration22SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow6PV",
                            "type": "TAG",
                            "id": "AirFlow6PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.FB9F1277-B0D2-4377-96D7-C6AE550938A0"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow6PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDuration2SP",
                            "type": "TAG",
                            "id": "AirDuration2SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.FBBF571B-16A2-40D1-818D-74ABE0B9FDD1"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDuration2SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "HalfCycle2",
                            "type": "TAG",
                            "id": "HalfCycle2",
                            "node_source": "import",
                            "data": {
                                "dataType": "bool",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.FBE1A6FD-9D94-4BEB-968A-73F8BF9F520B"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.HalfCycle2",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow8PV",
                            "type": "TAG",
                            "id": "AirFlow8PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.FBEA9C28-6F8C-46BD-93E1-E76D2C7C0911"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow8PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirDelay18SP",
                            "type": "TAG",
                            "id": "AirDelay18SP",
                            "node_source": "import",
                            "data": {
                                "dataType": "string",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.FCF20558-5E63-4AD2-8883-2F4BC05820AD"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirDelay18SP",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "AirFlow21PV",
                            "type": "TAG",
                            "id": "AirFlow21PV",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.raw.779F42F3-54FC-4A87-B9A6-CD39CFA4A97D.FD47CC85-6139-4FD3-AAF1-4ABAF29BBA61"
                            },
                            "worker_node_id": "EdgeDevice.Simulator2.AirFlow21PV",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        }
                    ]
                },
                {
                    "name": "ClassificationSimulator",
                    "type": "DEVICE",
                    "id": "ClassificationSimulator",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.ClassificationSimulator",
                    "worker_node_id_mode": "hierarchical",
                    "children": [
                        {
                            "name": "motionTopic8",
                            "type": "TAG",
                            "id": "motionTopic8",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic8"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic8",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "motionTopic1",
                            "type": "TAG",
                            "id": "motionTopic1",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic1"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic1",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "motionTopic6",
                            "type": "TAG",
                            "id": "motionTopic6",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic6"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic6",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "motionTopic5",
                            "type": "TAG",
                            "id": "motionTopic5",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic5"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic5",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "motionTopic0",
                            "type": "TAG",
                            "id": "motionTopic0",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic0"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic0",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "motionTopic2",
                            "type": "TAG",
                            "id": "motionTopic2",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic2"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic2",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "motionTopic3",
                            "type": "TAG",
                            "id": "motionTopic3",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic3"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic3",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "motionTopic4",
                            "type": "TAG",
                            "id": "motionTopic4",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.ClassificationSimulator.motionTopic4"
                            },
                            "worker_node_id": "EdgeDevice.ClassificationSimulator.motionTopic4",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        }
                    ]
                },
                {
                    "name": "Boiler",
                    "type": "DEVICE",
                    "id": "Boiler",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.Boiler",
                    "worker_node_id_mode": "hierarchical",
                    "children": null
                },
                {
                    "name": "sim1",
                    "type": "DEVICE",
                    "id": "sim1",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.sim1",
                    "worker_node_id_mode": "hierarchical",
                    "children": [
                        {
                            "name": "sine1",
                            "type": "TAG",
                            "id": "sine1",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.sim1.sine1"
                            },
                            "worker_node_id": "EdgeDevice.sim1.sine1",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        },
                        {
                            "name": "sine2",
                            "type": "TAG",
                            "id": "sine2",
                            "node_source": "import",
                            "data": {
                                "dataType": "double",
                                "topic": "devicehub.alias.sim1.sine2"
                            },
                            "worker_node_id": "EdgeDevice.sim1.sine2",
                            "worker_node_id_mode": "hierarchical",
                            "children": []
                        }
                    ]
                },
                {
                    "name": "newest_device",
                    "type": "DEVICE",
                    "id": "newest_device",
                    "node_source": "import",
                    "data": null,
                    "worker_node_id": "EdgeDevice.newest device",
                    "worker_node_id_mode": "hierarchical",
                    "children": null
                }
            ]
        }
    }
}

Get Service Configuration

POST {{edgeUrl}}/opcua/v2

Get Service Configuration

Returns the OPC UA server's bind configuration: the host interface, the port, and the NodeUnderRoot flag controlling address-space layout.

Endpoint

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query GetServiceConfig {
  GetServiceConfig {
    Host
    NodeUnderRoot
    Port
  }
}

No arguments.

Response

200 OK -- application/json

Field Type Description
data.GetServiceConfig.Host string Bind address. 0.0.0.0 listens on every interface; otherwise an interface IP.
data.GetServiceConfig.NodeUnderRoot boolean If true, nodes are exposed under the server's standard root; if false, in a custom namespace.
data.GetServiceConfig.Port integer OPC UA TCP port. Standard is 4840.
{
  "data": {
    "GetServiceConfig": {
      "Host": "0.0.0.0",
      "NodeUnderRoot": true,
      "Port": 4840
    }
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query GetServiceConfig {
    GetServiceConfig {
        Host
        NodeUnderRoot
        Port
    }
}

Response

Status: 200 OK

{
    "data": {
        "GetServiceConfig": {
            "Host": "0.0.0.0",
            "NodeUnderRoot": true,
            "Port": 4840
        }
    }
}

Change Service Configuration

POST {{edgeUrl}}/opcua/v2

Change Service Configuration

Updates the OPC UA server's bind configuration. The new settings take effect after the next Stop OPC UA Service / Start OPC UA Service cycle -- the running listener is not reconfigured live.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation SetServiceConfig($input: ServiceConfigRequest!) {
  SetServiceConfig(input: $input)
}

Variables

Field Type Required Description
Host String! Yes New bind address. Use 0.0.0.0 to listen on every interface, or a specific IP.
Port Int! Yes TCP port (typical: 4840). Conflicts cause Start OPC UA Service to fail.
NodeUnderRoot Boolean! Yes Address-space layout flag (see Get Service Configuration).
{
  "input": {
    "Host": "10.30.50.1",
    "Port": 4840,
    "NodeUnderRoot": true
  }
}

Response

200 OK -- application/json. No data returned on success.

{ "data": { "SetServiceConfig": null } }

Remember to restart the service for the change to apply.

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation SetServiceConfig($input: ServiceConfigRequest!) {
    SetServiceConfig(input: $input)
}

Variables

{
    "input": {
        "NodeUnderRoot": true,
        "Host": "10.30.50.1",
        "Port": 4840
    }
}

Response

Status: 200 OK

{
    "data": {
        "SetServiceConfig": null
    }
}

Start OPC UA Service

POST {{edgeUrl}}/opcua/v2

Start OPC UA Service

Starts the OPC UA server listener. The server binds to Host:Port from Get Service Configuration and begins accepting external OPC UA clients. Idempotent for already-running servers.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ServiceStart {
  ServiceStart
}

No arguments.

Response

200 OK -- application/json. No data returned on success.

{ "data": { "ServiceStart": null } }

A successful return does not guarantee the server is reachable -- it means the start was accepted. Confirm by calling Connections > Get Server Metrics after a brief moment.

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ServiceStart {
    ServiceStart
}

Response

Status: 200 OK

{
    "data": {
        "ServiceStart": null
    }
}

Stop OPC UA Service

POST {{edgeUrl}}/opcua/v2

Stop OPC UA Service

Stops the OPC UA server listener. External clients are disconnected gracefully; existing sessions terminate. The hierarchy is preserved in storage; restart with Start OPC UA Service.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation ServiceStop {
  ServiceStop
}

No arguments.

Response

200 OK -- application/json. No data returned on success.

{ "data": { "ServiceStop": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation ServiceStop {
    ServiceStop
}

Response

Status: 200 OK

{
    "data": {
        "ServiceStop": null
    }
}

Get Security and Authentication Settings

POST {{edgeUrl}}/opcua/v2

Get Security and Authentication Settings

Returns the OPC UA server's enabled security modes, security policies, and authentication modes -- the surface external clients negotiate against when connecting.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query GetConnectionSettings {
  GetConnectionSettings {
    EnabledSecurityModes
    EnabledSecurityPolicies
    EnabledAuthModes
  }
}

No arguments.

Response

200 OK -- application/json

Field Type Description
data.GetConnectionSettings.EnabledSecurityModes string[] OPC UA security modes enabled: None, Sign, SignAndEncrypt.
data.GetConnectionSettings.EnabledSecurityPolicies string[] OPC UA security policies enabled: Basic128Rsa15, Basic256, Basic256Sha256, Aes128_Sha256_RsaOaep, Aes256_Sha256_RsaPss.
data.GetConnectionSettings.EnabledAuthModes string[] OPC UA user-auth modes: Anonymous, Password, Certificate.
{
  "data": {
    "GetConnectionSettings": {
      "EnabledSecurityModes": ["SignAndEncrypt", "Sign", "None"],
      "EnabledSecurityPolicies": [
        "Basic256Sha256",
        "Aes256_Sha256_RsaPss",
        "Basic128Rsa15",
        "Aes128_Sha256_RsaOaep",
        "Basic256"
      ],
      "EnabledAuthModes": ["Certificate", "Password", "Anonymous"]
    }
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query GetConnectionSettings {
    GetConnectionSettings {
        EnabledSecurityModes
        EnabledSecurityPolicies
        EnabledAuthModes
    }
}

Response

Status: 200 OK

{
    "data": {
        "GetConnectionSettings": {
            "EnabledSecurityModes": [
                "SignAndEncrypt",
                "Sign",
                "None"
            ],
            "EnabledSecurityPolicies": [
                "Basic256Sha256",
                "Aes256_Sha256_RsaPss",
                "Basic128Rsa15",
                "Aes128_Sha256_RsaOaep",
                "Basic256"
            ],
            "EnabledAuthModes": [
                "Certificate",
                "Password",
                "Anonymous"
            ]
        }
    }
}

Change Security and Authentication Settings

POST {{edgeUrl}}/opcua/v2

Change Security and Authentication Settings

Updates the OPC UA server's enabled security modes, policies, and auth modes. Takes effect on the next start/restart.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation UpdateConnectionSettings($input: UpdateConnectionSettingsRequest!) {
  UpdateConnectionSettings(input: $input)
}

Variables

Field Type Required Description
EnabledSecurityModes [String!]! Yes Subset of None, Sign, SignAndEncrypt.
EnabledSecurityPolicies [String!]! Yes Subset of Basic128Rsa15, Basic256, Basic256Sha256, Aes128_Sha256_RsaOaep, Aes256_Sha256_RsaPss.
EnabledAuthModes [String!]! Yes Subset of Anonymous, Password, Certificate.
{
  "input": {
    "EnabledSecurityModes": ["None", "Sign", "SignAndEncrypt"],
    "EnabledSecurityPolicies": [
      "Basic256Sha256",
      "Basic256",
      "Basic128Rsa15",
      "Aes128_Sha256_RsaOaep",
      "Aes256_Sha256_RsaPss"
    ],
    "EnabledAuthModes": ["Anonymous", "Password", "Certificate"]
  }
}

Response

200 OK -- application/json. No data returned on success.

{ "data": { "UpdateConnectionSettings": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

Security recommendations

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation UpdateConnectionSettings($input: UpdateConnectionSettingsRequest!) {
    UpdateConnectionSettings(input: $input)
}

Variables

{
    "input": {
        "EnabledSecurityModes": [
            "None",
            "Sign",
            "SignAndEncrypt"
        ],
        "EnabledSecurityPolicies": [
            "Basic256Sha256",
            "Basic256",
            "Basic128Rsa15",
            "Aes128_Sha256_RsaOaep",
            "Aes256_Sha256_RsaPss"
        ],
        "EnabledAuthModes": [
            "Anonymous",
            "Certificate",
            "Password"
        ]
    }
}

Response

Status: 200 OK

{
    "data": {
        "UpdateConnectionSettings": null
    }
}

Download Server Logs

POST {{edgeUrl}}/opcua/v2

Download Server Logs

Returns the OPC UA server's log file as a base64-encoded blob in data.DownloadServerLog. Decode client-side to read the text. Use this for support tickets or local diagnostics.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query DownloadServerLog {
  DownloadServerLog
}

No arguments.

Response

200 OK -- application/json

Field Type Description
data.DownloadServerLog string Base64-encoded log file contents. Decode to recover the plaintext log.
{
  "data": {
    "DownloadServerLog": "WzIwMjQtMDctMzEgMTA6NDE6MTQuMTI5XSBbc2VydmljZV0gW2luZm9d..."
  }
}

To decode (example with Python):

import base64
plain = base64.b64decode(resp["data"]["DownloadServerLog"]).decode("utf-8")

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query DownloadServerLog {
    DownloadServerLog
}

Response

Status: 200 OK

{
    "data": {
        "DownloadServerLog": "WzIwMjQtMDctMzEgMTA6NDE6MTQuMTI5XSBbc2VydmljZV0gW2luZm9dIGxvYWRpbmcgY29uZmlndXJhdGlvbgpbMjAyNC0wNy0zMSAxMDo0MToxNC4xOTNdIFtzZXJ2aWNlXSBbaW5mb10gc3RhcnRpbmcgc2VydmVyIHdpdGggY29uZmlnIGZpbGUgL3RtcC9jb25maWdfZmlsZS5pbmkKWzIwMjQtMDctMzEgMTA6NDE6MTQuMjE1XSBbc2VydmljZV0gW2luZm9dIGluaXRpYWxpemUKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiBTZXJ2ZXIgb3BlbmVkIGVuZHBvaW50cyBmb3IgZm9sbG93aW5nIFVSTHM6CiAgICAgb3BjLnRjcDovLzEwLjMwLjUwLjE6NDg0MAoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKWzIwMjQtMDctMzEgMTA6NDE6MTUuMTg2XSBbc2VydmljZV0gW2luZm9dIHN0YXJ0aW5nIGhlYXJ0YmVhdCBwcm9jZXNzaW5nIGZvciAxMjcuMC4wLjE6OTA5MyBlbmRwb2ludApbMjAyNC0wNy0zMSAxMDo0MToxNi4wOTVdIFtzZXJ2aWNlXSBbaW5mb10gZmluaXNoZWQuClsyMDI0LTA3LTMxIDEwOjQyOjAzLjc3OF0gW3NlcnZpY2VdIFtpbmZvXSBsb2FkaW5nIGNvbmZpZ3VyYXRpb24KWzIwMjQtMDctMzEgMTA6NDI6MDMuODAwXSBbc2VydmljZV0gW2luZm9dIHN0YXJ0aW5nIHNlcnZlciB3aXRoIGNvbmZpZyBmaWxlIC90bXAvY29uZmlnX2ZpbGUuaW5pClsyMDI0LTA3LTMxIDEwOjQyOjAzLjgwMF0gW3NlcnZpY2VdIFtpbmZvXSBpbml0aWFsaXplCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogU2VydmVyIG9wZW5lZCBlbmRwb2ludHMgZm9yIGZvbGxvd2luZyBVUkxzOgogICAgIG9wYy50Y3A6Ly8xMC4zMC41MC4xOjQ4NDAKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClsyMDI0LTA3LTMxIDEwOjQyOjA0Ljc5OV0gW3NlcnZpY2VdIFtpbmZvXSBzdGFydGluZyBoZWFydGJlYXQgcHJvY2Vzc2luZyBmb3IgMTI3LjAuMC4xOjkwOTMgZW5kcG9pbnQKWzIwMjQtMDctMzEgMTA6NDI6MzkuODQ2XSBbc2VydmljZV0gW2luZm9dIGZpbmlzaGVkLgo="
    }
}

List Users

POST {{edgeUrl}}/opcua/v2

List Users

Returns every OPC UA-level user provisioned on the server. These are the credentials external OPC UA clients use to authenticate when the server is configured with Password auth -- separate from the LE API token.

Endpoint

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query ListUsers {
  ListUsers {
    Disabled
    Password
    Username
  }
}

No arguments.

Response

200 OK -- application/json

Field Type Description
data.ListUsers[].Username string User name.
data.ListUsers[].Password string null
data.ListUsers[].Disabled boolean true if the account is disabled.
{
  "data": {
    "ListUsers": [
      { "Disabled": false, "Password": null, "Username": "apiOPCusername" }
    ]
  }
}

Note: user creation is performed via the LE UI's OPC UA admin page rather than a dedicated mutation on this surface. Once created, use Update User to change the disabled flag.

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query ListUsers {
    ListUsers {
        Disabled
        Password
        Username
    }
}

Response

Status: 200 OK

{
    "data": {
        "ListUsers": [
            {
                "Disabled": false,
                "Password": null,
                "Username": "apiOPCusername"
            }
        ]
    }
}

Update User

POST {{edgeUrl}}/opcua/v2

Update User

Updates an OPC UA-level user's state. The exposed fields here are Username (the selector) and Disabled (the enable/disable toggle). Password rotation is handled via the LE UI's OPC UA admin page.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation UpdateUser($input: UserRequest!) {
  UpdateUser(input: $input)
}

Variables

Field Type Required Description
Username String! Yes User to update.
Disabled Boolean! Yes true to disable, false to enable.
{
  "input": {
    "Username": "{{opc_username}}",
    "Disabled": false
  }
}

Response

200 OK -- application/json. No data returned on success.

{ "data": { "UpdateUser": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation UpdateUser($input: UserRequest!) {
    UpdateUser(input: $input)
}

Variables

{
    "input": {
        "Username": "{{opc_username}}",
        "Disabled": false
    }
}

Response

Status: 200 OK

{
    "data": {
        "UpdateUser": null
    }
}

Delete User

POST {{edgeUrl}}/opcua/v2

Delete User

Deletes an OPC UA-level user. External clients that connect with the deleted credentials will fail on the next session establishment.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

mutation DeleteUser($username: String!) {
  DeleteUser(username: $username)
}

Variables

Field Type Required Description
username String! Yes User name to delete.
{ "username": "{{opc_username}}" }

Response

200 OK -- application/json. No data returned on success.

{ "data": { "DeleteUser": null } }

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

mutation DeleteUser($username: String!) {
    DeleteUser(username: $username)
}

Variables

{
    "username": "{{opc_username}}"
}

Response

Status: 200 OK

{
    "data": {
        "DeleteUser": null
    }
}

Get Server Metrics

POST {{edgeUrl}}/opcua/v2

Get Server Metrics

Returns the server's live session counters: how many external OPC UA clients are currently connected, with their session IDs, session names, and client application names.

Use this to confirm an external client has established a session after configuration changes, or to render a "Connected clients" tile.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query GetServerMetrics {
  GetServerMetrics {
    ActiveSessionsCount
    ActiveSessions {
      ID
      Name
      ClientName
    }
  }
}

No arguments.

Response

200 OK -- application/json

Field Type Description
data.GetServerMetrics.ActiveSessionsCount integer Number of currently established sessions.
data.GetServerMetrics.ActiveSessions object[] One entry per active session.
data.GetServerMetrics.ActiveSessions[].ID string Session UUID.
data.GetServerMetrics.ActiveSessions[].Name string Session display name.
data.GetServerMetrics.ActiveSessions[].ClientName string Client-supplied application name (e.g. UaExpert, B&R Automation Studio).
{
  "data": {
    "GetServerMetrics": {
      "ActiveSessionsCount": 0,
      "ActiveSessions": []
    }
  }
}

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query GetServerMetrics {
    GetServerMetrics {
        ActiveSessionsCount
        ActiveSessions {
            ID
            Name
            ClientName
        }
    }
}

Response

Status: 200 OK

{
    "data": {
        "GetServerMetrics": {
            "ActiveSessionsCount": 0,
            "ActiveSessions": []
        }
    }
}

Download Server Certificates

POST {{edgeUrl}}/opcua/v2

Download Server Certificates

Returns the OPC UA server's self-signed server certificate as a base64-encoded DER blob in data.GetServerCertificate. Save this to disk and import it into your OPC UA client's trust store to enable Sign or SignAndEncrypt security modes.

For end-entity certificate trust, also import the issuing CA if required by your client.

Endpoint

POST {{edgeUrl}}/opcua/v2
Content-Type: application/json

The operation is chosen by the GraphQL query body, not the URL path.

Authentication

HTTP Basic Auth. Username is your API token, password is empty. The same token is valid across /devicehub/v2, /analytics/v2, /cc, /opcua, and the other LE services.

Request body

query GetServerCertificate {
  GetServerCertificate
}

No arguments.

Response

200 OK -- application/json

Field Type Description
data.GetServerCertificate string Base64-encoded DER certificate. Decode and write to a .der (or convert to PEM) for client trust stores.
{
  "data": {
    "GetServerCertificate": "MIIFrDCCBJSgAwIBAgIE..."
  }
}

Saving the certificate

import base64
with open("server.der", "wb") as f:
    f.write(base64.b64decode(resp["data"]["GetServerCertificate"]))

Convert DER to PEM with openssl x509 -inform der -in server.der -out server.pem.

Errors

GraphQL endpoints return 200 OK even on logical errors. Inspect the errors array in the response body:

{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
extensions.code Meaning
UNAUTHENTICATED Missing or invalid API token.
FORBIDDEN Token lacks permission for this operation.
BAD_USER_INPUT Invalid argument (wrong type, missing required field, malformed UUID, unknown ID, etc.).
NOT_FOUND The targeted entity does not exist.
INTERNAL_SERVER_ERROR DeviceHub fault. Retry, then escalate via System > Support.

A non-200 HTTP response means DeviceHub itself is unreachable. See Dashboard > DeviceHub Status.

TLS note: edge devices use a self-signed certificate by default. Either install the device CA in your client trust store or disable certificate verification when calling this endpoint directly.

Request Body

GraphQL Query

query GetServerCertificate {
    GetServerCertificate
}

Response

Status: 200 OK

{
    "data": {
        "GetServerCertificate": "MIIFrDCCBJSgAwIBAgIEZqp3OjANBgkqhkiG9w0BAQsFADCBpDEoMCYGCgmSJomT8ixkARkWGGxpdG11cy1lZGdlLTAwNTA1NmI5YWZkMzELMAkGA1UEBhMCVVMxFTATBgNVBAcMDExvY2F0aW9uTmFtZTEVMBMGA1UECgwMT3JnYW5pemF0aW9uMQ0wCwYDVQQLDARVbml0MS4wLAYDVQQDDCVvcGN1YV93b3JrZXJAbGl0bXVzLWVkZ2UtMDA1MDU2YjlhZmQzMB4XDTI0MDczMTE3NDExNFoXDTI5MDczMDE3NDExNFowgaQxKDAmBgoJkiaJk/IsZAEZFhhsaXRtdXMtZWRnZS0wMDUwNTZiOWFmZDMxCzAJBgNVBAYTAlVTMRUwEwYDVQQHDAxMb2NhdGlvbk5hbWUxFTATBgNVBAoMDE9yZ2FuaXphdGlvbjENMAsGA1UECwwEVW5pdDEuMCwGA1UEAwwlb3BjdWFfd29ya2VyQGxpdG11cy1lZGdlLTAwNTA1NmI5YWZkMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALFSV5egpaXXakJHhtNnhPgG9OjiFYygtpVQwnpSnhDjUPl/gk4A0t7u1Jwa39YdMkflmZ6baip9TgSz5391jqzEHsA4d0f0BHF7qH70RoKJA4IugMbVRG20Sq/85/ZV5teL7KfoGpHnNVLMGrpQaPAbeyh3lytIaqsYSSd94+yKA63I16FotoYICH/0glG2Aqx4v3ujEgaSTDvZ+oYcs9qV/5yhurb59XoLCUnT9haMFvFkgADPR52IhLimuNUcT/+oOX51VMawk1aoDT49m2KN6TZBKM0rn9nU7RuGgSQ6Z47s0uCEJdSsdOLQboJRH9tThz5zRPruVPH2KHRLpM0CAwEAAaOCAeIwggHeMBIGA1UdEwEB/wQIMAYBAf8CAQAwUAYJYIZIAYb4QgENBEMWQSJHZW5lcmF0ZWQgd2l0aCBVbmlmaWVkIEF1dG9tYXRpb24gVUEgQmFzZSBMaWJyYXJ5IHVzaW5nIE9wZW5TU0wiMB0GA1UdDgQWBBRsjLQFZ7mfRHgUpigHRAQ3BGG0rDCB1AYDVR0jBIHMMIHJgBRsjLQFZ7mfRHgUpigHRAQ3BGG0rKGBqqSBpzCBpDEoMCYGCgmSJomT8ixkARkWGGxpdG11cy1lZGdlLTAwNTA1NmI5YWZkMzELMAkGA1UEBhMCVVMxFTATBgNVBAcMDExvY2F0aW9uTmFtZTEVMBMGA1UECgwMT3JnYW5pemF0aW9uMQ0wCwYDVQQLDARVbml0MS4wLAYDVQQDDCVvcGN1YV93b3JrZXJAbGl0bXVzLWVkZ2UtMDA1MDU2YjlhZmQzggRmqnc6MA4GA1UdDwEB/wQEAwIC9DAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwTgYDVR0RBEcwRYYpdXJuOmxpdG11cy1lZGdlLTAwNTA1NmI5YWZkMzpvcGN1YV93b3JrZXKCGGxpdG11cy1lZGdlLTAwNTA1NmI5YWZkMzANBgkqhkiG9w0BAQsFAAOCAQEAj0BAOyvaa6rMJhRFp1YUPoTa0/NsBJtaIwKJit2gE8ZRf9YW2gkk/FiGohltcDjCn91cBOoi9qQbzbzQsZ2siF3RZOhSSyUQRT3JfLxZ7RZv0ogNiYzL2gtlysBqZGJFoIYTWHqj9NHlmCCovywbcCsv/qXb4CHfTtrGnsig9+eS42xT28oe/ZToQITAQx97R+sUVqJ4RHyHRyENMHhW4GSz0eVnXXrtve1ITVki5CvzdVDCstfPRrMQUoDGNma7DAf6P0xF9A12ai0IfATyTgWaiCfInZEqCOLd0IRZ6dEfeEMbomoTRHf6n02Qqas/Gq50d4seUzVLnHbnJb6sug=="
    }
}

View this page as Markdown