LitmusEdge 4.0.x API Documentation/DeviceHub/Create Device - Driver Examples - LE, LEM, LUNS API Docs

Create Device - ABB Totalflow DB2 (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

ABB Totalflow DB2 (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models ABB Totalflow devices that support native DB2 protocol

Driver ID: EFE0CCA0-E2C0-4BAC-A535-766ECE45F66D Group: ABB

Required properties: - name String - Device Name that describes your asset. - networkAddress String - IP Address of the device. - networkPort SignedInteger - Network port of the device.

Optional properties: - description String - Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My ABB Totalflow DB2 (Gen1.3) Device",
    "Description": "",
    "DriverID": "EFE0CCA0-E2C0-4BAC-A535-766ECE45F66D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "ABB"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My ABB Totalflow DB2 (Gen1.3) Device",
            "DriverID": "EFE0CCA0-E2C0-4BAC-A535-766ECE45F66D",
            "Description": ""
        }
    }
}

Create Device - ABB Totalflow DB2 Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

ABB Totalflow DB2 Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models ABB Totalflow devices that support native DB2 protocol

Driver ID: 15E3CB87-6179-4306-B68E-43038FE02127 Group: ABB

Required properties: - name String - Device Name that describes your asset. - stationId SignedInteger - Station id/ slot number - baudRate SignedInteger - Serial communication baudrate parameter. - dataBits SignedInteger - Serial communication databits parameter. - stopBits SignedInteger - Serial communication stopbits parameter. - parity SignedInteger - serial communication parity parameter. Options: 0, 1, 2 - deviceFile String - Local Serial connection file path.

Optional properties: - description String - Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My ABB Totalflow DB2 Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "15E3CB87-6179-4306-B68E-43038FE02127",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "ABB"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My ABB Totalflow DB2 Serial (Gen1.3) Device",
            "DriverID": "15E3CB87-6179-4306-B68E-43038FE02127",
            "Description": ""
        }
    }
}

Create Device - AB CompactLogix Ethernet Advanced

POST {{edgeUrl}}/devicehub/v2

CompactLogix Ethernet Driver Advanced

This driver can be used for better performance. Multiple tags that belong to the same polling cycle can be read in a single request-response.

The driver implements two modes: Symbolic and CompactLogix

In Symbolic mode driver supports both CompactLogix and ControlLogix connections, but makes tag grouping more efficient compared to the standard driver, trying to combine as many tags as possible but not exceeding MTU for both requests and responses.

In CompactLogix mode the driver uses numeric handles instead of symbolic names. Usually this allows reading of more tags per single request vs Symbolic mode especially if symbolic names are quite long.

The driver does not detect PLC program changes. Structure templates are read once when connection is established. If PLC program is changed a connection should be restarted

Driver ID: 86933B9C-37D5-4926-9C6B-EDF94E5F6DC5 Group: Allen Bradley

Required properties: - networkAddress String - This is a IP Address of device - networkPort SignedInteger - This is a network port of device - slotNumber SignedInteger - This is a slot no of device - accessMode SignedInteger Options: 0, 1 - name String - This is a Device Name.

Optional properties: - description String - This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB CompactLogix Ethernet Advanced Device",
    "Description": "",
    "DriverID": "86933B9C-37D5-4926-9C6B-EDF94E5F6DC5",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "0"
      },
      {
        "Key": "accessMode",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "rockwell-compact-logix-adv_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB CompactLogix Ethernet Advanced Device",
            "DriverID": "86933B9C-37D5-4926-9C6B-EDF94E5F6DC5",
            "Description": ""
        }
    }
}

Create Device - AB CompactLogix Ethernet FreeTag

POST {{edgeUrl}}/devicehub/v2

AB CompactLogix Ethernet FreeTag

Prerequisites None
Required fields Network address
Network Port
Slot Number
Browse devices supported No
Browse tags supported Yes
Supported device models Allen-Bradley CompactLogix and ControlLogix Series

Driver ID: 2FB8D1F6-5675-11EB-AE93-0242AC130002 Group: Allen Bradley

Required properties: - networkAddress String - This is a IP Address of device. - networkPort SignedInteger - This is a network port of device. - slotNumber SignedInteger - This is a slot no of device. - name String - This is a Device Name.

Optional properties: - description String - This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB CompactLogix Ethernet FreeTag Device",
    "Description": "",
    "DriverID": "2FB8D1F6-5675-11EB-AE93-0242AC130002",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "rockwell-compact-logix_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB CompactLogix Ethernet FreeTag Device",
            "DriverID": "2FB8D1F6-5675-11EB-AE93-0242AC130002",
            "Description": ""
        }
    }
}

Create Device - AB ControlLogix Unsolicited (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

AB ControlLogix Unsolicited (Gen1.3)

Prerequisites Tags should be configured in the PLC using CIP Data table Read/Write MSG instruction
Required fields Network Port
Browse devices supported No
Browse tags supported No
Supported device models All ControlLogix and Compactlogix series that support CIP Data table Read/Write MSG instruction

Driver ID: 9479F114-86F0-4E77-8118-9A721340EC3C Group: Allen Bradley

Required properties: - networkPort SignedInteger - Network port of the device. - name String - Device Name that describes your asset.

Optional properties: - description String - Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB ControlLogix Unsolicited (Gen1.3) Device",
    "Description": "",
    "DriverID": "9479F114-86F0-4E77-8118-9A721340EC3C",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "rockwell device"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB ControlLogix Unsolicited (Gen1.3) Device",
            "DriverID": "9479F114-86F0-4E77-8118-9A721340EC3C",
            "Description": ""
        }
    }
}

Create Device - AB DF1 Ethernet

POST {{edgeUrl}}/devicehub/v2

Rockwell DF1 Ethernet Driver

Required fields: > Network Address
> Network Port
> Source ID
> Destination ID
Browse devices supported: No
Browse tags supported: No
Supported device models: Allen-Bradley PLC5 Ethernet Devices
Miscellaneous: > Byte Order: Little-Endian
> Register Grouping Size: 103
> A strings: padding always added to "Length", up to next register
> ST strings: padded into 84 byte blocks, first 2 bytes contain # characters
> T/C/R bits: read-only flags
> uint == uint16 (unsigned 16bit register)
> int == int16
> float == float32
> bcd == 16-bit Binary Coded Decimal (0x99 -> 99, 0x1A -> error)
> Addresses are always decimal, "O" or "H" only indicate what format PLC may display
> Types O, I, S are bound to files 0, 1, 2 respectively
> Types B, T, C, R, N, F default to files 3, 4, 5, 6, 7, 8 respectively
> All other types default to file 9, and should be configured manually
> Non-bound types can be addressed to any file 3-999
> Consult your plc configuration for addressing with non-default files

Driver ID: 2683ED51-D9E7-4A15-ABFB-C526B382E28B Group: Allen Bradley

Required properties: - SourceID SignedInteger — SRC Byte - DestinationID SignedInteger — DST Byte - networkAddress String — PLC IP - networkPort SignedInteger — PLC Port - name String — This is a Device Name.

Optional properties: - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - PlcType SignedInteger — PLC Type Options: 0, 1 - RetryCount SignedInteger — Read Retries (0 for no retry) - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - ReadTimeout SignedInteger — Read Timeout (ms) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB DF1 Ethernet Device",
    "Description": "",
    "DriverID": "2683ED51-D9E7-4A15-ABFB-C526B382E28B",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "PlcType",
        "Value": "0"
      },
      {
        "Key": "SourceID",
        "Value": "0"
      },
      {
        "Key": "DestinationID",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "Advanced",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "1000"
      },
      {
        "Key": "name",
        "Value": "rockwell-df1-eth_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB DF1 Ethernet Device",
            "DriverID": "2683ED51-D9E7-4A15-ABFB-C526B382E28B",
            "Description": ""
        }
    }
}

Create Device - AB DF1 Serial

POST {{edgeUrl}}/devicehub/v2

Rockwell DF1 Serial Driver

Required fields: > Device File
> Baud Rate
> Data Bits
> Stop Bits
> Parity
> Source ID
> Destination ID
Browse devices supported: No
Browse tags supported: No
Supported device models: Allen-Bradley PLC5 Serial Devices
Miscellaneous: > Byte Order: Little-Endian
> Register Grouping Size: 42
> A strings: padding always added to "Length", up to next register
> ST strings: padded into 84 byte blocks, first 2 bytes contain # characters
> T/C/R bits: read-only flags
> uint == uint16 (unsigned 16bit register)
> int == int16
> float == float32
> bcd == 16-bit Binary Coded Decimal (0x99 -> 99, 0x1A -> error)
> Addresses are always decimal, "O" or "H" only indicate what format PLC may display
> Types O, I, S are bound to files 0, 1, 2 respectively
> Types B, T, C, R, N, F default to files 3, 4, 5, 6, 7, 8 respectively
> All other types default to file 9, and should be configured manually
> Non-bound types can be addressed to any file 3-999
> Consult your plc configuration for addressing with non-default files

Driver ID: E8D1F27A-924C-4B8E-9382-8B2B6ABB695F Group: Allen Bradley

Required properties: - DestinationID SignedInteger — DST Byte - deviceFile String — Path to Device - SourceID SignedInteger — SRC Byte - name String — This is a Device Name.

Optional properties: - ReadTimeout SignedInteger — Read Timeout (ms) - RetryCount SignedInteger — Read Retries (0 for no retry) - PlcType SignedInteger — PLC Type Options: 0, 1 - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB DF1 Serial Device",
    "Description": "",
    "DriverID": "E8D1F27A-924C-4B8E-9382-8B2B6ABB695F",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "ReadTimeout",
        "Value": "1000"
      },
      {
        "Key": "DestinationID",
        "Value": "1"
      },
      {
        "Key": "RetryCount",
        "Value": "2"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "PlcType",
        "Value": "0"
      },
      {
        "Key": "SourceID",
        "Value": "0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "Advanced",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "rockwell-df1-serial_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB DF1 Serial Device",
            "DriverID": "E8D1F27A-924C-4B8E-9382-8B2B6ABB695F",
            "Description": ""
        }
    }
}

Create Device - AB EthernetIP Ethernet

POST {{edgeUrl}}/devicehub/v2

AB EthernetIP Ethernet

Prerequisites None
Required fields Network address
Network Port
Slot Number
Browse devices supported No
Browse tags supported No
Supported device models Allen-Bradley MicroLogix and SLC 500 series

Driver ID: 2FB8D1F6-5675-11EB-AE93-0242AC130003 Group: Allen Bradley

Required properties: - networkAddress String — This is a IP Address of device. - networkPort SignedInteger — This is a network port of device. - slotNumber SignedInteger — This is a slot no of device. - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB EthernetIP Ethernet Device",
    "Description": "",
    "DriverID": "2FB8D1F6-5675-11EB-AE93-0242AC130003",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "rockwell-micrologix_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB EthernetIP Ethernet Device",
            "DriverID": "2FB8D1F6-5675-11EB-AE93-0242AC130003",
            "Description": ""
        }
    }
}

Create Device - AB Logix Ethernet

POST {{edgeUrl}}/devicehub/v2

AB Logix Ethernet Driver

TBD

Driver ID: 0170E3C7-3D54-4710-A8FA-F953AE626353 Group: Allen Bradley

Required properties: - networkAddress String — This is a IP Address of device - networkPort SignedInteger — This is a network port of device - route String — The path describes the route the message takes to get to the destination. Use this format: port, next_address, port, next_address. - accessMode SignedInteger Options: 0, 1 - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB Logix Ethernet Device",
    "Description": "",
    "DriverID": "0170E3C7-3D54-4710-A8FA-F953AE626353",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "route",
        "Value": "1,0"
      },
      {
        "Key": "accessMode",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "ab-logix_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB Logix Ethernet Device",
            "DriverID": "0170E3C7-3D54-4710-A8FA-F953AE626353",
            "Description": ""
        }
    }
}

Create Device - AB Logix Serial

POST {{edgeUrl}}/devicehub/v2

AB Logix Serial

Prerequisites No
Required fields Device File
Baud Rate
Data Bits
Stop Bits
Parity
PLC Type
Browse devices supported No
Browse tags supported Yes
Supported device models Allen-Bradley CompactLogix
Allen-Bradley ControlLogix
Allen-Bradley FlexLogix
Allen-Bradley Micro800
Miscellaneous Use PLC Type Compactlogix if connecting to ControlLogix series PLCs

Driver ID: 6F794B0D-C363-41E1-9828-5DDB2E1C587E Group: Allen Bradley

Required properties: - PLCType SignedInteger Options: 0, 1, 2 - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB Logix Serial Device",
    "Description": "",
    "DriverID": "6F794B0D-C363-41E1-9828-5DDB2E1C587E",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "PLCType",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "ab-logix-serial_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB Logix Serial Device",
            "DriverID": "6F794B0D-C363-41E1-9828-5DDB2E1C587E",
            "Description": ""
        }
    }
}

Create Device - EBC Ethernet

POST {{edgeUrl}}/devicehub/v2

AutomationDirect EBC

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models AutomationDirect Terminator I/O

Driver ID: 386981A0-FB2A-447C-93A6-9373D82AA32A Group: AutomationDirect

Required properties: - networkAddress String — This is a IP Address of device - networkPort SignedInteger — This is a network port of device - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger — Read Timeout (ms) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My EBC Ethernet Device",
    "Description": "",
    "DriverID": "386981A0-FB2A-447C-93A6-9373D82AA32A",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "readTimeout",
        "Value": "1000"
      },
      {
        "Key": "name",
        "Value": "ebc-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My EBC Ethernet Device",
            "DriverID": "386981A0-FB2A-447C-93A6-9373D82AA32A",
            "Description": ""
        }
    }
}

Create Device - B&R PVI Ethernet

POST {{edgeUrl}}/devicehub/v2

B&R PVI Ethernet Driver

Required fields: > Network Address
> Network Port
Browse devices supported: No
Browse tags supported: Yes

Driver ID: AA0D80DF-21C0-4C57-9320-C74CD64FF0BA Group: B&R

Required properties: - networkAddress String - networkPort SignedInteger - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My B&R PVI Ethernet Device",
    "Description": "",
    "DriverID": "AA0D80DF-21C0-4C57-9320-C74CD64FF0BA",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "bnr_pvi_ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My B&R PVI Ethernet Device",
            "DriverID": "AA0D80DF-21C0-4C57-9320-C74CD64FF0BA",
            "Description": ""
        }
    }
}

Create Device - BacnetMSTP

POST {{edgeUrl}}/devicehub/v2

BACnet MS/TP Driver

            The driver implements the Client for communications protocol for Building Automation and Control (BAC)
            networks that leverage the ASHRAE, ANSI, and ISO 16484-5 standard protocol. 
            The driver supports the MS/TP data link layer.

            ## Features:
            * Browsing the address space of the device
            * Reading and writing properties of the objects

Driver ID: 83935618-A9BB-11EB-BCBC-0242AC132222 Group: BACnet

Required properties: - DeviceFile String - ResponseTimeout SignedInteger — Response timeout, ms - name String — This is a Device Name.

Optional properties: - BaudRate String Options: 0, 1, 2, 3, 4, 5, 6, 7 - DataBits String Options: 0, 1, 2, 3 - Parity String Options: 0, 1, 2 - StopBits String Options: 0, 1, 2 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My BacnetMSTP Device",
    "Description": "",
    "DriverID": "83935618-A9BB-11EB-BCBC-0242AC132222",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "BaudRate",
        "Value": "0"
      },
      {
        "Key": "DataBits",
        "Value": "0"
      },
      {
        "Key": "DeviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "Parity",
        "Value": "0"
      },
      {
        "Key": "ResponseTimeout",
        "Value": "1000"
      },
      {
        "Key": "StopBits",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "bacnet_mstp_cpp_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My BacnetMSTP Device",
            "DriverID": "83935618-A9BB-11EB-BCBC-0242AC132222",
            "Description": ""
        }
    }
}

Create Device - AB Micro800 Ethernet

POST {{edgeUrl}}/devicehub/v2

AB Micro800 Ethernet

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported Yes
Supported device models Allen-Bradley Micro800 series
Miscellaneous You may export tags from Connected Components Workbench and upload them to browse Program and UDT elements. FB elements are not supported.

Driver ID: D654F142-8343-4354-B2AA-A838B93AF988 Group: Allen Bradley

Required properties: - networkAddress String — This is a IP Address of device - networkPort SignedInteger — This is a network port of device - name String — This is a Device Name.

Optional properties: - globalVariablesCSV String — FTP path for CSV file exported from CCW - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My AB Micro800 Ethernet Device",
    "Description": "",
    "DriverID": "D654F142-8343-4354-B2AA-A838B93AF988",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "globalVariablesCSV",
        "Value": ""
      },
      {
        "Key": "name",
        "Value": "ab-micro800_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My AB Micro800 Ethernet Device",
            "DriverID": "D654F142-8343-4354-B2AA-A838B93AF988",
            "Description": ""
        }
    }
}

Create Device - BacnetIP

POST {{edgeUrl}}/devicehub/v2

BACnet IP Driver

The driver implements the Client for communications protocol for Building Automation and Control (BAC) networks that leverage the ASHRAE, ANSI, and ISO 16484-5 standard protocol. The driver supports the IP data link layer.

Features:

Driver ID: 83935618-A9BB-11EB-BCBC-0242AC130002 Group: BACnet

Required properties: - networkAddress String — Network address - networkPort SignedInteger — Network port - targetDeviceID SignedInteger — Target device ID - name String — This is a Device Name.

Optional properties: - destinationAddress String — Destination address in hex string format. - destinationNetwork SignedInteger — Destination network. - instanceDeviceId SignedInteger — Instance device ID. If 0 will be random. - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My BacnetIP Device",
    "Description": "",
    "DriverID": "83935618-A9BB-11EB-BCBC-0242AC130002",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "destinationAddress",
        "Value": ""
      },
      {
        "Key": "destinationNetwork",
        "Value": "0"
      },
      {
        "Key": "instanceDeviceId",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "targetDeviceID",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "bacnet_ip_cpp_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My BacnetIP Device",
            "DriverID": "83935618-A9BB-11EB-BCBC-0242AC130002",
            "Description": ""
        }
    }
}

Create Device - Beckhoff TwinCAT2 Ethernet Absolute (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Beckhoff TwinCAT2 Ethernet Absolute

Required fields: > Network Address
> Network Port
> ADS Port
> AMS ID
> Local AMS ID
Browse devices supported: No
Browse tags supported: No
Supported device models: Beckhoff TwinCAT2
Access Mode: Absolute
Device settings: > Max Request Tags: Maximum number of tags included per reqest
> Max Array Browse Size: Maximum number of array elems displayed in browse results
Register settings: > CommunicationMode: 0 for Polling/Solicited, 1 for Subscription/Unsolicited
> Address: Index Offset
> Group: Index Group Override
Miscellaneous:
> DATE: format -> "2001-01-02"
> DATEANDTIME: format -> "2001-01-02 12:34:56.999"
> TIME: format -> "1h 23m 4s 567ms"
> LTIME: format -> "1h 23m 4s 567ms 8us 9ns"
> TIMEOFDAY: format -> "12:34:56"

Driver ID: CBB394D8-42AB-42AC-84CD-480458835DAE Group: Beckhoff

Required properties: - networkAddress String — IP Address of the Twincat device. - adsPort SignedInteger — ADS Port for the Twincat device. - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the Twincat device. - amsId String — AMS Net ID for the Twincat device. - localAmsId String — Local AMS NET ID for the Twincat device.

Optional properties: - description String — Description of the device or an asset. - maxRequestTags SignedInteger — Maximum Tags/Symbols per Request - maxArrayBrowseSize SignedInteger — Maximum Array Elements shown during Browse

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Beckhoff TwinCAT2 Ethernet Absolute (Gen1.3) Device",
    "Description": "",
    "DriverID": "CBB394D8-42AB-42AC-84CD-480458835DAE",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "adsPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "Device Name"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "amsId",
        "Value": "0.0.0.0.1.1"
      },
      {
        "Key": "localAmsId",
        "Value": "0.0.0.0.1.1"
      },
      {
        "Key": "maxRequestTags",
        "Value": "500"
      },
      {
        "Key": "maxArrayBrowseSize",
        "Value": "1000"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Beckhoff TwinCAT2 Ethernet Absolute (Gen1.3) Device",
            "DriverID": "CBB394D8-42AB-42AC-84CD-480458835DAE",
            "Description": ""
        }
    }
}

Create Device - Beckhoff TwinCAT3 Ethernet Absolute (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Beckhoff TwinCAT3 Ethernet Absolute

Required fields: > Network Address
> Network Port
> ADS Port
> AMS ID
> Local AMS ID
Browse devices supported: No
Browse tags supported: No
Supported device models: Beckhoff TwinCAT3
Access Mode: Absolute
Device settings: > Max Request Tags: Maximum number of tags included per reqest
> Max Array Browse Size: Maximum number of array elems displayed in browse results
Register settings: > CommunicationMode: 0 for Polling/Solicited, 1 for Subscription/Unsolicited
> Address: Index Offset
> Group: Index Group Override
Miscellaneous:
> DATE: format -> "2001-01-02"
> DATEANDTIME: format -> "2001-01-02 12:34:56.999"
> TIME: format -> "1h 23m 4s 567ms"
> LTIME: format -> "1h 23m 4s 567ms 8us 9ns"
> TIMEOFDAY: format -> "12:34:56"

Driver ID: DABE4A08-6858-4A0C-B94E-A3BB45FE8147 Group: Beckhoff

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the Twincat device. - adsPort SignedInteger — ADS Port for the Twincat device. - amsId String — AMS Net ID for the Twincat device. - localAmsId String — Local AMS NET ID for the Twincat device. - networkAddress String — IP Address of the Twincat device.

Optional properties: - maxRequestTags SignedInteger — Maximum Tags/Symbols per Request - maxArrayBrowseSize SignedInteger — Maximum Array Elements shown during Browse - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Beckhoff TwinCAT3 Ethernet Absolute (Gen1.3) Device",
    "Description": "",
    "DriverID": "DABE4A08-6858-4A0C-B94E-A3BB45FE8147",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "maxRequestTags",
        "Value": "500"
      },
      {
        "Key": "maxArrayBrowseSize",
        "Value": "1000"
      },
      {
        "Key": "name",
        "Value": "Device Name"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "adsPort",
        "Value": "502"
      },
      {
        "Key": "amsId",
        "Value": "0.0.0.0.1.1"
      },
      {
        "Key": "localAmsId",
        "Value": "0.0.0.0.1.1"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Beckhoff TwinCAT3 Ethernet Absolute (Gen1.3) Device",
            "DriverID": "DABE4A08-6858-4A0C-B94E-A3BB45FE8147",
            "Description": ""
        }
    }
}

Create Device - Beckhoff TwinCAT3 Ethernet Symbolic (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Beckhoff TwinCAT3 Ethernet Symbolic

Required fields: > Network Address
> Network Port
> ADS Port
> AMS ID
> Local AMS ID
Browse devices supported: No
Browse tags supported: Yes
Supported device models: Beckhoff TwinCAT3
Access Mode: Symbolic
> Absolute address accepted in the form ("[\<index_group#>\<index_offset#>]"
Device settings: > Max Request Tags: Maximum number of tags included per reqest
> Max Array Browse Size: Maximum number of array elems displayed in browse results
Register settings: > CommunicationMode: 0 for Polling/Solicited, 1 for Subscription/Unsolicited
Miscellaneous:
> DATE: format -> "2001-01-02"
> DATEANDTIME: format -> "2001-01-02 12:34:56.999"
> TIME: format -> "1h 23m 4s 567ms"
> LTIME: format -> "1h 23m 4s 567ms 8us 9ns"
> TIMEOFDAY: format -> "12:34:56"

Driver ID: 9AA30E17-BE0A-4B7E-BFB8-CE09D4188021 Group: Beckhoff

Required properties: - networkPort SignedInteger — Network port of the Twincat device. - localAmsId String — Local AMS NET ID for the Twincat device. - networkAddress String — IP Address of the Twincat device. - adsPort SignedInteger — ADS Port for the Twincat device. - amsId String — AMS Net ID for the Twincat device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset. - maxRequestTags SignedInteger — Maximum Tags/Symbols per Request - maxArrayBrowseSize SignedInteger — Maximum Array Elements shown during Browse

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Beckhoff TwinCAT3 Ethernet Symbolic (Gen1.3) Device",
    "Description": "",
    "DriverID": "9AA30E17-BE0A-4B7E-BFB8-CE09D4188021",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "localAmsId",
        "Value": "0.0.0.0.1.1"
      },
      {
        "Key": "maxRequestTags",
        "Value": "500"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "adsPort",
        "Value": "502"
      },
      {
        "Key": "amsId",
        "Value": "0.0.0.0.1.1"
      },
      {
        "Key": "maxArrayBrowseSize",
        "Value": "1000"
      },
      {
        "Key": "name",
        "Value": "Device Name"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Beckhoff TwinCAT3 Ethernet Symbolic (Gen1.3) Device",
            "DriverID": "9AA30E17-BE0A-4B7E-BFB8-CE09D4188021",
            "Description": ""
        }
    }
}

Create Device - Brother Speedio Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Brother Speedio Ethernet

Driver ID: 99C745DC-4BB3-4408-B966-58805E56FECC Group: Brother Industries, Ltd

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Brother Speedio Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "99C745DC-4BB3-4408-B966-58805E56FECC",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Brother Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Brother Speedio Ethernet (Gen1.3) Device",
            "DriverID": "99C745DC-4BB3-4408-B966-58805E56FECC",
            "Description": ""
        }
    }
}

Create Device - Brother TC Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Brother TC Ethernet (Gen1.3)

Experimental

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Brother TC Ethernet series

Driver ID: 5CAE67E3-C73D-4465-A515-AC65CFC91AAE Group: Brother Industries, Ltd

Required properties: - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Brother TC Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "5CAE67E3-C73D-4465-A515-AC65CFC91AAE",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "Brother Device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Brother TC Ethernet (Gen1.3) Device",
            "DriverID": "5CAE67E3-C73D-4465-A515-AC65CFC91AAE",
            "Description": ""
        }
    }
}

Create Device - CAN Raw (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

CAN Raw (Gen1.3)

Prerequisites Gateway must have CAN Bus port
Required fields Interface
Channel
Bit Rate
Browse devices supported No
Browse tags supported No
Supported device models CANopen publishing protocol only

Driver ID: 6A849294-D48A-4CE7-977F-96B1B6499A19 Group: CAN Bus

Required properties: - name String — Device Name that describes your asset. - interface String — Local interface of the SocketCAN compatible device. - channel String — Local data channel of the CAN Bus device. - bitRate SignedInteger — CAN Bus bitrate parameter.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My CAN Raw (Gen1.3) Device",
    "Description": "",
    "DriverID": "6A849294-D48A-4CE7-977F-96B1B6499A19",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Can Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "interface",
        "Value": "socketcan"
      },
      {
        "Key": "channel",
        "Value": "can0"
      },
      {
        "Key": "bitRate",
        "Value": "1000000"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My CAN Raw (Gen1.3) Device",
            "DriverID": "6A849294-D48A-4CE7-977F-96B1B6499A19",
            "Description": ""
        }
    }
}

Create Device - CODESYS V2 Ethernet Absolute (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

CODESYS V2 Ethernet Absolute (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models CODESYS V2 absolute addressing

Driver ID: 05FA3FB9-7FB1-45FB-8160-B2606F5DABFC Group: CodeSys Devices

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the Codesys system. - networkAddress String — IP Address of the Codesys system.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My CODESYS V2 Ethernet Absolute (Gen1.3) Device",
    "Description": "",
    "DriverID": "05FA3FB9-7FB1-45FB-8160-B2606F5DABFC",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Codesys Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My CODESYS V2 Ethernet Absolute (Gen1.3) Device",
            "DriverID": "05FA3FB9-7FB1-45FB-8160-B2606F5DABFC",
            "Description": ""
        }
    }
}

Create Device - CODESYS V2 Ethernet Symbolic (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

CODESYS V2 Ethernet Absolute (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models CODESYS V2 absolute addressing

Driver ID: 94B2C05D-8998-4755-A0B6-B3EFAC078A2D Group: CodeSys Devices

Required properties: - name String — Device Name that describes your asset. - path String — Register file path of device. - networkPort SignedInteger — Network port of the Codesys system. - networkAddress String — IP Address of the Codesys system.

Optional properties: - Type SignedInteger — Offline/Online. Options: 0, 1 - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My CODESYS V2 Ethernet Symbolic (Gen1.3) Device",
    "Description": "",
    "DriverID": "94B2C05D-8998-4755-A0B6-B3EFAC078A2D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Type",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "Codesys V2 Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "path",
        "Value": "/example/path"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My CODESYS V2 Ethernet Symbolic (Gen1.3) Device",
            "DriverID": "94B2C05D-8998-4755-A0B6-B3EFAC078A2D",
            "Description": ""
        }
    }
}

Create Device - Cutler-Hammer ELC Ethernet

POST {{edgeUrl}}/devicehub/v2

Cutler-Hammer ELC Ethernet Driver

Required fields: > Connection Settings (TCP)
Browse devices supported: No
Browse tags supported: No
Supported device models: ELC-PV28NNDR
Register Settings:

Driver ID: 6BF05DB2-2BD5-4780-83BE-ACB878EFC042 Group: Cutler-Hammer

Required properties: - networkPort SignedInteger — This is a network port of device. - networkAddress String — This is a IP Address of device. - stationId SignedInteger — This is a station no of device. - name String — This is a Device Name.

Optional properties: - Zero-Based Addressing SignedInteger Options: 0, 1 - overrideStationID SignedInteger Options: 0, 1 - requestTimeoutMs SignedInteger — Response Timeout (ms) - maxRequestSize SignedInteger — Maximum block size retrieved per request (# bytes) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Cutler-Hammer ELC Ethernet Device",
    "Description": "",
    "DriverID": "6BF05DB2-2BD5-4780-83BE-ACB878EFC042",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "overrideStationID",
        "Value": "0"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "1000"
      },
      {
        "Key": "maxRequestSize",
        "Value": "512"
      },
      {
        "Key": "name",
        "Value": "cutler-hammer-elc-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Cutler-Hammer ELC Ethernet Device",
            "DriverID": "6BF05DB2-2BD5-4780-83BE-ACB878EFC042",
            "Description": ""
        }
    }
}

Create Device - Cutler-Hammer ELC Serial

POST {{edgeUrl}}/devicehub/v2

Cutler-Hammer ELC Serial Driver

Required fields: > Connection Settings (Serial)
Browse devices supported: No
Browse tags supported: No
Supported device models: ELC-PV28NNDR
Register Settings:

Driver ID: 77155198-9657-456C-99AB-D10F55322193 Group: Cutler-Hammer

Required properties: - stationId SignedInteger — This is a station no of device. - stopBits SignedInteger — This is a stop bits. - deviceFile String — This is a path to device. - parity String — This is a parity. Options: 0, 1, 2 - dataBits SignedInteger — This is a data bits. - baudRate SignedInteger — This is a baud rate. Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - name String — This is a Device Name.

Optional properties: - Zero-Based Addressing SignedInteger Options: 0, 1 - requestTimeoutMs SignedInteger — Response Timeout (ms) - maxRequestSize SignedInteger — Maximum block size retrieved per request (# bytes) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Cutler-Hammer ELC Serial Device",
    "Description": "",
    "DriverID": "77155198-9657-456C-99AB-D10F55322193",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "stationId",
        "Value": "0"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "1000"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "maxRequestSize",
        "Value": "512"
      },
      {
        "Key": "dataBits",
        "Value": "7"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "cutler-hammer-elc-serial_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Cutler-Hammer ELC Serial Device",
            "DriverID": "77155198-9657-456C-99AB-D10F55322193",
            "Description": ""
        }
    }
}

Create Device - ELC Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

ELC Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Cutler-Hammer ELC model PV28 Series

Driver ID: E48B9CBE-DBBB-420C-BDF0-8BAED607DFE0 Group: Cutler-Hammer

Required properties: - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter Options: 0, 1, 2 - baudRate SignedInteger — Serial communication baudrate parameter. - stopBits SignedInteger — Serial communication stopbits parameter.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My ELC Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "E48B9CBE-DBBB-420C-BDF0-8BAED607DFE0",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "delta device"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "dataBits",
        "Value": "7"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My ELC Serial (Gen1.3) Device",
            "DriverID": "E48B9CBE-DBBB-420C-BDF0-8BAED607DFE0",
            "Description": ""
        }
    }
}

Create Device - Danfoss FC/TSC

POST {{edgeUrl}}/devicehub/v2

Danfoss FC/TSC

Driver ID: 28B130B3-530E-4644-99EF-4FDC06C758DF Group: Danfoss

Required properties: - networkAddress String — VFD's IP Address - networkPort SignedInteger — TCP/IP port - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Danfoss FC/TSC Device",
    "Description": "",
    "DriverID": "28B130B3-530E-4644-99EF-4FDC06C758DF",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "danfoss-fc-tsc_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Danfoss FC/TSC Device",
            "DriverID": "28B130B3-530E-4644-99EF-4FDC06C758DF",
            "Description": ""
        }
    }
}

Create Device - Delta DVP Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Delta DVP Ethernet (Gen1.3)

Prerequisites No
Required fields Network Address
Port
Browse devices supported No
Browse tags supported No
Supported device models Delta DVP Series

Driver ID: 9F48C353-AEA4-4CE3-AE15-686A557CEFB5 Group: Delta PLC

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Delta DVP Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "9F48C353-AEA4-4CE3-AE15-686A557CEFB5",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "delta device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Delta DVP Ethernet (Gen1.3) Device",
            "DriverID": "9F48C353-AEA4-4CE3-AE15-686A557CEFB5",
            "Description": ""
        }
    }
}

Create Device - DNP3 Master

POST {{edgeUrl}}/devicehub/v2

DNP3 Master Driver

Required fields: > Network Address
> Network Port
> Master Address
> Outstation Address
> Class 1/2/3 Poll Period
Browse devices supported: No
Browse tags supported: Yes
Supported devices: DNP3-compatible RTUs
Miscellaneous: > Does not yet support File Transfer or SAv5
> Supports Emerson's DNP3 tunneling method for Emerson FBx RTUs only

Driver ID: 12EC6276-32E0-41C1-812B-FA9746ECF42F Group: DNP3

Required properties: - masterAddress SignedInteger — Master Station Address - networkAddress String - networkPort SignedInteger - outstationAddress SignedInteger — DNP3 Outstation Address - name String — This is a Device Name.

Optional properties: - class123PollPeriod SignedInteger — Class123 Polling period - enableTimeSync SignedInteger — Enable Time Sync Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My DNP3 Master Device",
    "Description": "",
    "DriverID": "12EC6276-32E0-41C1-812B-FA9746ECF42F",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "class123PollPeriod",
        "Value": "30"
      },
      {
        "Key": "enableTimeSync",
        "Value": "0"
      },
      {
        "Key": "masterAddress",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "outstationAddress",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "DNP3_Master_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My DNP3 Master Device",
            "DriverID": "12EC6276-32E0-41C1-812B-FA9746ECF42F",
            "Description": ""
        }
    }
}

Create Device - DNP3 Ethernet

POST {{edgeUrl}}/devicehub/v2

DNP3 Ethernet

Prerequisites None
Required fields Network address
Network Port
Master Address
Outstation Address
Class 1/2/3 Poll Period
Browse devices supported No
Browse tags supported Yes
Supported device models Emerson FB3000/1200
Miscellaneous Validated with Emerson devices only

Driver ID: 96B7A2BE-1EA8-4DC0-8809-EBF867ADFFFF Group: Emerson

Required properties: - networkAddress String — Device IP Address - networkPort SignedInteger — TCP/IP Port - masterAddress SignedInteger — Master Station Address - outstationAddress SignedInteger — DNP3 Outstation Address - class1PollPeriod SignedInteger - class2PollPeriod SignedInteger - class3PollPeriod SignedInteger - name String — This is a Device Name.

Optional properties: - enableTimeSync SignedInteger Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My DNP3 Ethernet Device",
    "Description": "",
    "DriverID": "96B7A2BE-1EA8-4DC0-8809-EBF867ADFFFF",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "masterAddress",
        "Value": "0"
      },
      {
        "Key": "outstationAddress",
        "Value": "1"
      },
      {
        "Key": "class1PollPeriod",
        "Value": "5"
      },
      {
        "Key": "class2PollPeriod",
        "Value": "5"
      },
      {
        "Key": "class3PollPeriod",
        "Value": "5"
      },
      {
        "Key": "enableTimeSync",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "dnp3-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My DNP3 Ethernet Device",
            "DriverID": "96B7A2BE-1EA8-4DC0-8809-EBF867ADFFFF",
            "Description": ""
        }
    }
}

Create Device - DNP3 Ethernet with FB Extensions

POST {{edgeUrl}}/devicehub/v2

DNP3 Ethernet with FB Extensions

Required fields: > Network Address
> Network Port
> Master Address
> Outstation Address
> Class 1/2/3 Poll Period
Browse devices supported: No
Browse tags supported: Yes
Supported devices: DNP3-compatible RTUs
Miscellaneous: > Does not yet support File Transfer or SAv5
> Supports Emerson's DNP3 tunneling method for Emerson FBx RTUs only

Driver ID: 2FBB1709-E94F-4244-BFC8-779C4D504ADA Group: Emerson

Required properties: - masterAddress SignedInteger — Master Station Address - networkAddress String - networkPort SignedInteger - outstationAddress SignedInteger — DNP3 Outstation Address - name String — This is a Device Name.

Optional properties: - class123PollPeriod SignedInteger — Class123 Polling period - enableTimeSync SignedInteger — Enable Time Sync Options: 0, 1 - password String — Password - user String - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My DNP3 Ethernet with FB Extensions Device",
    "Description": "",
    "DriverID": "2FBB1709-E94F-4244-BFC8-779C4D504ADA",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "class123PollPeriod",
        "Value": "30"
      },
      {
        "Key": "enableTimeSync",
        "Value": "0"
      },
      {
        "Key": "masterAddress",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "outstationAddress",
        "Value": "1"
      },
      {
        "Key": "password",
        "Value": ""
      },
      {
        "Key": "user",
        "Value": ""
      },
      {
        "Key": "name",
        "Value": "DNP3 Ethernet with FB Extensions_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My DNP3 Ethernet with FB Extensions Device",
            "DriverID": "2FBB1709-E94F-4244-BFC8-779C4D504ADA",
            "Description": ""
        }
    }
}

Create Device - FB107 Ethernet

POST {{edgeUrl}}/devicehub/v2

FB107

Prerequisites None
Required fields Network address
Port
Browse devices supported No
Browse tags supported Supported Opcodes and Point Types
Miscellaneous

Driver ID: 41D18BCA-6BB1-450F-88C9-35B27E6210D0 Group: Emerson

Required properties: - networkPort SignedInteger — TCP/IP Port - password SignedInteger — Password - deviceAddress SignedInteger — FB107 Station Address - hostAddress SignedInteger — Host Station Address - networkAddress String — Device IP Address - operatorID String — Operator ID - deviceGroup SignedInteger — FB107 Station Group - hostGroup SignedInteger — Host Station Group - name String — This is a Device Name.

Optional properties: - optimizations SignedInteger Options: 0, 1 - responseTimeout SignedInteger — Response timeout (ms) - nextRequestDelay SignedInteger — Delay before next Request (ms) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My FB107 Ethernet Device",
    "Description": "",
    "DriverID": "41D18BCA-6BB1-450F-88C9-35B27E6210D0",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "optimizations",
        "Value": "0"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "password",
        "Value": "1000"
      },
      {
        "Key": "deviceAddress",
        "Value": "240"
      },
      {
        "Key": "hostAddress",
        "Value": "239"
      },
      {
        "Key": "responseTimeout",
        "Value": "3000"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "operatorID",
        "Value": "LOI"
      },
      {
        "Key": "deviceGroup",
        "Value": "240"
      },
      {
        "Key": "hostGroup",
        "Value": "1"
      },
      {
        "Key": "nextRequestDelay",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "fb107-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My FB107 Ethernet Device",
            "DriverID": "41D18BCA-6BB1-450F-88C9-35B27E6210D0",
            "Description": ""
        }
    }
}

Create Device - ROC800 Ethernet

POST {{edgeUrl}}/devicehub/v2

ROC800 Ethernet

Prerequisites None
Required fields Network address
Network Port
Operator ID
Password
Device Group/Address
Host Group/Address
Browse devices supported No
Browse tags supported Yes
Supported device models Emerson ROC800 Series

Driver ID: 96B7A2BE-1EA8-4DC0-8809-EBF867ADFB60 Group: Emerson

Required properties: - Password SignedInteger — Password - deviceAddress SignedInteger — ROC800 Station Address - deviceGroup SignedInteger — ROC800 Station Group - hostGroup SignedInteger — Host Station Group - hostAddress SignedInteger — Host Station Address - networkAddress String — Device IP Address - networkPort SignedInteger — TCP/IP Port - OperatorID String — Operator ID - name String — This is a Device Name.

Optional properties: - NextRequestDelay SignedInteger — Delay before next Request (ms) - optimizations SignedInteger Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My ROC800 Ethernet Device",
    "Description": "",
    "DriverID": "96B7A2BE-1EA8-4DC0-8809-EBF867ADFB60",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Password",
        "Value": "1000"
      },
      {
        "Key": "deviceAddress",
        "Value": "240"
      },
      {
        "Key": "NextRequestDelay",
        "Value": "0"
      },
      {
        "Key": "optimizations",
        "Value": "0"
      },
      {
        "Key": "deviceGroup",
        "Value": "240"
      },
      {
        "Key": "hostGroup",
        "Value": "1"
      },
      {
        "Key": "hostAddress",
        "Value": "239"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "OperatorID",
        "Value": "LOI"
      },
      {
        "Key": "name",
        "Value": "roc800-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My ROC800 Ethernet Device",
            "DriverID": "96B7A2BE-1EA8-4DC0-8809-EBF867ADFB60",
            "Description": ""
        }
    }
}

Create Device - Excel (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Excel (Gen1.3)

Prerequisites Enable the FTP server and upload your Excel file to /ftp-data/devicehub/
Required fields Path
Browse devices supported No
Browse tags supported No
Miscellaneous This is a read-only driver

Driver ID: 7AC52EDC-EBA9-4669-82CF-8EA99323E697 Group: Excel

Required properties: - name String — Device Name that describes your asset. - path String — Path to Excel file.

Optional properties: - description String — Description of the device or an asset. - cellPublishingOption SignedInteger — Cell Publishing Option parameter. Options: 0, 1

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Excel (Gen1.3) Device",
    "Description": "",
    "DriverID": "7AC52EDC-EBA9-4669-82CF-8EA99323E697",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Excel"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "path",
        "Value": "/example/path"
      },
      {
        "Key": "cellPublishingOption",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Excel (Gen1.3) Device",
            "DriverID": "7AC52EDC-EBA9-4669-82CF-8EA99323E697",
            "Description": ""
        }
    }
}

Create Device - Fanuc CNC Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Fanuc CNC Ethernet

Driver ID: 588C8307-33D1-4526-85BD-FECC82C82C2E Group: Fanuc Corporation

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Fanuc CNC Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "588C8307-33D1-4526-85BD-FECC82C82C2E",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Fanuc CNC Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Fanuc CNC Ethernet (Gen1.3) Device",
            "DriverID": "588C8307-33D1-4526-85BD-FECC82C82C2E",
            "Description": ""
        }
    }
}

Create Device - Fuji NB serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Fuji NB Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rare
Data Bits
Parity
Stop Bits
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Fuji Flex PC(NB Series PLC)
miscellaneous Supported Register address range will be varied from models. Disconnection comes from invalid address, please restart device to reset connection

Driver ID: E9DA2966-C794-4282-854C-F624F84DCB75 Group: Fuji Devices

Required properties: - name String — Device Name that describes your asset. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Fuji NB serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "E9DA2966-C794-4282-854C-F624F84DCB75",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "fuji device"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Fuji NB serial (Gen1.3) Device",
            "DriverID": "E9DA2966-C794-4282-854C-F624F84DCB75",
            "Description": ""
        }
    }
}

Create Device - Fuji SPH2000 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Fuji SPH2000 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Fuji SPH2000 series

Driver ID: 2BB297DF-B51E-4E0B-ABE9-52267DFBDAFB Group: Fuji Devices

Required properties: - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Fuji SPH2000 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "2BB297DF-B51E-4E0B-ABE9-52267DFBDAFB",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "Fuji device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Fuji SPH2000 Ethernet (Gen1.3) Device",
            "DriverID": "2BB297DF-B51E-4E0B-ABE9-52267DFBDAFB",
            "Description": ""
        }
    }
}

Create Device - GE Ethernet Absolute

POST {{edgeUrl}}/devicehub/v2

GE Ethernet Absolute

Prerequisites None
Required fields Network address
Network Port
Slot Number
Browse devices supported No
Browse tags supported No
Miscellaneous PACSystems RX3i and RX7i

Driver ID: 4561ACD1-343B-40A1-9DD6-51F0EB4FBF28 Group: GE Fanuc

Required properties: - networkPort SignedInteger — This is a network port of device - slotNumber SignedInteger — Slot# in Rack0 - networkAddress String — This is a IP Address of device - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger — Read Timeout (ms) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My GE Ethernet Absolute Device",
    "Description": "",
    "DriverID": "4561ACD1-343B-40A1-9DD6-51F0EB4FBF28",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "0"
      },
      {
        "Key": "readTimeout",
        "Value": "3000"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "ge-abs-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My GE Ethernet Absolute Device",
            "DriverID": "4561ACD1-343B-40A1-9DD6-51F0EB4FBF28",
            "Description": ""
        }
    }
}

Create Device - GE Ethernet Symbolic

POST {{edgeUrl}}/devicehub/v2

GE Ethernet Symbolic

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No, sng file might needed for browse function supported
Miscellaneous PACSystems RX3i and RX7i

Driver ID: 85F8517C-0453-4B78-8B0C-74ED738A9EC4 Group: GE Fanuc

Required properties: - networkPort SignedInteger — This is a network port of device - slotNumber SignedInteger — Slot# in Rack0 - networkAddress String — This is a IP Address of device - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger — Read Timeout (ms) - globalVariablesCSV String — FTP path to .SNF file - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My GE Ethernet Symbolic Device",
    "Description": "",
    "DriverID": "85F8517C-0453-4B78-8B0C-74ED738A9EC4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "0"
      },
      {
        "Key": "readTimeout",
        "Value": "3000"
      },
      {
        "Key": "globalVariablesCSV",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "ge-sym-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My GE Ethernet Symbolic Device",
            "DriverID": "85F8517C-0453-4B78-8B0C-74ED738A9EC4",
            "Description": ""
        }
    }
}

Create Device - GE Fanuc 90-30 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

GE Fanuc 90-30 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models GE Fanuc 90-30 series

Driver ID: 4C9B19DF-60AA-4667-A1A3-62CBA2F1B2CF Group: GE Fanuc

Required properties: - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My GE Fanuc 90-30 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "4C9B19DF-60AA-4667-A1A3-62CBA2F1B2CF",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "Fanuc Device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My GE Fanuc 90-30 Ethernet (Gen1.3) Device",
            "DriverID": "4C9B19DF-60AA-4667-A1A3-62CBA2F1B2CF",
            "Description": ""
        }
    }
}

Create Device - GE Fanuc CMM Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

GE Fanuc CMM Serial (Gen1.3) Serial

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models GE Fanuc Series 90-30

Driver ID: 5F7ED114-AFBE-45DE-B86A-035DE603A82B Group: GE Fanuc

Required properties: - deviceFile String — Local Serial connection file path. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter Options: 0, 1, 2 - name String — Device Name that describes your asset. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My GE Fanuc CMM Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "5F7ED114-AFBE-45DE-B86A-035DE603A82B",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "GE Fanuc Device"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My GE Fanuc CMM Serial (Gen1.3) Device",
            "DriverID": "5F7ED114-AFBE-45DE-B86A-035DE603A82B",
            "Description": ""
        }
    }
}

Create Device - GE Fanuc RX3i Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

GE Fanuc RX3i Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models PACSystems RX3i

Driver ID: F2AEC18F-3D63-4661-9E84-83E6FCB087AE Group: GE Fanuc

Required properties: - stationId SignedInteger — Station no./ slot no. of PLC - baudRate SignedInteger — Serial communication baudrate parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My GE Fanuc RX3i Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "F2AEC18F-3D63-4661-9E84-83E6FCB087AE",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "GE Fanuc Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My GE Fanuc RX3i Serial (Gen1.3) Device",
            "DriverID": "F2AEC18F-3D63-4661-9E84-83E6FCB087AE",
            "Description": ""
        }
    }
}

Create Device - GE Fanuc SNP Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

GE Fanuc SNP Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models GE micro and VersaMax series PLC

Driver ID: A72B91B9-6666-41E8-9C3F-8B3B96A76ECE Group: GE Fanuc

Required properties: - stationId SignedInteger — Station Id/Slot number of PLC - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My GE Fanuc SNP Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "A72B91B9-6666-41E8-9C3F-8B3B96A76ECE",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "GE Fanuc Device"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My GE Fanuc SNP Serial (Gen1.3) Device",
            "DriverID": "A72B91B9-6666-41E8-9C3F-8B3B96A76ECE",
            "Description": ""
        }
    }
}

Create Device - HID Device (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

HID Device (Gen1.3)

Prerequisites No
Required fields Communication Port
Browse devices supported No
Browse tags supported No
Supported device models USB HID class devices

This driver will publish the value of a string of ASCII characters only after a carriage return (\n) is sent.

Driver ID: A06BEA40-76CD-4EFE-9E52-E56A6F2AE434 Group: HID Devices

Required properties: - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My HID Device (Gen1.3) Device",
    "Description": "",
    "DriverID": "A06BEA40-76CD-4EFE-9E52-E56A6F2AE434",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "hid device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/hidraw0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My HID Device (Gen1.3) Device",
            "DriverID": "A06BEA40-76CD-4EFE-9E52-E56A6F2AE434",
            "Description": ""
        }
    }
}

Create Device - Heidenhain 530 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Heidenhain 530 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Heidenhain iTNC 530 Controllers

Driver ID: BC328283-3630-479E-A503-0EC999898B3E Group: Heidenhain

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Heidenhain 530 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "BC328283-3630-479E-A503-0EC999898B3E",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Heidenhain Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Heidenhain 530 Ethernet (Gen1.3) Device",
            "DriverID": "BC328283-3630-479E-A503-0EC999898B3E",
            "Description": ""
        }
    }
}

Create Device - Heidenhain 640 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Heidenhain 640 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Heidenhain TNC 640 controllers

Driver ID: 479A3869-9394-4F8B-869D-EB19454146AD Group: Heidenhain

Required properties: - networkAddress String — IP Address of the device. - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Heidenhain 640 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "479A3869-9394-4F8B-869D-EB19454146AD",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "Heidenhain Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Heidenhain 640 Ethernet (Gen1.3) Device",
            "DriverID": "479A3869-9394-4F8B-869D-EB19454146AD",
            "Description": ""
        }
    }
}

Create Device - Microsoft SQL Server Client

POST {{edgeUrl}}/devicehub/v2

Microsoft SQL Client Driver

Browse devices supported: No
Browse tags supported: No
Driver Settings: > Address: IP, Hostname or Endpoint (Port setting is ignored if port is included here)
> Instance, Database: Specify query target within server
> Username, Password: Client authentication
> Encryption: "Optional" -> Don't require certificate, "Mandatory" -> Verify certficate, "Strict" -> Verify certicate & use TDS8
> ValidateQuery: Preemptive query parsing (MySQL compatibility mode)
> ReadOnlyMode: Enforce read-only commands (SELECT,UNION,STREAM,SHOW,USE)
> AppName: Client Application ID (optional)
> HostName: Client Workstation ID (optional - defaults to )
Important: > Ensure minimal permissions are set for the provided user account
> For T-SQL specific statements to work as expected, "ValidateQuery" may need to be disabled
Miscellaneous: > Driver does not support writing to tags
> For multi-row output, use "Table" register
> For single-row or single-field output, use "Record" register
> When reading single rows, enable timestamp/value parsing by setting a positive index value for the respective fields
> When reading multiple rows, it is recommended to keep output table sizes under 1MB
> When using "Only Publish on Change of Value", it may be necessary to define a CDC query (see below)
> All SQL queries (multi-statement in particular) should be tested independently of driver to ensure correctness

CDC (Change Data Capture)

Driver ID: EAE46646-63D5-4C94-970B-A046B4D6DE85 Group: Historian

Required properties: - Port SignedInteger — SQL Server Port - Address String — SQL Server Address - Username String - Password String - name String — This is a Device Name.

Optional properties: - Database String — Server Database Name - Encryption SignedInteger — Encryption Mode Options: 0, 1, 2, 3 - ReadOnlyMode SignedInteger — ReadOnly Protections Options: 0, 1 - RequestTimeout SignedInteger — Request Timeout (S) - ConnectionTimeout SignedInteger — Connection Timeout (S) - Instance String — Server Instance Path - ValidateQuery SignedInteger — Parse Queries and Validate Syntax (MySQL Syntax Only) Options: 0, 1 - PacketSize SignedInteger — Maximum Packet Size - advanced SignedInteger — Show Advanced Config Options: 0, 1 - AppName String — Client Application ID - HostName String — Client Workstation ID - MinTLSVersion SignedInteger — Minimum TLS Version Options: 0, 1, 2, 3 - ServerCertificate String — CA Chain (PEM) - KeepAlive SignedInteger — TCP Keep-Alive (S) (0 to disable) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Microsoft SQL Server Client Device",
    "Description": "",
    "DriverID": "EAE46646-63D5-4C94-970B-A046B4D6DE85",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Database",
        "Value": "master"
      },
      {
        "Key": "Encryption",
        "Value": "0"
      },
      {
        "Key": "ReadOnlyMode",
        "Value": "0"
      },
      {
        "Key": "RequestTimeout",
        "Value": "10"
      },
      {
        "Key": "ConnectionTimeout",
        "Value": "5"
      },
      {
        "Key": "Port",
        "Value": "502"
      },
      {
        "Key": "Instance",
        "Value": ""
      },
      {
        "Key": "ValidateQuery",
        "Value": "0"
      },
      {
        "Key": "PacketSize",
        "Value": "4096"
      },
      {
        "Key": "advanced",
        "Value": "0"
      },
      {
        "Key": "AppName",
        "Value": "devicehub"
      },
      {
        "Key": "HostName",
        "Value": ""
      },
      {
        "Key": "MinTLSVersion",
        "Value": "0"
      },
      {
        "Key": "Address",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Username",
        "Value": "admin"
      },
      {
        "Key": "Password",
        "Value": "password"
      },
      {
        "Key": "ServerCertificate",
        "Value": ""
      },
      {
        "Key": "KeepAlive",
        "Value": "30"
      },
      {
        "Key": "name",
        "Value": "mssql-client_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Microsoft SQL Server Client Device",
            "DriverID": "EAE46646-63D5-4C94-970B-A046B4D6DE85",
            "Description": ""
        }
    }
}

Create Device - Hitachi serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Hitachi Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Hitachi EH Series

Driver ID: FAE5C1D8-A774-4D9A-A186-5ADAEDA0B31D Group: Hitachi Devices

Required properties: - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - baudRate SignedInteger — Serial communication baudrate parameter. - stopBits SignedInteger — Serial communication stopbits parameter.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Hitachi serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "FAE5C1D8-A774-4D9A-A186-5ADAEDA0B31D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "hitachi device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "dataBits",
        "Value": "7"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Hitachi serial (Gen1.3) Device",
            "DriverID": "FAE5C1D8-A774-4D9A-A186-5ADAEDA0B31D",
            "Description": ""
        }
    }
}

Create Device - IEC60870-5-102 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

IEC60870-5-102 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Link Address
Asdu Addr Size
Browse devices supported No
Browse tags supported No
Supported device models Devices that support IEC60870-5-102 protocol

Driver ID: 94290D6F-4197-4DBF-9847-1848F9840F63 Group: IEC

Required properties: - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device. - linkAddress SignedInteger — Link Address. - asduAddrSize SignedInteger — Size of ASDU Address. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My IEC60870-5-102 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "94290D6F-4197-4DBF-9847-1848F9840F63",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "linkAddress",
        "Value": "3"
      },
      {
        "Key": "asduAddrSize",
        "Value": "2"
      },
      {
        "Key": "name",
        "Value": "IEC Device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My IEC60870-5-102 Ethernet (Gen1.3) Device",
            "DriverID": "94290D6F-4197-4DBF-9847-1848F9840F63",
            "Description": ""
        }
    }
}

Create Device - IEC60870-5-104 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

IEC60870-5-104 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Devices that support IEC60870-5-104 protocol

Driver ID: EFD8528C-5C90-4454-81F9-6DC851F63936 Group: IEC

Required properties: - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device. - stationId SignedInteger — Station id/ slot number

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My IEC60870-5-104 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "EFD8528C-5C90-4454-81F9-6DC851F63936",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "IEC Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "stationId",
        "Value": "1"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My IEC60870-5-104 Ethernet (Gen1.3) Device",
            "DriverID": "EFD8528C-5C90-4454-81F9-6DC851F63936",
            "Description": ""
        }
    }
}

Create Device - Keyence KV10 Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Keyence KV10 Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Keyence KV Series (KV10~80)

Driver ID: 29530297-998F-4E0A-9137-ABEDA478AF2D Group: Keyence

Required properties: - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Keyence KV10 Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "29530297-998F-4E0A-9137-ABEDA478AF2D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "keyence"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Keyence KV10 Serial (Gen1.3) Device",
            "DriverID": "29530297-998F-4E0A-9137-ABEDA478AF2D",
            "Description": ""
        }
    }
}

Create Device - Keyence Nano Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Keyence Nano Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Keyence KV and Nano series

Driver ID: F43FC385-C0CC-4E0D-AABF-C1686F3AA6E3 Group: Keyence

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Keyence Nano Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "F43FC385-C0CC-4E0D-AABF-C1686F3AA6E3",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "keyence"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Keyence Nano Ethernet (Gen1.3) Device",
            "DriverID": "F43FC385-C0CC-4E0D-AABF-C1686F3AA6E3",
            "Description": ""
        }
    }
}

Create Device - Keyence Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Keyence Serial (Gen1.3)

Prerequisites None
Required fields Communication Port
Parity
Baud Rate
Data Bits
Stop Bits
Browse devices supported No
Browse tags supported No
Supported device models Keyence KV and Nano series

Driver ID: E2875F18-40FA-408A-8CE2-F40E022E3DED Group: Keyence

Required properties: - baudRate SignedInteger — Serial communication baudrate parameter. - deviceFile String — Local Serial connection file path. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Keyence Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "E2875F18-40FA-408A-8CE2-F40E022E3DED",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "keyence"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Keyence Serial (Gen1.3) Device",
            "DriverID": "E2875F18-40FA-408A-8CE2-F40E022E3DED",
            "Description": ""
        }
    }
}

Create Device - Koyo Click Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Koyo Click Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Koyo Click PLC Series

Driver ID: 27522C78-CBE8-4BF0-BD26-43DAD7E02F0C Group: Koyo

Required properties: - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - stationId SignedInteger — Station id/slot number - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Koyo Click Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "27522C78-CBE8-4BF0-BD26-43DAD7E02F0C",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Koyo Device"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Koyo Click Serial (Gen1.3) Device",
            "DriverID": "27522C78-CBE8-4BF0-BD26-43DAD7E02F0C",
            "Description": ""
        }
    }
}

Create Device - Koyo Direct Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Koyo Direct Serial

Driver ID: DEABEBA3-7E58-4774-A475-39F81ECF486B Group: Koyo

Required properties: - name String — Device Name that describes your asset. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - deviceFile String — Local Serial connection file path. - stationId SignedInteger — Station id/slot number - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Koyo Direct Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "DEABEBA3-7E58-4774-A475-39F81ECF486B",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Koyo Device"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Koyo Direct Serial (Gen1.3) Device",
            "DriverID": "DEABEBA3-7E58-4774-A475-39F81ECF486B",
            "Description": ""
        }
    }
}

Create Device - Koyo Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Koyo Ethernet (Gen 1.3)

Prerequisites None
Required fields Network address
Network Port
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Koyo DirectLogic Series

Driver ID: 1A483B03-463F-4218-B464-F796343C6D5F Group: Koyo

Required properties: - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Koyo Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "1A483B03-463F-4218-B464-F796343C6D5F",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "koyo device"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Koyo Ethernet (Gen1.3) Device",
            "DriverID": "1A483B03-463F-4218-B464-F796343C6D5F",
            "Description": ""
        }
    }
}

Create Device - LS Master-K CPU Direct Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

LS Master-K CPU Direct Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models LS MASTER-K series: K7M, K80S, K120S, K200S, K300S, K1000S

Driver ID: CAC8E388-0230-4EA3-99D0-9B4FE42F9328 Group: LS Industrial System

Required properties: - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - deviceFile String — Local Serial connection file path. - dataBits SignedInteger — Serial communication databits parameter. - name String — Device Name that describes your asset. - baudRate SignedInteger — Serial communication baudrate parameter. - stopBits SignedInteger — Serial communication stopbits parameter.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My LS Master-K CPU Direct Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "CAC8E388-0230-4EA3-99D0-9B4FE42F9328",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "name",
        "Value": "LS Master Device"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My LS Master-K CPU Direct Serial (Gen1.3) Device",
            "DriverID": "CAC8E388-0230-4EA3-99D0-9B4FE42F9328",
            "Description": ""
        }
    }
}

Create Device - LS XBM Cnet Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

LS XBM Cnet Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models LS XBM/XBC CPU series with XGL-CH2A module

Driver ID: 9F2C6E7B-363A-4933-8B14-3FDBE3348276 Group: LS Industrial System

Required properties: - name String — Device Name that describes your asset. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - stationId SignedInteger — Station Id/ Slot number - deviceFile String — Local Serial connection file path. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My LS XBM Cnet Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "9F2C6E7B-363A-4933-8B14-3FDBE3348276",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "LS Master Device"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My LS XBM Cnet Serial (Gen1.3) Device",
            "DriverID": "9F2C6E7B-363A-4933-8B14-3FDBE3348276",
            "Description": ""
        }
    }
}

Create Device - LS XBM Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

LS XBM Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models LS XBM/XBC series (RS232 port)

Driver ID: 111BCF84-25D5-4C53-9588-D22CFF50F6C5 Group: LS Industrial System

Required properties: - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - name String — Device Name that describes your asset. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - deviceFile String — Local Serial connection file path.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My LS XBM Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "111BCF84-25D5-4C53-9588-D22CFF50F6C5",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "name",
        "Value": "LS Master Device"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My LS XBM Serial (Gen1.3) Device",
            "DriverID": "111BCF84-25D5-4C53-9588-D22CFF50F6C5",
            "Description": ""
        }
    }
}

Create Device - LioN-X

POST {{edgeUrl}}/devicehub/v2

LioN-X OPC UA Client Driver

The driver implements the Client according to OPC UA Specification version 1.04 (IEC62541 standard).

Features:

Driver ID: D5E201DC-35DE-44AD-B9DB-EB6AD70432C0 Group: Lumberg Automation

Required properties: - AdvancedSettingsShowHide String — Advanced settings Options: 0, 1 - AuthMode String — Auth Mode Options: 0, 1, 2 - DefaultRoot String — Start node to browse the server - DisableApplicationUriCheck String — Flag used to disable the certificate ApplicationUri match check. Options: 0, 1 - DisableEncryptedPasswordCheck String — Flag used to disable the check if the password of a UserPassword identity token is encrypted properly. Options: 0, 1 - DisableErrorCertificateChainIncomplete String — Flag used to disable the certificate validation error BadCertificateChainIncomplete. Options: 0, 1 - DisableErrorCertificateHostNameInvalid String — Flag used to disable the check if the hostname the client connected to matches one of the hostnames or IP addresses in the server certificate. Options: 0, 1 - DisableErrorCertificateRevocationUnknown String — Flag used to disable the client certificate validation error BadCertificateRevocationUnknown. Options: 0, 1 - DisableErrorCertificateTimeInvalid String — Flag used to disable the certificate validation error CertificateTimeInvalid. Options: 0, 1 - DisableErrorCertificateUntrusted String — Flag used to disable the certificate validation error BadCertificateUntrusted. Options: 0, 1 - DriverMode String — Driver Mode Options: 0, 1 - SecurityMode String — Security Mode Options: 0, 1, 2 - SecurityPolicy String — Security Policy Options: 0, 1, 2, 3, 4, 5 - ServerURL String — Server URL - name String — This is a Device Name.

Optional properties: - LifetimeCount SignedInteger — The subscription lifetime count (SubscriptionLifetime = LifetimeCount * PublishingInterval) - MaxKeepAliveCount SignedInteger — If the server has no notifications pending for the period of time defined by * (MaxKeepAliveCount * PublishingInterval), the server will send a keep alive message to the client - MaxNotificationsPerPublish SignedInteger — The maximum number of notifications that the client wishes to receive in a single publish response - Password String — Password - Priority SignedInteger — The relative priority of this subscription within the session - PublishingInterval SignedInteger — The cyclic rate in milliseconds at which the subscription is being requested to return notifications to the client - SessionCertificate String — Session Certificate - SessionPrivateKey String — Session Private Key - UserCertificate String — User Auth Certificate (PEM format) - UserName String — User Name - UserPrivateKey String — User Auth Private Key (PEM format) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My LioN-X Device",
    "Description": "",
    "DriverID": "D5E201DC-35DE-44AD-B9DB-EB6AD70432C0",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "AdvancedSettingsShowHide",
        "Value": "0"
      },
      {
        "Key": "AuthMode",
        "Value": "0"
      },
      {
        "Key": "DefaultRoot",
        "Value": "ns=0;i=84"
      },
      {
        "Key": "DisableApplicationUriCheck",
        "Value": "0"
      },
      {
        "Key": "DisableEncryptedPasswordCheck",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateChainIncomplete",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateHostNameInvalid",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateRevocationUnknown",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateTimeInvalid",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateUntrusted",
        "Value": "0"
      },
      {
        "Key": "DriverMode",
        "Value": "0"
      },
      {
        "Key": "LifetimeCount",
        "Value": "2400"
      },
      {
        "Key": "MaxKeepAliveCount",
        "Value": "10"
      },
      {
        "Key": "MaxNotificationsPerPublish",
        "Value": "0"
      },
      {
        "Key": "Password",
        "Value": ""
      },
      {
        "Key": "Priority",
        "Value": "0"
      },
      {
        "Key": "PublishingInterval",
        "Value": "500"
      },
      {
        "Key": "SecurityMode",
        "Value": "0"
      },
      {
        "Key": "SecurityPolicy",
        "Value": "0"
      },
      {
        "Key": "ServerURL",
        "Value": "192.168.1.100"
      },
      {
        "Key": "SessionCertificate",
        "Value": "<certificate>"
      },
      {
        "Key": "SessionPrivateKey",
        "Value": "<certificate>"
      },
      {
        "Key": "UserCertificate",
        "Value": ""
      },
      {
        "Key": "UserName",
        "Value": ""
      },
      {
        "Key": "UserPrivateKey",
        "Value": ""
      },
      {
        "Key": "name",
        "Value": "LioN-X_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My LioN-X Device",
            "DriverID": "D5E201DC-35DE-44AD-B9DB-EB6AD70432C0",
            "Description": ""
        }
    }
}

Create Device - MTConnect Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

MTConnect Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Device Name
Browse devices supported No
Browse tags supported Yes
Miscellaneous This is a read-only driver

Driver ID: A1203823-578D-48C4-832A-34670D6F0DF7 Group: MTConnect

Required properties: - networkPort SignedInteger — Network port of the device. - deviceName String — Device Name of the device. - name String — Name that describes your asset. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My MTConnect Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "A1203823-578D-48C4-832A-34670D6F0DF7",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "deviceName",
        "Value": "device"
      },
      {
        "Key": "name",
        "Value": "MTConnect Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My MTConnect Ethernet (Gen1.3) Device",
            "DriverID": "A1203823-578D-48C4-832A-34670D6F0DF7",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi A Series Serial

POST {{edgeUrl}}/devicehub/v2

Mitsubishi A Series Serial Driver

Required fields: > Device File
> Baud Rate
> Data Bits
> Stop Bits
> Parity
> PLC Type
Browse devices supported: No
Browse tags supported: No
Supported device models: Mitsubishi A Series Serial Devices (A2SH/A2USH/A2N)
Miscellaneous: > Byte Order: Little-Endian
> Register Grouping Size: 32
> word == uint16

Driver ID: EDB59BDF-3459-48C2-9E8E-6F5CAAA3E343 Group: Mitsubishi

Required properties: - PlcType SignedInteger — PLC Type Options: 0, 1, 2 - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - ReadTimeout SignedInteger — Serial Read Timeout (ms) - RetryCount SignedInteger — Read Retries (0 for no retry) - WriteDelay SignedInteger — Wait time before resetting RTS during serial write (ms) - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi A Series Serial Device",
    "Description": "",
    "DriverID": "EDB59BDF-3459-48C2-9E8E-6F5CAAA3E343",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "PlcType",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "200"
      },
      {
        "Key": "RetryCount",
        "Value": "2"
      },
      {
        "Key": "WriteDelay",
        "Value": "3"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "Advanced",
        "Value": "0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "mitsubishi-a-ser_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi A Series Serial Device",
            "DriverID": "EDB59BDF-3459-48C2-9E8E-6F5CAAA3E343",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi FX2N serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi FX2N serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi FX2N series

Driver ID: 1AED6791-3AE4-4642-BF16-47AE5C71EEC6 Group: Mitsubishi

Required properties: - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - name String — Device Name that describes your asset. - baudRate SignedInteger — Serial communication baudrate parameter. - deviceFile String — Local Serial connection file path.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi FX2N serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "1AED6791-3AE4-4642-BF16-47AE5C71EEC6",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "dataBits",
        "Value": "7"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "mitsubishi device"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi FX2N serial (Gen1.3) Device",
            "DriverID": "1AED6791-3AE4-4642-BF16-47AE5C71EEC6",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi FX2N-10GM/20GM Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi FX2N-10GM/20GM Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi FX2N-10GM/20GM Series

Driver ID: 547F2D33-0081-424A-978D-0CE3C6676410 Group: Mitsubishi

Required properties: - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi FX2N-10GM/20GM Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "547F2D33-0081-424A-978D-0CE3C6676410",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "mitsubishi device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi FX2N-10GM/20GM Serial (Gen1.3) Device",
            "DriverID": "547F2D33-0081-424A-978D-0CE3C6676410",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi FX3G ASCII Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi FX3G ASCII Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi FX3G Series

Driver ID: 0D25A6F3-55DE-41CF-89CE-7BBA69A5A34D Group: Mitsubishi

Required properties: - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi FX3G ASCII Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "0D25A6F3-55DE-41CF-89CE-7BBA69A5A34D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "mitsubish device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi FX3G ASCII Ethernet (Gen1.3) Device",
            "DriverID": "0D25A6F3-55DE-41CF-89CE-7BBA69A5A34D",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi FX3G Binary Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi FX3G Binary Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi FX3G Series

Driver ID: 793F3159-4523-4DCB-80A2-24B0F9432D0C Group: Mitsubishi

Required properties: - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi FX3G Binary Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "793F3159-4523-4DCB-80A2-24B0F9432D0C",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "mitsubishi device"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi FX3G Binary Ethernet (Gen1.3) Device",
            "DriverID": "793F3159-4523-4DCB-80A2-24B0F9432D0C",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi FX3U Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi FX3U Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Parity
Stop Bits
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi FX3 Series

Driver ID: AB084A0D-92A7-47C7-B4BC-825863223ABD Group: Mitsubishi

Required properties: - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - name String — Device Name that describes your asset. - baudRate SignedInteger — Serial communication baudrate parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - deviceFile String — Local Serial connection file path.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi FX3U Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "AB084A0D-92A7-47C7-B4BC-825863223ABD",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "dataBits",
        "Value": "7"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "mitsubishi device"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi FX3U Serial (Gen1.3) Device",
            "DriverID": "AB084A0D-92A7-47C7-B4BC-825863223ABD",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi FX5U Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi FX5U Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Parity
Stop Bits
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi iQ-F Series, 4-wire RS485

Driver ID: 7DA81F7B-CAF9-4E23-BE23-4D8B78B94E5F Group: Mitsubishi

Required properties: - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - stationId SignedInteger — Station no of device. - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi FX5U Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "7DA81F7B-CAF9-4E23-BE23-4D8B78B94E5F",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stationId",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "name",
        "Value": "mitsubishi device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi FX5U Serial (Gen1.3) Device",
            "DriverID": "7DA81F7B-CAF9-4E23-BE23-4D8B78B94E5F",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi Q/L Ethernet

POST {{edgeUrl}}/devicehub/v2

Mitsubishi Q/L Ethernet Driver

Required fields: > Network Address
> Network Port
> Network ID
> Station ID
> Encoding
Browse devices supported: No
Browse tags supported: No
Supported device models: Mitsubishi Q/L Ethernet Devices (incl. QJ71E71 modules) Ascii/Binary
Miscellaneous: > Byte Order: (Binary -> Little-Endian, Ascii -> Big-Endian)
> Register Grouping Size: 960
> Network ID default: (QJ71E71 -> 1, Other -> 0)
> strings: padding always added to "Length", up to next register
> timers: TN/SN (dint -> raw value, string -> T#-12d23h34m45s567ms format)
> word/dword/lword == uint16/uint32/uint64
> real/dreal == float32/float64
> Address Formats prefixed with '*' may not match PLC. Ensure all addresses are converted to Decimal correctly.

Driver ID: 341C7310-967F-4BAC-9C80-2C93BB9B068B Group: Mitsubishi

Required properties: - networkAddress String — PLC IP - stationId SignedInteger — Station No. of PLC - networkId SignedInteger — Network No. of PLC - networkPort SignedInteger — PLC Port - name String — This is a Device Name.

Optional properties: - encoding SignedInteger — Encoding Format Options: 0, 1 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - ReadTimeout SignedInteger — Read Timeout (ms) - RetryCount SignedInteger — Read Retries (0 for no retry) - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi Q/L Ethernet Device",
    "Description": "",
    "DriverID": "341C7310-967F-4BAC-9C80-2C93BB9B068B",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "encoding",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Advanced",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "stationId",
        "Value": "255"
      },
      {
        "Key": "networkId",
        "Value": "0"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "mitsubishi-ql-eth_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi Q/L Ethernet Device",
            "DriverID": "341C7310-967F-4BAC-9C80-2C93BB9B068B",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi Q06 Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi Q06 Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi Q06H CPU Series

Driver ID: 66042B77-7B8F-486C-B8A6-E045A94D8D49 Group: Mitsubishi

Required properties: - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi Q06 Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "66042B77-7B8F-486C-B8A6-E045A94D8D49",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "mitsubishi device"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi Q06 Serial (Gen1.3) Device",
            "DriverID": "66042B77-7B8F-486C-B8A6-E045A94D8D49",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi QJ71E71

POST {{edgeUrl}}/devicehub/v2

Mitsubishi QJ71E71 Ethernet Driver

Driver ID: C35CD544-F1D7-4911-B38A-AD21AABE9744 Group: Mitsubishi

Required properties: - networkAddress String — IP Address of device - networkPort SignedInteger — TCP/IP port of device - networkId SignedInteger — Network No. of device - stationId SignedInteger — Station No. of device - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi QJ71E71 Device",
    "Description": "",
    "DriverID": "C35CD544-F1D7-4911-B38A-AD21AABE9744",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkId",
        "Value": "1"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "mitsubishi-qj71e71_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi QJ71E71 Device",
            "DriverID": "C35CD544-F1D7-4911-B38A-AD21AABE9744",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi iQ-F Ethernet

POST {{edgeUrl}}/devicehub/v2

Mitsubishi iQ-F Ethernet Driver

Required fields: > Network Address
> Network Port
> Network ID
> Station ID
> Encoding
Browse devices supported: No
Browse tags supported: No
Supported device models: Mitsubishi iQ-F Series Ethernet Devices (Ascii/Binary)
> FX5U Ethernet Devices (exluding V, LT-, LS-, ZR)
Miscellaneous: > Byte Order: (Binary -> Little-Endian, Ascii -> Big-Endian)
> Register Grouping Size: 64
> strings: padding always added to "Length", up to next register
> timers: TN/SN (dint -> raw value, string -> T#-12d23h34m45s567ms format)
> word/dword/lword == uint16/uint32/uint64
> real/dreal == float32/float64
> LZ/LTN/LCN/LSN do not support count > 1
> LTN/LCN/LSN are not supported in ascii mode
> Address Formats prefixed with '*' may not match PLC. Ensure all addresses are converted to Decimal correctly.

Driver ID: A6BBE2F9-39D1-49D0-A05A-947B5D837911 Group: Mitsubishi

Required properties: - stationId SignedInteger — Station No. of PLC - networkPort SignedInteger — PLC Port - networkAddress String — PLC IP - networkId SignedInteger — Network No. of PLC - name String — This is a Device Name.

Optional properties: - encoding SignedInteger — Encoding Format Options: 0, 1 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - RetryCount SignedInteger — Read Retries (0 for no retry) - ReadTimeout SignedInteger — Read Timeout (ms) - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi iQ-F Ethernet Device",
    "Description": "",
    "DriverID": "A6BBE2F9-39D1-49D0-A05A-947B5D837911",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "stationId",
        "Value": "255"
      },
      {
        "Key": "encoding",
        "Value": "0"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "Advanced",
        "Value": "0"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkId",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "name",
        "Value": "mitsubishi-iqf-eth_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi iQ-F Ethernet Device",
            "DriverID": "A6BBE2F9-39D1-49D0-A05A-947B5D837911",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi iQ-R Ethernet

POST {{edgeUrl}}/devicehub/v2

Mitsubishi iQ-R Ethernet Driver

Required fields: > Network Address
> Network Port
> Network ID
> Station ID
> Encoding
Browse devices supported: No
Browse tags supported: No
Supported device models: Mitsubishi iQ-R Series Ethernet Devices (Ascii/Binary)
> FX5U Ethernet Devices (exluding V, LT-, LS-, ZR)
Miscellaneous: > Byte Order: (Binary -> Little-Endian, Ascii -> Big-Endian)
> Register Grouping Size: 64
> strings: padding always added to "Length", up to next register
> timers: TN/SN (dint -> raw value, string -> T#-12d23h34m45s567ms format)
> word/dword/lword == uint16/uint32/uint64
> real/dreal == float32/float64
> LZ/LTN/LCN/LSN do not support count > 1
> LTN/LCN/LSN are not supported in ascii mode
> Address Formats prefixed with '*' may not match PLC. Ensure all addresses are converted to Decimal correctly.

Driver ID: 8A7DDEFC-94E5-46D2-BE41-68318B641856 Group: Mitsubishi

Required properties: - networkAddress String — PLC IP - networkPort SignedInteger — PLC Port - networkId SignedInteger — Network No. of PLC - stationId SignedInteger — Station No. of PLC - name String — This is a Device Name.

Optional properties: - RetryCount SignedInteger — Read Retries (0 for no retry) - ReadTimeout SignedInteger — Read Timeout (ms) - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - encoding SignedInteger — Encoding Format Options: 0, 1 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi iQ-R Ethernet Device",
    "Description": "",
    "DriverID": "8A7DDEFC-94E5-46D2-BE41-68318B641856",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "networkId",
        "Value": "0"
      },
      {
        "Key": "stationId",
        "Value": "255"
      },
      {
        "Key": "encoding",
        "Value": "0"
      },
      {
        "Key": "Advanced",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "mitsubishi-iqr-eth_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi iQ-R Ethernet Device",
            "DriverID": "8A7DDEFC-94E5-46D2-BE41-68318B641856",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi_Q00_01H_serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi_Q00_01H_serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi Q series with Q00, Q01H CPU port, QJ71C24N communication module

Driver ID: 5E339CD5-2C29-4E7E-AF1A-6A022B97211D Group: Mitsubishi

Required properties: - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - stopBits SignedInteger — Serial communication stopbits parameter. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi_Q00_01H_serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "5E339CD5-2C29-4E7E-AF1A-6A022B97211D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "mitsubishi device"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi_Q00_01H_serial (Gen1.3) Device",
            "DriverID": "5E339CD5-2C29-4E7E-AF1A-6A022B97211D",
            "Description": ""
        }
    }
}

Create Device - Mitsubishi_Q02_02H_serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Mitsubishi_Q02_02H_serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Mitsubishi Q02/Q02H CPU port series

Driver ID: EAA09420-76AB-41E9-B8D4-00778BE65B8D Group: Mitsubishi

Required properties: - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - name String — Device Name that describes your asset. - stopBits SignedInteger — Serial communication stopbits parameter.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Mitsubishi_Q02_02H_serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "EAA09420-76AB-41E9-B8D4-00778BE65B8D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "mitsubishi device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "stopBits",
        "Value": "1"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Mitsubishi_Q02_02H_serial (Gen1.3) Device",
            "DriverID": "EAA09420-76AB-41E9-B8D4-00778BE65B8D",
            "Description": ""
        }
    }
}

Create Device - Enron Modbus

POST {{edgeUrl}}/devicehub/v2

Enron Modbus

Required fields (Serial transport) Device File
Baud Rate
Data Bits
Stop Bits
Parity
Required fields (TCP/IP transport) Network Address
Network Port
Connection timeout
Browse devices supported No
Browse tags supported No

Driver ID: 410EFF34-68C9-4630-AB8D-A8E438995FD3 Group: Modbus

Required properties: - overrideBWOrder SignedInteger — Override registers' "Bytes And Words Order" setting Options: 0, 1 - deviceFile String — Path to Device - overrideStationID SignedInteger — Override registers' Station ID setting Options: 0, 1 - bytesAndWordsOrder SignedInteger — Bytes And Words Order Options: 0, 1, 2, 3 - transportType SignedInteger — Transport Type Options: 0, 1 - requestTimeoutMs SignedInteger — Request timeout, msec - stationID SignedInteger — Station ID - protocolBaseYear UnsignedInteger — Base year for date convertion - networkAddress String — PLC IP - networkPort SignedInteger — PLC Port - connectionTimeoutSec SignedInteger — Connection timeout, sec - protocolMode SignedInteger — Protocol Mode Options: 0, 1 - name String — This is a Device Name.

Optional properties: - pauseBetweenRetriesMs SignedInteger — Pause between retries, msec - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - retryRequestCount SignedInteger — Retry request count - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Enron Modbus Device",
    "Description": "",
    "DriverID": "410EFF34-68C9-4630-AB8D-A8E438995FD3",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "overrideBWOrder",
        "Value": "0"
      },
      {
        "Key": "pauseBetweenRetriesMs",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "overrideStationID",
        "Value": "0"
      },
      {
        "Key": "bytesAndWordsOrder",
        "Value": "0"
      },
      {
        "Key": "transportType",
        "Value": "0"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "stationID",
        "Value": "1"
      },
      {
        "Key": "protocolBaseYear",
        "Value": "2000"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "retryRequestCount",
        "Value": "0"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "connectionTimeoutSec",
        "Value": "5"
      },
      {
        "Key": "protocolMode",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "Enron-Modbus_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Enron Modbus Device",
            "DriverID": "410EFF34-68C9-4630-AB8D-A8E438995FD3",
            "Description": ""
        }
    }
}

Create Device - Modbus ASCII

POST {{edgeUrl}}/devicehub/v2

Modbus ASCII

Required fields Device File
Baud Rate
Data Bits
Parity
Stop Bits
Station ID
Browse devices supported No
Browse tags supported No
Miscellaneous Zero-Based Addressing specifies if Modbus Protocol addresses are 0-based or 1-based

Driver ID: 7E0EB9A6-D638-11E9-BB65-2A2AE2DBCCE4 Group: Modbus

Required properties: - deviceFile String — This is a path to device. - baudRate SignedInteger — This is a baud rate. Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - parity String — This is a parity. Options: 0, 1, 2 - stationId SignedInteger — This is a station no of device. - dataBits SignedInteger — This is a data bits. - stopBits SignedInteger — This is a stop bits. - name String — This is a Device Name.

Optional properties: - Zero-Based Addressing SignedInteger Options: 0, 1 - requestTimeoutMs SignedInteger — Response Timeout (ms) - maxDiscrete SignedInteger — Maximum number of Coil and Contact Registers allowed in a single request. Must be greater than Coil and Contact Allowable Gap Size - maxAnalog SignedInteger — Maximum number of Input and Holding Registers allowed in a single request. Must be greater than Input and Holding Allowable Gap Size. - discreteGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - analogGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus ASCII Device",
    "Description": "",
    "DriverID": "7E0EB9A6-D638-11E9-BB65-2A2AE2DBCCE4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stationId",
        "Value": "0"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "maxDiscrete",
        "Value": "2000"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "maxAnalog",
        "Value": "125"
      },
      {
        "Key": "discreteGap",
        "Value": "0"
      },
      {
        "Key": "analogGap",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "modbus-ascii_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus ASCII Device",
            "DriverID": "7E0EB9A6-D638-11E9-BB65-2A2AE2DBCCE4",
            "Description": ""
        }
    }
}

Create Device - Modbus ASCII Advanced

POST {{edgeUrl}}/devicehub/v2

Modbus ASCII Advanced

Prerequisites None
Required fields Device File
Baud Rate
Data Bits
Parity
Stop Bits
Browse devices supported No
Browse tags supported No
Miscellaneous Zero-Based Addressing specifies if Modbus Protocol addresses are 0-based or 1-based

Use this driver instead of the Modbus ASCII driver when multiple stations are connected to the RS-485 bus. The Station ID setting can be customized at the tag level with this driver. The device connection status is defined by the last received response.

Driver ID: 5E0CFCEA-9AF0-4BE5-A8C2-C811A254D452 Group: Modbus

Required properties: - dataBits SignedInteger — This is a data bits. - deviceFile String — This is a path to device. - baudRate SignedInteger — This is a baud rate. Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - stopBits SignedInteger — This is a stop bits. - parity String — This is a parity. Options: 0, 1, 2 - name String — This is a Device Name.

Optional properties: - requestTimeoutMs SignedInteger — Response Timeout (ms) - discreteGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - Delay Between Polls SignedInteger — Delay between Poll requests (ms) - Zero-Based Addressing SignedInteger Options: 0, 1 - maxDiscrete SignedInteger — Maximum number of Coil and Contact Registers allowed in a single request. Must be greater than Coil and Contact Allowable Gap Size - maxAnalog SignedInteger — Maximum number of Input and Holding Registers allowed in a single request. Must be greater than Input and Holding Allowable Gap Size. - analogGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus ASCII Advanced Device",
    "Description": "",
    "DriverID": "5E0CFCEA-9AF0-4BE5-A8C2-C811A254D452",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "discreteGap",
        "Value": "0"
      },
      {
        "Key": "Delay Between Polls",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "maxDiscrete",
        "Value": "2000"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "maxAnalog",
        "Value": "125"
      },
      {
        "Key": "analogGap",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "modbus-ascii-adv_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus ASCII Advanced Device",
            "DriverID": "5E0CFCEA-9AF0-4BE5-A8C2-C811A254D452",
            "Description": ""
        }
    }
}

Create Device - Modbus Multi-Station RTU to TCP Converter

POST {{edgeUrl}}/devicehub/v2

Modbus Multi-Station RTU to TCP Converter

Modbus RTU over TCP support Yes
Modbus TCP support Yes
Browse devices supported No
Browse tags supported No
Registers supported No

Use this driver to connect to Modbus RS-485 multi-station architectures in conjunction with multiple instances of the Modbus RTU over TCP driver. This driver will handle all serial communication with the Modbus stations and expose them using a TCP server. You cannot add tags to this driver. Instead, all tags should be added to the Modbus RTU over TCP driver instances. This allows you to reuse tag names across different station IDs. In the Modbus RTU over TCP driver instances, set the device parameters as follows:

IP address 127.0.0.1
Retry Request Count 0
Pause Between Requests 0
Response Timeout Number of stations * (Converter Response Timeout * (Converter Retry Request Count + 1) * Converter Pause Between Requests)

Driver ID: 4F0F523B-293C-4704-8282-6C2073C76C10 Group: Modbus

Required properties: - deviceFile String — Path to Device - networkInterface String — Bind network interface for TCP server - maxTCPConnections SignedInteger — Maximum number of simultaneous TCP connections - responseTimeout SignedInteger — Response timeout (ms) - port SignedInteger — Bind Port for TCP server - retryRequestCount SignedInteger — Maximum number of request retries - pauseBetweenRequests SignedInteger — Pause between requests (ms) - name String — This is a Device Name.

Optional properties: - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus Multi-Station RTU to TCP Converter Device",
    "Description": "",
    "DriverID": "4F0F523B-293C-4704-8282-6C2073C76C10",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "networkInterface",
        "Value": "0.0.0.0"
      },
      {
        "Key": "maxTCPConnections",
        "Value": "32"
      },
      {
        "Key": "responseTimeout",
        "Value": "5000"
      },
      {
        "Key": "port",
        "Value": "502"
      },
      {
        "Key": "retryRequestCount",
        "Value": "3"
      },
      {
        "Key": "pauseBetweenRequests",
        "Value": "10"
      },
      {
        "Key": "name",
        "Value": "modbus-converter_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus Multi-Station RTU to TCP Converter Device",
            "DriverID": "4F0F523B-293C-4704-8282-6C2073C76C10",
            "Description": ""
        }
    }
}

Create Device - Modbus RTU

POST {{edgeUrl}}/devicehub/v2

Modbus RTU

Prerequisites None
Required fields Device File
Baud Rate
Data Bits
Parity
Stop Bits
Station ID
Browse devices supported No
Browse tags supported No
Miscellaneous Zero-Based Addressing specifies if Modbus Protocol addresses are 0-based or 1-based

Driver ID: 546457FA-D638-11E9-BB65-2A2AE2DBCCE4 Group: Modbus

Required properties: - dataBits SignedInteger — This is a data bits. - stopBits SignedInteger — This is a stop bits. - deviceFile String — This is a path to device. - baudRate SignedInteger — This is a baud rate. Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - parity String — This is a parity. Options: 0, 1, 2 - stationId SignedInteger — This is a station no of device. - name String — This is a Device Name.

Optional properties: - Zero-Based Addressing SignedInteger Options: 0, 1 - requestTimeoutMs SignedInteger — Response Timeout (ms) - maxDiscrete SignedInteger — Maximum number of Coil and Contact Registers allowed in a single request. Must be greater than Coil and Contact Allowable Gap Size - maxAnalog SignedInteger — Maximum number of Input and Holding Registers allowed in a single request. Must be greater than Input and Holding Allowable Gap Size. - discreteGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - analogGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus RTU Device",
    "Description": "",
    "DriverID": "546457FA-D638-11E9-BB65-2A2AE2DBCCE4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "maxDiscrete",
        "Value": "2000"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "maxAnalog",
        "Value": "125"
      },
      {
        "Key": "discreteGap",
        "Value": "0"
      },
      {
        "Key": "analogGap",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stationId",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "modbus-rtu_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus RTU Device",
            "DriverID": "546457FA-D638-11E9-BB65-2A2AE2DBCCE4",
            "Description": ""
        }
    }
}

Create Device - Modbus RTU Advanced

POST {{edgeUrl}}/devicehub/v2

Modbus RTU Advanced

Prerequisites None
Required fields Device File
Baud Rate
Data Bits
Parity
Stop Bits
Browse devices supported No
Browse tags supported No
Miscellaneous Zero-Based Addressing specifies if Modbus Protocol addresses are 0-based or 1-based

Use this driver instead of the Modbus RTU driver when multiple stations are connected to the RS-485 bus. The Station ID setting can be customized at the tag level with this driver. The device connection status is defined by the last received response.

Driver ID: 49D60576-FC85-43F7-A7F0-CAE4ECE7B854 Group: Modbus

Required properties: - dataBits SignedInteger — This is a data bits. - deviceFile String — This is a path to device. - baudRate SignedInteger — This is a baud rate. Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - stopBits SignedInteger — This is a stop bits. - parity String — This is a parity. Options: 0, 1, 2 - name String — This is a Device Name.

Optional properties: - discreteGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - Delay Between Polls SignedInteger — Delay between Poll requests (ms) - Zero-Based Addressing SignedInteger Options: 0, 1 - maxDiscrete SignedInteger — Maximum number of Coil and Contact Registers allowed in a single request. Must be greater than Coil and Contact Allowable Gap Size - maxAnalog SignedInteger — Maximum number of Input and Holding Registers allowed in a single request. Must be greater than Input and Holding Allowable Gap Size. - analogGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - requestTimeoutMs SignedInteger — Response Timeout (ms) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus RTU Advanced Device",
    "Description": "",
    "DriverID": "49D60576-FC85-43F7-A7F0-CAE4ECE7B854",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "discreteGap",
        "Value": "0"
      },
      {
        "Key": "Delay Between Polls",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "maxDiscrete",
        "Value": "2000"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "maxAnalog",
        "Value": "125"
      },
      {
        "Key": "analogGap",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "name",
        "Value": "modbus-rtu-adv_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus RTU Advanced Device",
            "DriverID": "49D60576-FC85-43F7-A7F0-CAE4ECE7B854",
            "Description": ""
        }
    }
}

Create Device - Modbus RTU over TCP

POST {{edgeUrl}}/devicehub/v2

Modbus RTU over TCP

Prerequisites None
Required fields Network address
Network Port
Station ID
Browse devices supported No
Browse tags supported No
Miscellaneous Zero-Based Addressing specifies if Modbus Protocol addresses are 0-based or 1-based

Use this driver to connect to a Modbus RTU server or gateway which is polling from Modbus RTU clients.

Driver ID: FAB8D777-BBD3-43FC-90E2-C69C41062660 Group: Modbus

Required properties: - stationId SignedInteger — This is a station no of device. - networkAddress String — This is a IP Address of device. - networkPort SignedInteger — This is a network port of device. - name String — This is a Device Name.

Optional properties: - pauseBetweenRetriesMs SignedInteger — Pause between Retries (ms) - overrideStationID SignedInteger Options: 0, 1 - analogGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - retryRequestCount SignedInteger — Retry request count - requestTimeoutMs SignedInteger — Response Timeout (ms) - discreteGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - maxAnalog SignedInteger — Maximum number of Input and Holding Registers allowed in a single request. Must be greater than Input and Holding Allowable Gap Size. - Zero-Based Addressing SignedInteger Options: 0, 1 - maxDiscrete SignedInteger — Maximum number of Coil and Contact Registers allowed in a single request. Must be greater than Coil and Contact Allowable Gap Size - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus RTU over TCP Device",
    "Description": "",
    "DriverID": "FAB8D777-BBD3-43FC-90E2-C69C41062660",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "pauseBetweenRetriesMs",
        "Value": "0"
      },
      {
        "Key": "overrideStationID",
        "Value": "0"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "analogGap",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "retryRequestCount",
        "Value": "0"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "discreteGap",
        "Value": "0"
      },
      {
        "Key": "maxAnalog",
        "Value": "125"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "maxDiscrete",
        "Value": "2000"
      },
      {
        "Key": "name",
        "Value": "modbus-rtu-over-tcp_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus RTU over TCP Device",
            "DriverID": "FAB8D777-BBD3-43FC-90E2-C69C41062660",
            "Description": ""
        }
    }
}

Create Device - Modbus TCP

POST {{edgeUrl}}/devicehub/v2

Modbus TCP

Prerequisites None
Required fields Network address
Network Port
Station ID
Browse devices supported No
Browse tags supported No
Miscellaneous Zero-Based Addressing specifies if Modbus Protocol addresses are 0-based or 1-based

Driver ID: 2AF1FA08-D638-11E9-BB65-2A2AE2DBCCE4 Group: Modbus

Required properties: - networkAddress String — This is a IP Address of device. - stationId SignedInteger — This is a station no of device. - networkPort SignedInteger — This is a network port of device. - name String — This is a Device Name.

Optional properties: - analogGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - Zero-Based Addressing SignedInteger Options: 0, 1 - maxDiscrete SignedInteger — Maximum number of Coil and Contact Registers allowed in a single request. Must be greater than Coil and Contact Allowable Gap Size - discreteGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - maxAnalog SignedInteger — Maximum number of Input and Holding Registers allowed in a single request. Must be greater than Input and Holding Allowable Gap Size. - overrideStationID SignedInteger Options: 0, 1 - requestTimeoutMs SignedInteger — Response Timeout (ms) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus TCP Device",
    "Description": "",
    "DriverID": "2AF1FA08-D638-11E9-BB65-2A2AE2DBCCE4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "analogGap",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "maxDiscrete",
        "Value": "2000"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "discreteGap",
        "Value": "0"
      },
      {
        "Key": "maxAnalog",
        "Value": "125"
      },
      {
        "Key": "overrideStationID",
        "Value": "0"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "name",
        "Value": "modbus-tcp_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus TCP Device",
            "DriverID": "2AF1FA08-D638-11E9-BB65-2A2AE2DBCCE4",
            "Description": ""
        }
    }
}

Create Device - Modbus UDP

POST {{edgeUrl}}/devicehub/v2

Modbus UDP

Prerequisites None
Required fields Network address
Network Port
Station ID
Browse devices supported No
Browse tags supported No
Miscellaneous Zero-Based Addressing specifies if Modbus Protocol addresses are 0-based or 1-based

Driver ID: F3FD7C20-D637-11E9-BB65-2A2AE2DBCCE4 Group: Modbus

Required properties: - networkPort SignedInteger — This is a network port of device. - stationId SignedInteger — This is a station no of device. - networkAddress String — This is a IP Address of device. - name String — This is a Device Name.

Optional properties: - requestTimeoutMs SignedInteger — Response Timeout (ms) - maxAnalog SignedInteger — Maximum number of Input and Holding Registers allowed in a single request. Must be greater than Input and Holding Allowable Gap Size. - analogGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - Zero-Based Addressing SignedInteger Options: 0, 1 - maxDiscrete SignedInteger — Maximum number of Coil and Contact Registers allowed in a single request. Must be greater than Coil and Contact Allowable Gap Size - discreteGap SignedInteger — If this setting is > 0 for performance optimization it spans over address gaps when grouping tags - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Modbus UDP Device",
    "Description": "",
    "DriverID": "F3FD7C20-D637-11E9-BB65-2A2AE2DBCCE4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "requestTimeoutMs",
        "Value": "2000"
      },
      {
        "Key": "maxAnalog",
        "Value": "125"
      },
      {
        "Key": "analogGap",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Zero-Based Addressing",
        "Value": "0"
      },
      {
        "Key": "maxDiscrete",
        "Value": "2000"
      },
      {
        "Key": "discreteGap",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "modbus-udp_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Modbus UDP Device",
            "DriverID": "F3FD7C20-D637-11E9-BB65-2A2AE2DBCCE4",
            "Description": ""
        }
    }
}

Create Device - Ping (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Ping (Gen1.3)

Use the ping-type tag to check if an IP address is accessible.
Use the port-type tag to check is a port is open on an IP address.

Driver ID: F1710513-3E9B-455C-A41F-E54A6F376B39 Group: Network Utility

Required properties: - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Ping (Gen1.3) Device",
    "Description": "",
    "DriverID": "F1710513-3E9B-455C-A41F-E54A6F376B39",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "ping"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Ping (Gen1.3) Device",
            "DriverID": "F1710513-3E9B-455C-A41F-E54A6F376B39",
            "Description": ""
        }
    }
}

Create Device - CIP Ethernet

POST {{edgeUrl}}/devicehub/v2

CIP Ethernet

Prerequisites None
Required fields Network address
Port
Browse devices supported No. Use DeviceHub > Asset Discovery
Browse tags supported Yes
Miscellaneous Use this driver to read CIP objects that are addressable by Class, Instance, and Attribute

Different vendors may use different names for the unsigned and signed integer types. Make sure to select the correct data type based on the size of the type.

To get array values within an Attribute, use the "Attribute" register name and select one of the array value types.
The bit[] type publishes in order of low bit to high bit, low byte to high byte.
To get an array of values of over multiple Attributes, use the "Attribute Range" register name and enter Start Attribute and Number of Attriutes to read. You can read a string or an array of one data type.

Driver ID: 60B722BA-4539-4D5D-9D2F-7C63F7FADBFB Group: ODVA

Required properties: - networkAddress String — This is a IP Address of device - networkPort SignedInteger — This is a network port of device - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger — Read Timeout (ms) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My CIP Ethernet Device",
    "Description": "",
    "DriverID": "60B722BA-4539-4D5D-9D2F-7C63F7FADBFB",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "readTimeout",
        "Value": "3000"
      },
      {
        "Key": "name",
        "Value": "cip-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My CIP Ethernet Device",
            "DriverID": "60B722BA-4539-4D5D-9D2F-7C63F7FADBFB",
            "Description": ""
        }
    }
}

Create Device - OSI Agent

POST {{edgeUrl}}/devicehub/v2

OSI Agent Driver

Driver ID: 41EFEEDE-E2C6-4D34-AD6C-2442A8D9B2B1 Group: OSI

Required properties: - password String — Password - networkPort String — Port - user String — User - name String — This is a Device Name.

Optional properties: - interface String — Interface - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My OSI Agent Device",
    "Description": "",
    "DriverID": "41EFEEDE-E2C6-4D34-AD6C-2442A8D9B2B1",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "password",
        "Value": "password"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "interface",
        "Value": "0.0.0.0"
      },
      {
        "Key": "user",
        "Value": "admin"
      },
      {
        "Key": "name",
        "Value": "OSI-agent_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My OSI Agent Device",
            "DriverID": "41EFEEDE-E2C6-4D34-AD6C-2442A8D9B2B1",
            "Description": ""
        }
    }
}

Create Device - Omron Fins Ethernet

POST {{edgeUrl}}/devicehub/v2

Omron FINS Ethernet Driver

Required fields: > Network Address
> Network Port
> Transport
Browse devices supported: No
Browse tags supported: No
Supported device models: Omron CS/CJ FINS Ethernet Devices
Miscellaneous: > Byte Order: Big-Endian
> Register Grouping Size: 256
> strings: padding always added to "Length", up to next register
> word/dword/lword == uint16/uint32/uint64
> real/lreal == float32/float64
> bcd == Binary Coded Decimal (0x99 -> 99, 0x1A -> error)
> flag == Counter/Timer "Done" status
> UDP operation requires use of local port 9600

Driver ID: 90C9F160-69CD-11ED-B37D-032E0F6C0B5E Group: Omron

Required properties: - networkPort SignedInteger — PLC Port - networkAddress String — PLC IP - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - advanced SignedInteger — Show Advanced Config Options: 0, 1 - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - DestinationAddress SignedInteger - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - ReadTimeout SignedInteger — Request timeout, msec - RetryCount SignedInteger — Retry request count - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - DestinationNodeID SignedInteger - SourceAddress SignedInteger - SourceNodeID SignedInteger - Transport SignedInteger — Transport Type Options: 0, 1 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - DestinationUnitID SignedInteger - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Omron Fins Ethernet Device",
    "Description": "",
    "DriverID": "90C9F160-69CD-11ED-B37D-032E0F6C0B5E",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "advanced",
        "Value": "0"
      },
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "DestinationAddress",
        "Value": "0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "DestinationNodeID",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "SourceAddress",
        "Value": "0"
      },
      {
        "Key": "SourceNodeID",
        "Value": "0"
      },
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "DestinationUnitID",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "omron-fins_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Omron Fins Ethernet Device",
            "DriverID": "90C9F160-69CD-11ED-B37D-032E0F6C0B5E",
            "Description": ""
        }
    }
}

Create Device - Omron Fins Serial

POST {{edgeUrl}}/devicehub/v2

Omron FINS Serial Driver

Required fields: > Device File
> Baud Rate
> Data Bits
> Stop Bits
> Parity
Browse devices supported: No
Browse tags supported: No
Supported device models: Omron CS/CJ FINS Host-Link Devices
Miscellaneous: > Byte Order: Big-Endian
> Register Grouping Size: 256
> strings: padding always added to "Length", up to next register
> word/dword/lword == uint16/uint32/uint64
> real/lreal == float32/float64
> bcd == Binary Coded Decimal (0x99 -> 99, 0x1A -> error)
> flag == Counter/Timer "Done" status

Driver ID: 44234053-0202-442D-9FD6-50FAADABBC63 Group: Omron

Required properties: - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - SourceAddress SignedInteger - SourceNodeID SignedInteger - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - RetryCount SignedInteger — Retry request count - DestinationAddress SignedInteger - DestinationNodeID SignedInteger - DestinationUnitID SignedInteger - advanced SignedInteger — Show Advanced Config Options: 0, 1 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - ReadTimeout SignedInteger — Request timeout, msec - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Omron Fins Serial Device",
    "Description": "",
    "DriverID": "44234053-0202-442D-9FD6-50FAADABBC63",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "SourceAddress",
        "Value": "0"
      },
      {
        "Key": "SourceNodeID",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "DestinationAddress",
        "Value": "0"
      },
      {
        "Key": "DestinationNodeID",
        "Value": "0"
      },
      {
        "Key": "DestinationUnitID",
        "Value": "0"
      },
      {
        "Key": "advanced",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "omron-fins-serial_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Omron Fins Serial Device",
            "DriverID": "44234053-0202-442D-9FD6-50FAADABBC63",
            "Description": ""
        }
    }
}

Create Device - Omron HostLink

POST {{edgeUrl}}/devicehub/v2

Omron Host-Link Serial Driver

Required fields: > Device File
> Baud Rate
> Data Bits
> Stop Bits
> Parity
Browse devices supported: No
Browse tags supported: No
Supported device models: Omron (C, CPM, CPL, CQM) Host-Link Devices
Miscellaneous: > Byte Order: Big-Endian
> Register Grouping Size: 256
> strings: padding always added to "Length", up to next register
> word/dword/lword == uint16/uint32/uint64
> real/lreal == float32/float64
> bcd == Binary Coded Decimal (0x99 -> 99, 0x1A -> error)
> flag == Counter/Timer "Done" status

Driver ID: E4017A52-BCAE-4AB5-8F84-C30AF40F9B21 Group: Omron

Required properties: - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - DestinationNodeID SignedInteger - RetryCount SignedInteger — Retry request count - ReadTimeout SignedInteger — Request timeout, msec - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - advanced SignedInteger — Show Advanced Config Options: 0, 1 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Omron HostLink Device",
    "Description": "",
    "DriverID": "E4017A52-BCAE-4AB5-8F84-C30AF40F9B21",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "DestinationNodeID",
        "Value": "0"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "advanced",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "name",
        "Value": "omron-hostlink_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Omron HostLink Device",
            "DriverID": "E4017A52-BCAE-4AB5-8F84-C30AF40F9B21",
            "Description": ""
        }
    }
}

Create Device - Omron NJ Ethernet

POST {{edgeUrl}}/devicehub/v2

Omron NJ Ethernet Driver

Required fields: > Network Address
> Network Port
Browse devices supported: No
Browse tags supported: Yes
Supported device models: Omron NJ Ethernet Devices
Access Mode: Symbolic
Miscellaneous:
> DATE: int64, format -> "2001-01-02"
> DATE_AND_TIME: int64, format -> "2001-01-02-12:34:56.999"
> TIME: int64, format -> "1h23m4.567s" or "123ms"
> TIME_OF_DAY: int64, format -> "12:34:56.999"

Driver ID: 5E20791D-2DED-4B3B-8A66-ABA4D0F53C4C Group: Omron

Required properties: - networkAddress String — PLC IP Address - networkPort SignedInteger — PLC Port Number - name String — This is a Device Name.

Optional properties: - RequestTimeout SignedInteger — Request Timeout (ms) - advanced SignedInteger — Show Advanced Config Options: 0, 1 - MaxPDU SignedInteger — Connection Size (bytes) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Omron NJ Ethernet Device",
    "Description": "",
    "DriverID": "5E20791D-2DED-4B3B-8A66-ABA4D0F53C4C",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "RequestTimeout",
        "Value": "2000"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "advanced",
        "Value": "0"
      },
      {
        "Key": "MaxPDU",
        "Value": "1996"
      },
      {
        "Key": "name",
        "Value": "omron-nj_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Omron NJ Ethernet Device",
            "DriverID": "5E20791D-2DED-4B3B-8A66-ABA4D0F53C4C",
            "Description": ""
        }
    }
}

Create Device - Opto22 MMIO Protocol Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Opto22 MMIO Protocol Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models OPTO22 SNAP PAC System Series

Driver ID: 9293C0E5-8EB9-45BF-A022-73E6F8BE0DE8 Group: Opto Devices

Required properties: - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Opto22 MMIO Protocol Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "9293C0E5-8EB9-45BF-A022-73E6F8BE0DE8",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "Opto22 device"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Opto22 MMIO Protocol Ethernet (Gen1.3) Device",
            "DriverID": "9293C0E5-8EB9-45BF-A022-73E6F8BE0DE8",
            "Description": ""
        }
    }
}

Create Device - Panasonic FP Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Panasonic FP Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Panasonic FP Series

Driver ID: 0FCEB17A-2176-40DD-ACB7-EF5E5C6BDA2D Group: Panasonic

Required properties: - networkPort SignedInteger — Network port of the device. - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Panasonic FP Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "0FCEB17A-2176-40DD-ACB7-EF5E5C6BDA2D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "Panasonic Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Panasonic FP Ethernet (Gen1.3) Device",
            "DriverID": "0FCEB17A-2176-40DD-ACB7-EF5E5C6BDA2D",
            "Description": ""
        }
    }
}

Create Device - Panasonic FP Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Panasonic FP Serial (Gen1.3)

Prerequisites None
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Panasonic FP Series

Driver ID: 4982A1BF-B08E-40C9-BC93-809855DC6986 Group: Panasonic

Required properties: - stationId SignedInteger — Station id/ slot number - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Panasonic FP Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "4982A1BF-B08E-40C9-BC93-809855DC6986",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "Panasonic Device"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Panasonic FP Serial (Gen1.3) Device",
            "DriverID": "4982A1BF-B08E-40C9-BC93-809855DC6986",
            "Description": ""
        }
    }
}

Create Device - Panasonic FP7 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Panasonic FP7 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Panasonic FP7

Driver ID: C86A893E-4AA8-4635-A4DC-AED922AA80BC Group: Panasonic

Required properties: - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Panasonic FP7 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "C86A893E-4AA8-4635-A4DC-AED922AA80BC",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Panasonic Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Panasonic FP7 Ethernet (Gen1.3) Device",
            "DriverID": "C86A893E-4AA8-4635-A4DC-AED922AA80BC",
            "Description": ""
        }
    }
}

Create Device - Panasonic Mewtocol Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Panasonic Mewtocol Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Panasonic FP7 Series

Driver ID: B70AE188-67B0-4EAF-8116-69573AC45756 Group: Panasonic

Required properties: - networkPort SignedInteger — Network port of the device. - stationId SignedInteger — Station no of device. - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Panasonic Mewtocol Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "B70AE188-67B0-4EAF-8116-69573AC45756",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "Panasonic Device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Panasonic Mewtocol Ethernet (Gen1.3) Device",
            "DriverID": "B70AE188-67B0-4EAF-8116-69573AC45756",
            "Description": ""
        }
    }
}

Create Device - Parker ACR9000 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Parker ACR9000 Ethernet (Gen1.3)

Prerequisites No
Required fields Network Address
Port
Browse devices supported No
Browse tags supported No
Supported device models Parker ACR9000

Driver ID: 1D7CBE1A-1C53-41E4-B5BF-C4515C965880 Group: Parker

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Parker ACR9000 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "1D7CBE1A-1C53-41E4-B5BF-C4515C965880",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "parker"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Parker ACR9000 Ethernet (Gen1.3) Device",
            "DriverID": "1D7CBE1A-1C53-41E4-B5BF-C4515C965880",
            "Description": ""
        }
    }
}

Create Device - Profinet Acyclic

POST {{edgeUrl}}/devicehub/v2

Profinet Acyclic

Prerequisites None
Required fields Network address
Network Port
Slot Number
Subslot Number
Browse devices supported No
Browse tags supported Only for devices which support the PROFIenergy function Query_Measurement
Miscellaneous This is a read-only driver

The driver supports following tag types:

Driver ID: 28B130B3-530E-4644-99EF-4FDC06C758DE Group: Profinet

Required properties: - networkAddress String — IP Address of Profinet IO Device - networkPort SignedInteger — UDP port of device - slotNumber SignedInteger — Slot - subslot SignedInteger — Subslot - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Profinet Acyclic Device",
    "Description": "",
    "DriverID": "28B130B3-530E-4644-99EF-4FDC06C758DE",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "0"
      },
      {
        "Key": "subslot",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "profinet-acyclic_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Profinet Acyclic Device",
            "DriverID": "28B130B3-530E-4644-99EF-4FDC06C758DE",
            "Description": ""
        }
    }
}

Create Device - Profinet Acyclic Turck

POST {{edgeUrl}}/devicehub/v2

Profinet Acyclic (Turck)

Prerequisites None
Required fields Network address
Network Port
Slot Number
Subslot Number
Browse devices supported No
Browse tags supported Only for devices which support the PROFIenergy function Query_Measurement
Miscellaneous This is a read-only driver
Slot and Subslot settings can be specified for a Tag.

The driver supports following tag types: - Records: Generic data access - I&M: Identification and Maintenance data records - PROFIdrive profile: Read parameters by parameter number (PNU) index and subindex - PROFIenergy profile: Read measurements

Driver ID: 66A6A52D-F27E-454F-8BFC-C41B3419CCAC Group: Profinet

Required properties: - networkPort SignedInteger — UDP port of device - networkAddress String — IP Address of Profinet IO Device - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Profinet Acyclic Turck Device",
    "Description": "",
    "DriverID": "66A6A52D-F27E-454F-8BFC-C41B3419CCAC",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "profinet-acyclic-turck_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Profinet Acyclic Turck Device",
            "DriverID": "66A6A52D-F27E-454F-8BFC-C41B3419CCAC",
            "Description": ""
        }
    }
}

Create Device - Oemax Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Oemax Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models OEMax NX7 Controller series

Driver ID: 1F64A3F7-8AB4-4030-A773-4D7F428F2354 Group: RS Automation

Required properties: - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - stationId SignedInteger — Station no of device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Oemax Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "1F64A3F7-8AB4-4030-A773-4D7F428F2354",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stationId",
        "Value": "255"
      },
      {
        "Key": "name",
        "Value": "oemax device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Oemax Serial (Gen1.3) Device",
            "DriverID": "1F64A3F7-8AB4-4030-A773-4D7F428F2354",
            "Description": ""
        }
    }
}

Create Device - Saia Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Saia Ethernet (Gen1.3)

Prerequisites No
Required fields Network Address
Port
Station ID
Browse devices supported No
Browse tags supported No
Supported device models SAIA PCD Series

Driver ID: CF709836-53C7-4F49-9179-5DFC294C47A8 Group: SAIA

Required properties: - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device. - stationId SignedInteger — Station Id/ Slot Number - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Saia Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "CF709836-53C7-4F49-9179-5DFC294C47A8",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "stationId",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "saia device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Saia Ethernet (Gen1.3) Device",
            "DriverID": "CF709836-53C7-4F49-9179-5DFC294C47A8",
            "Description": ""
        }
    }
}

Create Device - Sick Flexi Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Sick Flexi Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Sick flexi soft series

Driver ID: 27C6423C-B925-460F-9915-82CCDB79CC36 Group: Sick Flexi

Required properties: - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - baudRate SignedInteger — Serial communication baudrate parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - stationId SignedInteger — Station no of device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Sick Flexi Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "27C6423C-B925-460F-9915-82CCDB79CC36",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "sick device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "stationId",
        "Value": "1"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Sick Flexi Serial (Gen1.3) Device",
            "DriverID": "27C6423C-B925-460F-9915-82CCDB79CC36",
            "Description": ""
        }
    }
}

Create Device - Siemens ISO-on-TCP

POST {{edgeUrl}}/devicehub/v2

Siemens ISO-on-TCP

Prerequisites Download the LE_ISO_on_TCP library for TIA Portal V16 from Litmus Central Portal, then program your PLC for ISO-on-TCP communication
Required fields Network address
Network Port
Slot Number
Local TSAP
Remote TSAP
Browse devices supported No
Browse tags supported No
Supported device models Siemens S7-1500 Series
Miscellaneous Follow instructions in the library package to program the PLC before using this driver

Driver ID: 8A3B12FC-8F69-4126-8556-1F9B66CA0D7A Group: Siemens

Required properties: - networkAddress String — IP Address of S7-300/400/1200/1500 device - networkPort SignedInteger — TCP/IP port of device - Local TSAP String — Transport Services Access Point - name String — This is a Device Name.

Optional properties: - Remote TSAP String — Transport Services Access Point (keep blank for S7-300/400) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens ISO-on-TCP Device",
    "Description": "",
    "DriverID": "8A3B12FC-8F69-4126-8556-1F9B66CA0D7A",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "Local TSAP",
        "Value": "TCP-2"
      },
      {
        "Key": "Remote TSAP",
        "Value": ""
      },
      {
        "Key": "name",
        "Value": "siemens-iso-on-tcp_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens ISO-on-TCP Device",
            "DriverID": "8A3B12FC-8F69-4126-8556-1F9B66CA0D7A",
            "Description": ""
        }
    }
}

Create Device - Siemens Logo Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Siemens Logo Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port

Local TSAP
Remote TSAP
Browse devices supported No
Browse tags supported No
Supported device models Siemens Logo

Driver ID: C76084F2-9CFC-4FF8-B588-D8217E9C88F4 Group: Siemens

Required properties: - localTsap String — Local tsap of device. - remoteTsap String — Remote tasp of device. - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens Logo Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "C76084F2-9CFC-4FF8-B588-D8217E9C88F4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "localTsap",
        "Value": "1000"
      },
      {
        "Key": "remoteTsap",
        "Value": "200"
      },
      {
        "Key": "name",
        "Value": "Logo PLC"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens Logo Ethernet (Gen1.3) Device",
            "DriverID": "C76084F2-9CFC-4FF8-B588-D8217E9C88F4",
            "Description": ""
        }
    }
}

Create Device - Siemens S5 Ethernet

POST {{edgeUrl}}/devicehub/v2

Siemens S5 Ethernet

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Siemens S5 Series

Driver ID: BB4624F5-42C3-4439-B8C2-94DB75DEEAE0 Group: Siemens

Required properties: - networkAddress String — IP Address of S5 device - networkPort SignedInteger — TCP/IP port of device - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens S5 Ethernet Device",
    "Description": "",
    "DriverID": "BB4624F5-42C3-4439-B8C2-94DB75DEEAE0",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "readTimeout",
        "Value": "6000"
      },
      {
        "Key": "name",
        "Value": "siemens-s5_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens S5 Ethernet Device",
            "DriverID": "BB4624F5-42C3-4439-B8C2-94DB75DEEAE0",
            "Description": ""
        }
    }
}

Create Device - Siemens S5 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Siemens S5 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Siemens S5 Series

Driver ID: 96D9600E-985A-4C88-8F16-D33EABBB53DF Group: Siemens

Required properties: - name String — This is a Device Name. - networkAddress String — This is a IP Address of device. - networkPort SignedInteger — This is a network port of device.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens S5 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "96D9600E-985A-4C88-8F16-D33EABBB53DF",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "S5 PLC"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens S5 Ethernet (Gen1.3) Device",
            "DriverID": "96D9600E-985A-4C88-8F16-D33EABBB53DF",
            "Description": ""
        }
    }
}

Create Device - Siemens S7

POST {{edgeUrl}}/devicehub/v2

Siemens S7

Prerequisites None
Required fields Network address
Network Port
Slot Number
Browse devices supported No
Browse tags supported No
Supported device models Siemens S7-300/400/1200/1500 Series

Driver ID: 01E8B6CE-1D26-4215-8E4A-B5807F389E71 Group: Siemens

Required properties: - networkAddress String — IP Address of S7-300/400/1200/1500 device - networkPort SignedInteger — TCP/IP port of device - slotNumber SignedInteger — Slot - name String — This is a Device Name.

Optional properties: - maxPDUSize SignedInteger — If the parameter is 0 (default), then the value determined during connection handshake is used. If the parameter > 0, then the smaller value of this parameter value and a value determined during connection handshake is used. - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens S7 Device",
    "Description": "",
    "DriverID": "01E8B6CE-1D26-4215-8E4A-B5807F389E71",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "1"
      },
      {
        "Key": "maxPDUSize",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "siemens-s7comm_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens S7 Device",
            "DriverID": "01E8B6CE-1D26-4215-8E4A-B5807F389E71",
            "Description": ""
        }
    }
}

Create Device - Siemens S7-200 Ethernet

POST {{edgeUrl}}/devicehub/v2

Siemens S7-200 Ethernet

Prerequisites None
Required fields Network address
Network Port
Local & Remote TSAP (hex)
Browse devices supported No
Browse tags supported No
Supported device models Siemens S7-200 Series

Driver ID: 778F29F1-02EF-4209-81A7-48242076E62E Group: Siemens

Required properties: - networkAddress String — IP Address of S7-200 device - networkPort SignedInteger — TCP/IP port of device - localTSAP String - remoteTSAP String - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens S7-200 Ethernet Device",
    "Description": "",
    "DriverID": "778F29F1-02EF-4209-81A7-48242076E62E",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "readTimeout",
        "Value": "6000"
      },
      {
        "Key": "localTSAP",
        "Value": "4D57"
      },
      {
        "Key": "remoteTSAP",
        "Value": "4D57"
      },
      {
        "Key": "name",
        "Value": "siemens-s7-200_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens S7-200 Ethernet Device",
            "DriverID": "778F29F1-02EF-4209-81A7-48242076E62E",
            "Description": ""
        }
    }
}

Create Device - Siemens S7-200 Serial

POST {{edgeUrl}}/devicehub/v2

Siemens S7-200 Serial

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Siemens S7-200

Driver ID: 7D8D63FA-1FFB-4C63-9C42-6E9385A949AC Group: Siemens

Required properties: - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - delayBeforeConfirm SignedInteger - readTimeout SignedInteger - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens S7-200 Serial Device",
    "Description": "",
    "DriverID": "7D8D63FA-1FFB-4C63-9C42-6E9385A949AC",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "delayBeforeConfirm",
        "Value": "5"
      },
      {
        "Key": "readTimeout",
        "Value": "1000"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "siemens-s7-200-serial_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens S7-200 Serial Device",
            "DriverID": "7D8D63FA-1FFB-4C63-9C42-6E9385A949AC",
            "Description": ""
        }
    }
}

Create Device - Siemens S7-300 Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Siemens S7-300 Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Siemens S7-300

Driver ID: 073494B0-B7BD-489F-A40F-2858BFEE6249 Group: Siemens

Required properties: - deviceFile String — Local Serial connection file path. - name String — Device Name that describes your asset. - stationId SignedInteger — Station id/ slot number of PLC - baudRate SignedInteger — Serial communication baudrate parameter. - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens S7-300 Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "073494B0-B7BD-489F-A40F-2858BFEE6249",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "name",
        "Value": "S7-300 PLC"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "stationId",
        "Value": "2"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens S7-300 Serial (Gen1.3) Device",
            "DriverID": "073494B0-B7BD-489F-A40F-2858BFEE6249",
            "Description": ""
        }
    }
}

Create Device - Siemens S7CommPlus

POST {{edgeUrl}}/devicehub/v2

Siemens S7 CommPlus Symbolic Driver

Required fields: > Network Address
> Network Port
Browse devices supported: No
Browse tags supported: Yes
Supported device models: Siemes S7 1200 & 1500 Devices (fw >= 2.x)
Type Information: > Byte Order: Big-Endian
> sint/int/dint/lint == signed 8/16/32/64 bit integers
> word == uint == unsigned 16 bit integer
Driver Settings: > Overrides (CPU/FW/TLS): Enable to skip auto-detection
> IQMCT Folders: Enable to organize root tags. Warning "(I/Q/M/C/T)Area" could conflict with DB names
> MTU Load Factor: Decrease to fix "MTU Error". Increase to support more tags per request.
Miscellaneous: > Register Grouping Size: Dynamic by device
> Browse required to aquire tag ids
> Symbolic addressing is required for "optimized" blocks
> Nested tags are delimited by .
> Individual tag fields containing . are wrapped by "

Driver ID: 4EE806F4-EE86-4EFB-B06B-E63908C736A2 Group: Siemens

Required properties: - networkAddress String — PLC IP Address - networkPort SignedInteger — PLC Port Number - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger — Read Timeout (ms) - retryCount SignedInteger — Read Retries (0 for no retry) - OverridePlcCpuType SignedInteger — Cpu Model Options: 0, 1, 2 - OverrideTLS SignedInteger — Force TLS Options: 0, 1 - instanceDatablockSupport SignedInteger — Enable Instance DBs Options: 0, 1 - MTU Load Factor SignedInteger — Percent limit of max request payload size - advanced SignedInteger — Show Advanced Config Options: 0, 1 - OverridePlcFirmwareVersion SignedInteger — Firmware Version Options: 0, 1, 2, 3 - IQMCT Display Folders SignedInteger — Organize IQMCT tags into ".Area" folders Options: 0, 1 - keepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens S7CommPlus Device",
    "Description": "",
    "DriverID": "4EE806F4-EE86-4EFB-B06B-E63908C736A2",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "readTimeout",
        "Value": "3000"
      },
      {
        "Key": "retryCount",
        "Value": "0"
      },
      {
        "Key": "OverridePlcCpuType",
        "Value": "0"
      },
      {
        "Key": "OverrideTLS",
        "Value": "0"
      },
      {
        "Key": "instanceDatablockSupport",
        "Value": "0"
      },
      {
        "Key": "MTU Load Factor",
        "Value": "80"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "advanced",
        "Value": "0"
      },
      {
        "Key": "OverridePlcFirmwareVersion",
        "Value": "0"
      },
      {
        "Key": "IQMCT Display Folders",
        "Value": "0"
      },
      {
        "Key": "keepAlive",
        "Value": "60"
      },
      {
        "Key": "name",
        "Value": "siemens-s7commplus_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens S7CommPlus Device",
            "DriverID": "4EE806F4-EE86-4EFB-B06B-E63908C736A2",
            "Description": ""
        }
    }
}

Create Device - Siemens Sinumerik 808D Ethernet

POST {{edgeUrl}}/devicehub/v2

Siemens Sinumerik 808D Ethernet

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Siemens Sinumerik

Driver ID: 1FB80C39-A46B-4FC7-B1A2-EF3CFC146E94 Group: Siemens

Required properties: - networkPort SignedInteger — TCP/IP port of device - localTSAP String - remoteTSAP String - networkAddress String — IP Address of S7-200 device - name String — This is a Device Name.

Optional properties: - readTimeout SignedInteger - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens Sinumerik 808D Ethernet Device",
    "Description": "",
    "DriverID": "1FB80C39-A46B-4FC7-B1A2-EF3CFC146E94",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "readTimeout",
        "Value": "2000"
      },
      {
        "Key": "localTSAP",
        "Value": "0200"
      },
      {
        "Key": "remoteTSAP",
        "Value": "0102"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "siemens-sinumerik-808d_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens Sinumerik 808D Ethernet Device",
            "DriverID": "1FB80C39-A46B-4FC7-B1A2-EF3CFC146E94",
            "Description": ""
        }
    }
}

Create Device - Siemens TI505 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Siemens TI505 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Siemens Simatic TI505 Series

Driver ID: 994B2F23-5B0A-4AD0-BD8D-F5999A92F491 Group: Siemens

Required properties: - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens TI505 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "994B2F23-5B0A-4AD0-BD8D-F5999A92F491",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "TI505"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens TI505 Ethernet (Gen1.3) Device",
            "DriverID": "994B2F23-5B0A-4AD0-BD8D-F5999A92F491",
            "Description": ""
        }
    }
}

Create Device - Siemens TI505 Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Siemens TI505 Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Browse devices supported No
Browse tags supported No
Supported device models Siemens Simatic TI505 Series

Driver ID: 3966466E-68F6-4227-BCAD-49E6433AA4EE Group: Siemens

Required properties: - dataBits SignedInteger — Serial communication databits parameter. - parity SignedInteger — Serial communication parity parameter. Options: 0, 1, 2 - name String — Device Name that describes your asset. - baudRate SignedInteger — Serial communication baudrate parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - deviceFile String — Local Serial connection file path.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Siemens TI505 Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "3966466E-68F6-4227-BCAD-49E6433AA4EE",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "dataBits",
        "Value": "7"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "TI505"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Siemens TI505 Serial (Gen1.3) Device",
            "DriverID": "3966466E-68F6-4227-BCAD-49E6433AA4EE",
            "Description": ""
        }
    }
}

Create Device - Sinumerik 808D Serial (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Sinumerik 808D Serial (Gen1.3)

Prerequisites No
Required fields Communication Port
Baud Rate
Data Bits
Stop Bits
Parity
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Siemens Sinumerik 808D series

Driver ID: C85F9F51-7FFD-40F7-92AE-991E0FE172CE Group: Siemens

Required properties: - stationId SignedInteger — Station id/ slot number - dataBits SignedInteger — Serial communication databits parameter. - stopBits SignedInteger — Serial communication stopbits parameter. - name String — Device Name that describes your asset. - deviceFile String — Local Serial connection file path. - baudRate SignedInteger — Serial communication baudrate parameter. - parity SignedInteger — serial communication parity parameter. Options: 0, 1, 2

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Sinumerik 808D Serial (Gen1.3) Device",
    "Description": "",
    "DriverID": "C85F9F51-7FFD-40F7-92AE-991E0FE172CE",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "stationId",
        "Value": "2"
      },
      {
        "Key": "dataBits",
        "Value": "8"
      },
      {
        "Key": "stopBits",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "Sinumerik PLC"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyS0"
      },
      {
        "Key": "baudRate",
        "Value": "9600"
      },
      {
        "Key": "parity",
        "Value": "0"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Sinumerik 808D Serial (Gen1.3) Device",
            "DriverID": "C85F9F51-7FFD-40F7-92AE-991E0FE172CE",
            "Description": ""
        }
    }
}

Create Device - Generator

POST {{edgeUrl}}/devicehub/v2

Generator driver

Driver ID: 5BC98836-CFD4-11E9-BB65-2A2AE2DBCCE4 Group: Simulator

Required properties: - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Generator Device",
    "Description": "",
    "DriverID": "5BC98836-CFD4-11E9-BB65-2A2AE2DBCCE4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "generator_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Generator Device",
            "DriverID": "5BC98836-CFD4-11E9-BB65-2A2AE2DBCCE4",
            "Description": ""
        }
    }
}

Create Device - Simulator (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Simulator Driver

Driver ID: 50E3EDA1-11F9-41D6-9232-778A28665580 Group: Simulator

Required properties: - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Simulator (Gen1.3) Device",
    "Description": "",
    "DriverID": "50E3EDA1-11F9-41D6-9232-778A28665580",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "simulator"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Simulator (Gen1.3) Device",
            "DriverID": "50E3EDA1-11F9-41D6-9232-778A28665580",
            "Description": ""
        }
    }
}

Create Device - Open Protocol Ethernet

POST {{edgeUrl}}/devicehub/v2

Torque Tool Open Protocol Ethernet

Prerequisites No
Required fields Network address
Port
Browse devices supported No
Browse tags supported Yes
Supported device models Atlas Copco PF6000
Cleco mPro300

Driver ID: FA222359-D583-443F-A661-BF048AD409BC Group: Torque Tool

Required properties: - networkAddress String — This is a IP Address of device - networkPort SignedInteger — This is a network port of device - mid0015rev UnsignedInteger Options: 0, 1 - mid0035rev UnsignedInteger Options: 0, 1, 2, 3, 4 - mid0042rev UnsignedInteger Options: 0, 1 - mid0051rev UnsignedInteger Options: 0, 1 - mid0064rev UnsignedInteger Options: 0, 1 - mid0100rev UnsignedInteger Options: 0, 1, 2, 3, 4 - mid0010rev UnsignedInteger Options: 0, 1, 2, 3 - mid0060rev UnsignedInteger Options: 0, 1 - name String — This is a Device Name.

Optional properties: - keepAlive UnsignedInteger - readTimeout UnsignedInteger - retryCount UnsignedInteger — Number of times to retry message - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Open Protocol Ethernet Device",
    "Description": "",
    "DriverID": "FA222359-D583-443F-A661-BF048AD409BC",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "mid0015rev",
        "Value": "0"
      },
      {
        "Key": "mid0035rev",
        "Value": "0"
      },
      {
        "Key": "mid0042rev",
        "Value": "0"
      },
      {
        "Key": "mid0051rev",
        "Value": "0"
      },
      {
        "Key": "mid0064rev",
        "Value": "0"
      },
      {
        "Key": "mid0100rev",
        "Value": "0"
      },
      {
        "Key": "mid0010rev",
        "Value": "0"
      },
      {
        "Key": "mid0060rev",
        "Value": "0"
      },
      {
        "Key": "keepAlive",
        "Value": "10000"
      },
      {
        "Key": "readTimeout",
        "Value": "2000"
      },
      {
        "Key": "retryCount",
        "Value": "3"
      },
      {
        "Key": "name",
        "Value": "open-protocol-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Open Protocol Ethernet Device",
            "DriverID": "FA222359-D583-443F-A661-BF048AD409BC",
            "Description": ""
        }
    }
}

Create Device - Toshiba Computer Link Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Toshiba Computer Link Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models Toshiba Ethernet devices

Driver ID: 1437F841-FF5A-462D-AABC-D8C13BB3FBC0 Group: Toshiba

Required properties: - name String — Device Name that describes your asset. - networkPort SignedInteger — Network port of the device. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Toshiba Computer Link Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "1437F841-FF5A-462D-AABC-D8C13BB3FBC0",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "toshiba device"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Toshiba Computer Link Ethernet (Gen1.3) Device",
            "DriverID": "1437F841-FF5A-462D-AABC-D8C13BB3FBC0",
            "Description": ""
        }
    }
}

Create Device - JTEKT Toyopuc CMP-Link Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

JTEKT Toyopuc CMP-Link Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No
Supported device models JTEKT Toyopuc PC10

Driver ID: 5C8E41C3-6DF1-47B5-AD2E-9C5FD0FF803C Group: Toyopuc

Required properties: - networkPort String — Network port of the device. - networkAddress String — IP Address of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My JTEKT Toyopuc CMP-Link Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "5C8E41C3-6DF1-47B5-AD2E-9C5FD0FF803C",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "name",
        "Value": "toyopuc device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My JTEKT Toyopuc CMP-Link Ethernet (Gen1.3) Device",
            "DriverID": "5C8E41C3-6DF1-47B5-AD2E-9C5FD0FF803C",
            "Description": ""
        }
    }
}

Create Device - Toyopuc CMP-Link Serial

POST {{edgeUrl}}/devicehub/v2

Toyopuc CMP-Link Serial Driver

Required fields: > Connection Settings (Serial)
Browse devices supported: No
Browse tags supported: No
Supported device models: JTEKT Toyopuc PC10
Register Settings:

Driver ID: E21C9A5D-576D-4396-8764-07CD25D3494D Group: Toyopuc

Required properties: - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - ReadTimeout SignedInteger — Request timeout, msec - RetryCount SignedInteger — Retry request count - Transport SignedInteger — Transport Type Options: 0 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - PauseBetweenRetries SignedInteger — Pause between retries, msec - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - MaxRequestSize SignedInteger — Maximum block size retrieved per request (# bytes) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Toyopuc CMP-Link Serial Device",
    "Description": "",
    "DriverID": "E21C9A5D-576D-4396-8764-07CD25D3494D",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "baudRate",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "stopBits",
        "Value": "0"
      },
      {
        "Key": "PauseBetweenRetries",
        "Value": "0"
      },
      {
        "Key": "dataBits",
        "Value": "0"
      },
      {
        "Key": "parity",
        "Value": "0"
      },
      {
        "Key": "deviceFile",
        "Value": "/dev/ttyUSB0"
      },
      {
        "Key": "MaxRequestSize",
        "Value": "512"
      },
      {
        "Key": "name",
        "Value": "toyopuc-cmplink-serial_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Toyopuc CMP-Link Serial Device",
            "DriverID": "E21C9A5D-576D-4396-8764-07CD25D3494D",
            "Description": ""
        }
    }
}

Create Device - Vipa 300s Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Vipa 300s Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Slot Number
Browse devices supported No
Browse tags supported No
Supported device models VIPA 300S

Driver ID: 3F8D577D-3FB0-4DB3-8FED-85694903E27A Group: Vipa

Required properties: - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device. - slotNumber SignedInteger — Slot number of device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Vipa 300s Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "3F8D577D-3FB0-4DB3-8FED-85694903E27A",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "name",
        "Value": "Vipa PLC"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "slotNumber",
        "Value": "1"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Vipa 300s Ethernet (Gen1.3) Device",
            "DriverID": "3F8D577D-3FB0-4DB3-8FED-85694903E27A",
            "Description": ""
        }
    }
}

Create Device - Yaskawa MP2300 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Yaskawa MP2300 Ethernet (Gen1.3)

Prerequisites None
Required fields Network address
Network Port
Output
Input
Browse devices supported No
Browse tags supported No
Supported device models Yaskawa MP2300S iec controllers

Driver ID: AD2863B5-85F6-4E4B-885B-57AD37328F60 Group: Yaskawa

Required properties: - input SignedInteger — Assembly number of communication module. - output SignedInteger — Output assembly number of communication module. - networkAddress String — IP Address of the device. - networkPort SignedInteger — Network port of the device. - name String — Device Name that describes your asset.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Yaskawa MP2300 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "AD2863B5-85F6-4E4B-885B-57AD37328F60",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "input",
        "Value": "101"
      },
      {
        "Key": "output",
        "Value": "111"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "name",
        "Value": "Yaskawa Device"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Yaskawa MP2300 Ethernet (Gen1.3) Device",
            "DriverID": "AD2863B5-85F6-4E4B-885B-57AD37328F60",
            "Description": ""
        }
    }
}

Create Device - Yokogawa FA-M3 Ethernet (Gen1.3)

POST {{edgeUrl}}/devicehub/v2

Yokogawa FA-M3 Ethernet (Gen1.3)

Prerequisites No
Required fields Network Address
Port
Station ID
Browse devices supported No
Browse tags supported No
Supported device models Yokogawa FA-M3 Series

Driver ID: 9D130EEC-9EFC-4FA0-A64B-D6DD6E76547B Group: Yokogawa

Required properties: - networkPort SignedInteger — Network port of the device. - stationId SignedInteger — Station id/ slot number - name String — Device Name that describes your asset. - networkAddress String — IP Address of the device.

Optional properties: - description String — Description of the device or an asset.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Yokogawa FA-M3 Ethernet (Gen1.3) Device",
    "Description": "",
    "DriverID": "9D130EEC-9EFC-4FA0-A64B-D6DD6E76547B",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "502"
      },
      {
        "Key": "stationId",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "FA-M3"
      },
      {
        "Key": "description",
        "Value": ""
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Yokogawa FA-M3 Ethernet (Gen1.3) Device",
            "DriverID": "9D130EEC-9EFC-4FA0-A64B-D6DD6E76547B",
            "Description": ""
        }
    }
}

Create Device - OPC UA Client Advanced

POST {{edgeUrl}}/devicehub/v2

OPC UA Client Advanced Driver

The driver implements the Client according to OPC UA Specification version 1.04 (IEC62541 standard).

Features:

Driver ID: 2372E68F-BA1B-46E9-BC07-E92CA006B377 Group: OPCUA

Required properties: - AdvancedSettingsShowHide String — Advanced settings Options: 0, 1 - AuthMode String — Auth Mode Options: 0, 1, 2 - DisableApplicationUriCheck String — Flag used to disable the certificate ApplicationUri match check. Options: 0, 1 - DisableEncryptedPasswordCheck String — Flag used to disable the check if the password of a UserPassword identity token is encrypted properly. Options: 0, 1 - DisableErrorCertificateChainIncomplete String — Flag used to disable the certificate validation error BadCertificateChainIncomplete. Options: 0, 1 - DisableErrorCertificateHostNameInvalid String — Flag used to disable the check if the hostname the client connected to matches one of the hostnames or IP addresses in the server certificate. Options: 0, 1 - DisableErrorCertificateRevocationUnknown String — Flag used to disable the client certificate validation error BadCertificateRevocationUnknown. Options: 0, 1 - DisableErrorCertificateTimeInvalid String — Flag used to disable the certificate validation error CertificateTimeInvalid. Options: 0, 1 - DisableErrorCertificateUntrusted String — Flag used to disable the certificate validation error BadCertificateUntrusted. Options: 0, 1 - DriverMode String — Driver Mode Options: 0, 1 - SecurityMode String — Security Mode Options: 0, 1, 2 - SecurityPolicy String — Security Policy Options: 0, 1, 2, 3, 4, 5 - ServerURL String — Server URL - name String — This is a Device Name.

Optional properties: - LifetimeCount SignedInteger — The subscription lifetime count (SubscriptionLifetime = LifetimeCount * PublishingInterval) - LocaleId String — The locale ID requested for the session Options: 0, 1, 2, 3, 4 - MaxKeepAliveCount SignedInteger — If the server has no notifications pending for the period of time defined by * (MaxKeepAliveCount * PublishingInterval), the server will send a keep alive message to the client - MaxNotificationsPerPublish SignedInteger — The maximum number of notifications that the client wishes to receive in a single publish response - Password String — Password - Priority SignedInteger — The relative priority of this subscription within the session - PublishingInterval SignedInteger — The cyclic rate in milliseconds at which the subscription is being requested to return notifications to the client - SessionCertificate String — Session Certificate - SessionPrivateKey String — Session Private Key - UserCertificate String — User Auth Certificate (PEM format) - UserName String — User Name - UserPrivateKey String — User Auth Private Key (PEM format) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My OPC UA Client Advanced Device",
    "Description": "",
    "DriverID": "2372E68F-BA1B-46E9-BC07-E92CA006B377",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "AdvancedSettingsShowHide",
        "Value": "0"
      },
      {
        "Key": "AuthMode",
        "Value": "0"
      },
      {
        "Key": "DisableApplicationUriCheck",
        "Value": "0"
      },
      {
        "Key": "DisableEncryptedPasswordCheck",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateChainIncomplete",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateHostNameInvalid",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateRevocationUnknown",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateTimeInvalid",
        "Value": "0"
      },
      {
        "Key": "DisableErrorCertificateUntrusted",
        "Value": "0"
      },
      {
        "Key": "DriverMode",
        "Value": "0"
      },
      {
        "Key": "LifetimeCount",
        "Value": "2400"
      },
      {
        "Key": "LocaleId",
        "Value": "0"
      },
      {
        "Key": "MaxKeepAliveCount",
        "Value": "10"
      },
      {
        "Key": "MaxNotificationsPerPublish",
        "Value": "0"
      },
      {
        "Key": "Password",
        "Value": ""
      },
      {
        "Key": "Priority",
        "Value": "0"
      },
      {
        "Key": "PublishingInterval",
        "Value": "500"
      },
      {
        "Key": "SecurityMode",
        "Value": "0"
      },
      {
        "Key": "SecurityPolicy",
        "Value": "0"
      },
      {
        "Key": "ServerURL",
        "Value": "opc.tcp://192.168.1.100:4840"
      },
      {
        "Key": "SessionCertificate",
        "Value": "<certificate>"
      },
      {
        "Key": "SessionPrivateKey",
        "Value": "<certificate>"
      },
      {
        "Key": "UserCertificate",
        "Value": ""
      },
      {
        "Key": "UserName",
        "Value": ""
      },
      {
        "Key": "UserPrivateKey",
        "Value": ""
      },
      {
        "Key": "name",
        "Value": "OPC_UA_Client_Advanced_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My OPC UA Client Advanced Device",
            "DriverID": "2372E68F-BA1B-46E9-BC07-E92CA006B377",
            "Description": ""
        }
    }
}

Create Device - OPCUA client

POST {{edgeUrl}}/devicehub/v2

OPCUA client driver (Subscription)

Driver ID: 3FCB9EF2-D638-11E9-BB65-2A2AE2DBCCE4 Group: OPCUA

Required properties: - networkAddress String — This is a IP Address of device. - Auth String — Authentication settings Options: 0, 1, 2 - Policy String — Policy Options: 0, 1, 2, 3, 4, 5 - networkPort SignedInteger — This is a network port of device. - securityMode String — Security mode Options: 0, 1, 2 - name String — This is a Device Name.

Optional properties: - UrlPath String — Concat this to discovery - subscribeUpdateMS SignedInteger — how often OPCUA server will send update of monitored values - Password String — Password for credentials mode - Show advanced config String — some additional advanced config, for specific cases Options: 0, 1 - DefaultRoot String — From what node start browse - TimeoutSeconds SignedInteger — Timeout for requests - batchPublishTimeoutMS SignedInteger — how often it will check input queue on low through put of messages - maxNotificationsPerPublish SignedInteger — Max keep alive count - priority SignedInteger — Max keep alive count - Certificate String — This is autogenerated certificate. Replace if needed. - PrivateKey String — This is autogenerated certificate key. Replace if needed. - StatusHandling String — Status handling Options: 0, 1, 2 - lifetimeCount SignedInteger — Lifetime count - maxKeepAliveCount SignedInteger — Max keep alive count - TakeDiscoveryURL String — If true - ignore endpoints and try discovery host Options: 0, 1 - Username String — Username for credentials mode - WorkerName String — Opcua worker name. If empty - will take first found - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My OPCUA client Device",
    "Description": "",
    "DriverID": "3FCB9EF2-D638-11E9-BB65-2A2AE2DBCCE4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "UrlPath",
        "Value": ""
      },
      {
        "Key": "subscribeUpdateMS",
        "Value": "1000"
      },
      {
        "Key": "Password",
        "Value": ""
      },
      {
        "Key": "Show advanced config",
        "Value": "0"
      },
      {
        "Key": "DefaultRoot",
        "Value": "ns=0;i=84"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Auth",
        "Value": "0"
      },
      {
        "Key": "TimeoutSeconds",
        "Value": "10"
      },
      {
        "Key": "batchPublishTimeoutMS",
        "Value": "50"
      },
      {
        "Key": "maxNotificationsPerPublish",
        "Value": "10000"
      },
      {
        "Key": "priority",
        "Value": "0"
      },
      {
        "Key": "Policy",
        "Value": "0"
      },
      {
        "Key": "Certificate",
        "Value": "<certificate>"
      },
      {
        "Key": "PrivateKey",
        "Value": "<certificate>"
      },
      {
        "Key": "StatusHandling",
        "Value": "0"
      },
      {
        "Key": "lifetimeCount",
        "Value": "10000"
      },
      {
        "Key": "maxKeepAliveCount",
        "Value": "3000"
      },
      {
        "Key": "networkPort",
        "Value": "4840"
      },
      {
        "Key": "TakeDiscoveryURL",
        "Value": "0"
      },
      {
        "Key": "securityMode",
        "Value": "0"
      },
      {
        "Key": "Username",
        "Value": ""
      },
      {
        "Key": "WorkerName",
        "Value": ""
      },
      {
        "Key": "name",
        "Value": "opcua_client_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My OPCUA client Device",
            "DriverID": "3FCB9EF2-D638-11E9-BB65-2A2AE2DBCCE4",
            "Description": ""
        }
    }
}

Create Device - OPCUA client Poll

POST {{edgeUrl}}/devicehub/v2

OPCUA client driver (Polling)

Driver ID: 914FBF10-616F-11EB-AE93-0242AC130002 Group: OPCUA

Required properties: - networkPort SignedInteger — This is a network port of device. - Auth String — Authentication settings Options: 0, 1, 2 - securityMode String — Security mode Options: 0, 1, 2 - networkAddress String — This is a IP Address of device. - Policy String — Policy Options: 0, 1, 2, 3, 4, 5 - name String — This is a Device Name.

Optional properties: - Certificate String — This is autogenerated certificate. Replace if needed. - UrlPath String — Concat this to discovery - TakeDiscoveryURL String — If true - ignore endpoints and try discovery host Options: 0, 1 - Username String — Username for credentials mode - WorkerName String — Opcua worker name. If empty - will take first found - DefaultRoot String — From what node start browse - Password String — Password for credentials mode - PrivateKey String — This is autogenerated certificate key. Replace if needed. - TimeoutSeconds SignedInteger — Timeout for requests - Show advanced config String — some additional advanced config, for specific cases Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My OPCUA client Poll Device",
    "Description": "",
    "DriverID": "914FBF10-616F-11EB-AE93-0242AC130002",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "4840"
      },
      {
        "Key": "Auth",
        "Value": "0"
      },
      {
        "Key": "securityMode",
        "Value": "0"
      },
      {
        "Key": "Certificate",
        "Value": "<certificate>"
      },
      {
        "Key": "UrlPath",
        "Value": ""
      },
      {
        "Key": "TakeDiscoveryURL",
        "Value": "0"
      },
      {
        "Key": "Username",
        "Value": ""
      },
      {
        "Key": "WorkerName",
        "Value": ""
      },
      {
        "Key": "DefaultRoot",
        "Value": "ns=0;i=84"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Password",
        "Value": ""
      },
      {
        "Key": "PrivateKey",
        "Value": "<certificate>"
      },
      {
        "Key": "TimeoutSeconds",
        "Value": "10"
      },
      {
        "Key": "Policy",
        "Value": "0"
      },
      {
        "Key": "Show advanced config",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "opcua_client_poll_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My OPCUA client Poll Device",
            "DriverID": "914FBF10-616F-11EB-AE93-0242AC130002",
            "Description": ""
        }
    }
}

Create Device - MQTT Client

POST {{edgeUrl}}/devicehub/v2

MQTT Client Driver

Required fields: > Broker Address
> Broker Port
Browse devices supported: No
Browse tags supported: No
Supported device models: Compatible with Brokers >= MQTTv3 (only MQTTv4 features supported)
Miscellaneous: > Generated certificates are self-signed
> All payloads are escapable strings: \\ , \" -> \ , "
> Message receive order is not guaranteed
> If Client ID is left blank, a random ID will be generated
> Client ID cannot be >23 chars for MQTTv3

Driver ID: 236E3A53-E133-48D6-96F4-D95E61C7592A Group: MQTT

Required properties: - CertificateAuthority String — CA Chain (PEM) - Password String - WillTopic String — LWT Topic - WillPayload String — LWT String Payload - Port SignedInteger — Broker Port - ClientCertificate String — Client Certificate (PEM) - BrokerAddress String — Broker IP or Hostname - SecurePort SignedInteger — Broker SSL Port - Username String - ClientPrivateKey String — Client Private Key (PEM) - name String — This is a Device Name.

Optional properties: - WillRetained SignedInteger — Retain LWT Message Options: 0, 1 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - SecurityMode SignedInteger — SSL Mode Options: 0, 1 - PersistentSession SignedInteger — Persistent Session with Broker Options: 0, 1 - CertificateVerification SignedInteger — Broker Certificate & Hostname Verification Options: 0, 1 - MinTLSVersion SignedInteger — Minimum TLS Version Options: 0, 1, 2, 3 - KeepAlivePeriod SignedInteger — Keep-Alive Period (s) - WillEnabled SignedInteger — Enable LWT Message Options: 0, 1 - ProtocolVersion SignedInteger — MQTT Protocol Version Options: 0, 1, 2 - ClientID String — MQTT Client ID - WriteTimeout SignedInteger — Write Timeout (s) - ConnectTimeout SignedInteger — Connect Timeout (s) - ClientAuthentication SignedInteger — Authentication Mode Options: 0, 1, 2, 3 - WillQos SignedInteger — LWT Qos Options: 0, 1, 2 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "__doc_MQTT_Client_200931899283",
    "Description": "Documentation placeholder for MQTT Client \u2014 safe to delete",
    "DriverID": "236E3A53-E133-48D6-96F4-D95E61C7592A",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "WillRetained",
        "Value": "0"
      },
      {
        "Key": "Advanced",
        "Value": "0"
      },
      {
        "Key": "SecurityMode",
        "Value": "0"
      },
      {
        "Key": "CertificateAuthority",
        "Value": ""
      },
      {
        "Key": "Password",
        "Value": "password"
      },
      {
        "Key": "WillTopic",
        "Value": "/example/path"
      },
      {
        "Key": "PersistentSession",
        "Value": "0"
      },
      {
        "Key": "CertificateVerification",
        "Value": ""
      },
      {
        "Key": "MinTLSVersion",
        "Value": "0"
      },
      {
        "Key": "KeepAlivePeriod",
        "Value": "30"
      },
      {
        "Key": "WillEnabled",
        "Value": "0"
      },
      {
        "Key": "WillPayload",
        "Value": "placeholder_willpayload"
      },
      {
        "Key": "ProtocolVersion",
        "Value": "0"
      },
      {
        "Key": "ClientID",
        "Value": ""
      },
      {
        "Key": "Port",
        "Value": "1883"
      },
      {
        "Key": "ClientCertificate",
        "Value": "-----BEGIN CERTIFICATE-----\nMIIDezCCAmOgAwIBAgIRAJZ2WQXP86zhFetJu59ilSIwDQYJKoZIhvcNAQELBQAw\nOTEUMBIGA1UEChMLbXF0dC1jbGllbnQxITAfBgNVBAMTGGxpdG11cy1lZGdlLTAw\nNTA1NmI5YjY3ODAeFw0yNjAyMTkxOTQzMzJaFw0yNzAyMTkxOTQzMzJaMDkxFDAS\nBgNVBAoTC21xdHQtY2xpZW50MSEwHwYDVQQDExhsaXRtdXMtZWRnZS0wMDUwNTZi\nOWI2NzgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDS3vebm6+Dgn8C\nIh9/QF3hyklVZneRSFXC8T5+bNQ8KajcBHLMqbS3lR3IOxStSmV0fHbOnp1sdwnX\n9sVxqQ/fR4chtC0YKAZKiXQBRrUw37tU5v6sbxy3+8nNx8VPNmd1NIrlR6Cete8k\nqoEaQi2HABveGYWewTaw73LuzqgX8wEKKWITbr0SaZ8ACQH2yTAVBevk2iaD6xDn\nyxwo+vL7aidW7+S/7OoqMv9+WcvoIEIrkZ5knBULBBqZmt+hLiRzlrSnXc2lTMf6\noY5KvA2GqTPqFrNfDCDNsygHmFvXwSNlq2U2ggPEwzOYHpqjsfhf5g+2UrgEmGsj\nEOSoX+QzAgMBAAGjfjB8MA4GA1UdDwEB/wQEAwIC9DAdBgNVHSUEFjAUBggrBgEF\nBQcDAgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADA9BgNVHREENjA0ghhsaXRtdXMt\nZWRnZS0wMDUwNTZiOWI2NziGGGxpdG11cy1lZGdlLTAwNTA1NmI5YjY3ODANBgkq\nhkiG9w0BAQsFAAOCAQEAxSrPI9g7M4LBBxmplNstvJeyMMX/OA1cQ6qLUZMovaRU\njzStez+vkro+7SF7l3W7I/gvIDEp44kyYG1WeIQHrd/FDn8m74+GhKwH59eaGUaw\nG2oYFTMy9tVPA65ZpOdKdT50Qz8ZXWWzoDLCzjBYdkv4l6v42DF0Gm9ve+Jin09x\nIpj3s0tBeWeoP7L5Qh8ZXCM0DJ6dJcXHrMsuga1iZeOm4Y/2jIaJ8zjZlPU4BEIW\nM8FgkAXEmlta3S06TuY0sHFAcpXofiWxuKMsGrUzVzcp/EmJRRUCpR01PF62kAlW\nblqZzQw2CUp0jWPqNuuLtw0wIWSZ28lNy3RbB2eguA==\n-----END CERTIFICATE-----\n"
      },
      {
        "Key": "WriteTimeout",
        "Value": "10"
      },
      {
        "Key": "ConnectTimeout",
        "Value": "10"
      },
      {
        "Key": "BrokerAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "SecurePort",
        "Value": "8883"
      },
      {
        "Key": "ClientAuthentication",
        "Value": "0"
      },
      {
        "Key": "Username",
        "Value": "admin"
      },
      {
        "Key": "ClientPrivateKey",
        "Value": "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEA0t73m5uvg4J/AiIff0Bd4cpJVWZ3kUhVwvE+fmzUPCmo3ARy\nzKm0t5UdyDsUrUpldHx2zp6dbHcJ1/bFcakP30eHIbQtGCgGSol0AUa1MN+7VOb+\nrG8ct/vJzcfFTzZndTSK5UegnrXvJKqBGkIthwAb3hmFnsE2sO9y7s6oF/MBCili\nE269EmmfAAkB9skwFQXr5Nomg+sQ58scKPry+2onVu/kv+zqKjL/flnL6CBCK5Ge\nZJwVCwQamZrfoS4kc5a0p13NpUzH+qGOSrwNhqkz6hazXwwgzbMoB5hb18EjZatl\nNoIDxMMzmB6ao7H4X+YPtlK4BJhrIxDkqF/kMwIDAQABAoIBADnPC2V68Epmx4ff\nr+/URwiDysfhP+0xveUj+sRw9FwL9bFffNNTwOnFNPV0EO6S4y5kgrORM0oNdkLg\n8W7/8Ix/EPIx8VzaeCMN/KHu7vRXmYUkkHPYQDDGE6RY3GQjX4h3n45MrSFlcgqE\nvcDjnJSSeJFSQNntUR9/fWwvdlCd+8g5FIG3c38MsguD/u5llYwW4/Iac5k63RKc\npHGkx9/EOEDxjRNAVTlElo7DgonHiPRptUi2WHc8THYVWPqn1dfIRTyEZ/mSvjYn\naquyP2DQ8n+zHpjCCg8ivC6H1LaquP1w2nKwQc4WFgdNDUxf420k83+MJ34/66Ij\n8Jj/nXkCgYEA8y9L2R6YfvMTnKG2QDzp+snPXxLoWAELwZ7U3xh85SNjRe2fQcT8\nXe4dDOIzyqAqEsPm+82prxnaCYS6Cdlm+CYax6M9A/+z5rVPawGLoSySIV5lxfg/\nky0Eucs6QhzVJ0FCXuMKEzfBBHk64zK07QEInOwR6GWwSGHEKXyjrosCgYEA3fu9\nOtVcrS8oDkNdM6rq6hCqeF+MzTZFiHG1z+Lxbtk+ailOKDdFJmlp5Ynx2a4Cldqo\nn4x1PBejp9IXCyRRsTTEnZNGqTPpFtVRGaUfiZURcmNCNd2CrukEneE7ghorHm3z\nQq0N9vjb2nL6MUpfKC5ZjYrF2dakV4gTZAw8PfkCgYBrESm9wAC38+FwlqodAjSp\n2+xXGYX+KQe6CWoDh06Fu9zbTtFNLaNG360enQDcd0PO2z15I4VPuHwMsMkPyQ3S\nt0QXHUGh3xSfwLfkjtug7HSyCFOao7+p1qo7+sP9k6AtFkhYanFnIKb0h0NsAEk0\nB755CF6iCRNh6tlowp12HQKBgCZoJt5mCgngzdJh719AJDLpPUVkas0apb8sxWM5\nhcJDDhx6Fw64OVujA3J2goTCKapZ0bEBMUt7X5JqtBf2abf6REZrM9+UnrCXqdeB\nDUrVotYivFLrh2/R2z2huZUSCAHUzjDsFi1z8z4BhK5AiuQ92Lq3lvHQxFBst8Yo\no8epAoGAZnUITf5k1kycfVO6g1dHKVsDRpLGKfxAt9VQCXu+1aE9kPcifeVd/LEw\nJeqIrZa/uycCtADsb9J/vGC4fOSHkIvhAVaHighNs7qV1area/OrGQdDhEonLPuX\neEBYXaedy1FBhjYP3HzEdOmDC0hwg0c99FmIhPYqjqdEF6+Gzls=\n-----END RSA PRIVATE KEY-----\n"
      },
      {
        "Key": "WillQos",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "MQTT-client_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{"errors": [{"message": "Core.AddDevice:validation error", "path": ["CreateDevice"]}], "data": null}

Create Device - Generic Device (No TLS)

POST {{edgeUrl}}/devicehub/v2

Generic Device Driver

Required fields: > Connection Settings (TCP, UDP or Serial)
Browse devices supported: No
Browse tags supported: No
Supported device models:
Requests: > Poll: Execute at interval, or when triggered
> Write: Execute when triggered
> Stream: Initiate connection, execute request, parse responses on receipt
> Response: Parse additional value from existing Poll/Stream requests
Payload: > Request payload formatted as "Hex-String"
> Hex-String: string of valid hexadecimal characters: 0123456789ABCDEF
> example: ABCD1234 -> encoded in binary exactly as seen
> with Params: ABCD\ -> "address" param injected, binary encoding
> with ASCII: ABCD"PROTO"123 -> quoted segments, ascii encoding
> all ASCII: "HEADER-$%*-123-TAIL" -> entire payload, ascii encoding
Parameters: > Session or Request params formatted as JSON (string values only)
> Request params take precedence over Session params, if duplicate
> Keys like "address" or "areaCode", can be used in request: ...\<areaCode>\<address>...
> Numeric params can be decimal/hexadecimal/octal, but must be in "string" form with appropriate prefix
> Bit length inferred from padded length: "0x0012" or "0018" -> encoded as uint16(18)
> Bit lengths supported: 4/8/16/24/32/64
> Params wrapped with \\"\\", encoded as ascii: { "areaType": "\"MEM_AREA\"" }
> Params injected within ascii segment of payload, converted to ascii: ..."\"... -> ..."1234"...
Parsing: > Start Index: 0-Indexed start of values, within response. Combined with value count, defines minimum response length (-1 to skip read)
> Value Count: Count of typed values to parse from response. If response is too short, reads will fail.
> Value Length: (Strings-Only) Defines length of single value in bytes (0 for entire response)
> Request Tag: Datahub Tag name for target request tag
> Regex: Run 'FindAllSubmatch' on the response (RE2 semantics)
> Regex Match Num: Index of 'FindAll' match
> Regex Group Num: Index of 'Submatch' group
Register Settings:
> Request Tag: For "Response" registers, link to DH tag of target request
> Override Transport: Define alternate endpoint for single request, connection is not persistent

Driver ID: 2ED8A8E1-1DF4-481A-9033-03F6E8E9456E Group: Generic

Required properties: - clientCertificate String — Client Certificate (PEM) - clientPrivateKey String — Client Private Key (PEM) - connectionPayload String — Connection Request (Hex String) - networkPort SignedInteger — Port - networkAddress String — IP Address - deviceFile String — Path to Device - name String — This is a Device Name.

Optional properties: - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - RetryCount SignedInteger — Retry request count - ReadTimeout SignedInteger — Request timeout, msec - MultipleConnections SignedInteger — Enable if using multiple streams Options: 0, 1 - certificateVerification SignedInteger — Verify server certificate Options: 0, 1 - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - PauseBetweenRetries SignedInteger — Pause between retries, msec - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - Transport SignedInteger — Transport Type Options: 0, 1, 2 - certificateAuthority String — CA Chain (PEM) - enableTLS SignedInteger — Enable TLS Options: 0, 1 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - enableMutualTLS SignedInteger — Enable mTLS / Client Certificate Options: 0, 1 - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - responseIndex SignedInteger — Response Parsing - Start Index - protocolByteOrder SignedInteger — Protocol Endianness Options: 0, 1, 2, 3 - dataByteOrder SignedInteger — Default Data Endianness Options: 0, 1, 2, 3 - sessionParams Text — Session Parameters (JSON) - connectionRequest SignedInteger — Enable Connection Request Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Generic Device Device (No TLS)",
    "Description": "",
    "DriverID": "2ED8A8E1-1DF4-481A-9033-03F6E8E9456E",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "MultipleConnections",
        "Value": "1"
      },
      {
        "Key": "PauseBetweenRetries",
        "Value": "0"
      },
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "protocolByteOrder",
        "Value": "0"
      },
      {
        "Key": "dataByteOrder",
        "Value": "0"
      },
      {
        "Key": "sessionParams",
        "Value": ""
      },
      {
        "Key": "connectionRequest",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "generic-device_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Generic Device Device (No TLS)",
            "DriverID": "2ED8A8E1-1DF4-481A-9033-03F6E8E9456E",
            "Description": ""
        }
    }
}

Create Device - REST Client (No TLS)

POST {{edgeUrl}}/devicehub/v2

REST Client Driver

Browse devices supported No
Browse tags supported No
Driver Settings > Server Connection Settings: Address, Port, Authentication, TLS
Common Request Settings:
> Path: Root URL Path for all requests
> Headers: Common HTTP Headers (JSON-encoded)
> Path Params: Common HTTP Path Parameters (JSON-encoded)
> Query Params: Common HTTP Query Parameters (Parameter-string or JSON-encoded) e.g. p1=xyz&p2=2 or {"p1":"xyz","p2":"2"}
Tag Settings Request Settings:
> Type: (GET, POST)
> Path: Request URL Path, follows common path
> Parameters Settings: Appends/Overwrites common parameters
> Payload: HTTP request body, usually for POST-only requests
> Response Parse Pattern: Target path within JSON response body (JSONPath encoded) e.g. $.fieldA.fieldB[0].xyz or $['field-a']['field-b'][0]['xyz']
> Allow Multiple Matches: When using wildcards in parse pattern, yield all matches (default: disabled, first-only)
> Allow Empty Matches: When using wildcards in parse pattern, don't yield error when no matches are found (default: disabled, yield-error)

Driver ID: 8FE812E2-C026-4CC8-9C9F-4D3C59CC31E9 Group: Generic

Required properties: - username String — Username - password String — Password - oauth2TokenEndpoint String — Authorization Server URL - clientCertificate String — Client Certificate (PEM) - clientPrivateKey String — Client Private Key (PEM) - bearerToken String — Client Token - oauth2ClientID String — Client Identifier registered to the application - networkAddress String — Server Hostname or IP - networkPort SignedInteger — Server Port - name String — This is a Device Name.

Optional properties: - urlPath String — Common URL Path - oauth2ClientSecret String — Client Secret registered to the application - certificateAuthority String — CA Chain (PEM) - authSchemeOverride String — Authorization header scheme/prefix override - enableTLS SignedInteger — Enable TLS / HTTPS Options: 0, 1 - certificateVerification SignedInteger — Verify server certificate Options: 0, 1 - headers String — Common HTTP Headers (JSON) - pathParams String — Common HTTP Path Parameters (JSON) - requestRetryCount SignedInteger — Retry request count - authenticationType SignedInteger — Authentication Type Options: 0, 1, 2, 3, 4 - oauth2TokenParams String — Additional token endpoint parameters (JSON or Parameter string) - enableMutualTLS SignedInteger — Enable mTLS / Client Certificate Options: 0, 1 - queryParams String — Common HTTP Query Parameters (JSON or Parameter string) - requestTimeout SignedInteger — Request timeout, msec - requestRetryWaitMS SignedInteger — Pause between retries, msec - oauth2Scopes String — Access request scope(s) (space separated values) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My REST Client Device (No TLS)",
    "Description": "",
    "DriverID": "8FE812E2-C026-4CC8-9C9F-4D3C59CC31E9",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "urlPath",
        "Value": "/example/path"
      },
      {
        "Key": "enableTLS",
        "Value": "0"
      },
      {
        "Key": "headers",
        "Value": ""
      },
      {
        "Key": "pathParams",
        "Value": ""
      },
      {
        "Key": "requestRetryCount",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "authenticationType",
        "Value": "0"
      },
      {
        "Key": "queryParams",
        "Value": ""
      },
      {
        "Key": "requestTimeout",
        "Value": "2000"
      },
      {
        "Key": "requestRetryWaitMS",
        "Value": "100"
      },
      {
        "Key": "networkPort",
        "Value": "80"
      },
      {
        "Key": "name",
        "Value": "rest-client_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My REST Client Device (No TLS)",
            "DriverID": "8FE812E2-C026-4CC8-9C9F-4D3C59CC31E9",
            "Description": ""
        }
    }
}

Create Device - Scale (No TLS)

POST {{edgeUrl}}/devicehub/v2

Mettler Scale Driver

Required fields: > Connection Settings (TCP, UDP or Serial)
Browse devices supported: No
Browse tags supported: No
Supported device models:
Requests: > Poll: Execute at interval, or when triggered
> Write: Execute when triggered
> Stream: Initiate connection, execute request, parse responses on receipt
> Response: Parse additional value from existing Poll/Stream requests
Payload: > Request payload formatted as "Hex-String"
> Hex-String: string of valid hexadecimal characters: 0123456789ABCDEF
> example: ABCD1234 -> encoded in binary exactly as seen
> with Params: ABCD\ -> "address" param injected, binary encoding
> with ASCII: ABCD"PROTO"123 -> quoted segments, ascii encoding
> all ASCII: "HEADER-$%*-123-TAIL" -> entire payload, ascii encoding
Parameters: > Session or Request params formatted as JSON (string values only)
> Request params take precedence over Session params, if duplicate
> Keys like "address" or "areaCode", can be used in request: ...\<areaCode>\<address>...
> Numeric params can be decimal/hexadecimal/octal, but must be in "string" form with appropriate prefix
> Bit length inferred from padded length: "0x0012" or "0018" -> encoded as uint16(18)
> Bit lengths supported: 4/8/16/24/32/64
> Params wrapped with \\"\\", encoded as ascii: { "areaType": "\"MEM_AREA\"" }
> Params injected within ascii segment of payload, converted to ascii: ..."\"... -> ..."1234"...
Parsing: > Start Index: 0-Indexed start of values, within response. Combined with value count, defines minimum response length (-1 to skip read)
> Value Count: Count of typed values to parse from response. If response is too short, reads will fail.
> Value Length: (Strings-Only) Defines length of single value in bytes (0 for entire response)
> Request Tag: Datahub Tag name for target request tag
> Regex: Run 'FindAllSubmatch' on the response (RE2 semantics)
> Regex Match Num: Index of 'FindAll' match
> Regex Group Num: Index of 'Submatch' group
Register Settings:
> Request Tag: For "Response" registers, link to DH tag of target request
> Override Transport: Define alternate endpoint for single request, connection is not persistent
> Decimal Regex: Parsing decimal position, for float values

Driver ID: F88D5FAE-A0C2-4B83-94FE-8F23915A390E Group: Generic

Required properties: - clientCertificate String — Client Certificate (PEM) - connectionPayload String — Connection Request (Hex String) - networkAddress String — IP Address - deviceFile String — Path to Device - networkPort SignedInteger — Port - clientPrivateKey String — Client Private Key (PEM) - name String — This is a Device Name.

Optional properties: - enableTLS SignedInteger — Enable TLS Options: 0, 1 - PauseBetweenRetries SignedInteger — Pause between retries, msec - connectionRequest SignedInteger — Enable Connection Request Options: 0, 1 - responseIndex SignedInteger — Response Parsing - Start Index - dataByteOrder SignedInteger — Default Data Endianness Options: 0, 1, 2, 3 - stopBits SignedInteger — Stop Bits Options: 0, 1, 2 - certificateVerification SignedInteger — Verify server certificate Options: 0, 1 - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - parity SignedInteger — Parity Options: 0, 1, 2, 3, 4 - ReadTimeout SignedInteger — Request timeout, msec - sessionParams Text — Session Parameters (JSON) - protocolByteOrder SignedInteger — Protocol Endianness Options: 0, 1, 2, 3 - enableMutualTLS SignedInteger — Enable mTLS / Client Certificate Options: 0, 1 - dataBits SignedInteger — Data Bits Options: 0, 1, 2, 3 - RetryCount SignedInteger — Retry request count - baudRate SignedInteger — Baud Rate Options: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - certificateAuthority String — CA Chain (PEM) - Transport SignedInteger — Transport Type Options: 0, 1, 2 - MultipleConnections SignedInteger — Enable if using multiple streams Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Scale Device (No TLS)",
    "Description": "",
    "DriverID": "F88D5FAE-A0C2-4B83-94FE-8F23915A390E",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "PauseBetweenRetries",
        "Value": "0"
      },
      {
        "Key": "connectionRequest",
        "Value": "1"
      },
      {
        "Key": "dataByteOrder",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "sessionParams",
        "Value": ""
      },
      {
        "Key": "protocolByteOrder",
        "Value": "0"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "MultipleConnections",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "mettler-scale_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Scale Device (No TLS)",
            "DriverID": "F88D5FAE-A0C2-4B83-94FE-8F23915A390E",
            "Description": ""
        }
    }
}

Create Device - Keyence Nano (No TLS)

POST {{edgeUrl}}/devicehub/v2

Keyence Nano Driver

Prerequisites None
Required fields Network address
Network Port
Browse devices supported No
Browse tags supported No

Driver ID: CC3EDEED-0DBD-47B5-A057-7CD2F04668EA Group: Keyence

Required properties: - networkPort SignedInteger — Port - clientPrivateKey String — Client Private Key (PEM) - networkAddress String — IP Address - clientCertificate String — Client Certificate (PEM) - name String — This is a Device Name.

Optional properties: - Transport SignedInteger — Transport Type Options: 0 - ReadTimeout SignedInteger — Request timeout, msec - RetryCount SignedInteger — Retry request count - enableTLS SignedInteger — Enable TLS Options: 0, 1 - enableMutualTLS SignedInteger — Enable mTLS / Client Certificate Options: 0, 1 - certificateVerification SignedInteger — Verify server certificate Options: 0, 1 - certificateAuthority String — CA Chain (PEM) - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - PauseBetweenRetries SignedInteger — Pause between retries, msec - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Keyence Nano Device (No TLS)",
    "Description": "",
    "DriverID": "CC3EDEED-0DBD-47B5-A057-7CD2F04668EA",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "networkPort",
        "Value": "8501"
      },
      {
        "Key": "enableTLS",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "PauseBetweenRetries",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "keyence-nano_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Keyence Nano Device (No TLS)",
            "DriverID": "CC3EDEED-0DBD-47B5-A057-7CD2F04668EA",
            "Description": ""
        }
    }
}

Create Device - Industrial OT Server (No TLS)

POST {{edgeUrl}}/devicehub/v2

Industrial OT Server Driver

Driver ID: A206D802-2E0B-4C14-A38A-353F666FCF0C Group: MQTT

Required properties: - User String — User - Password String — Password - MqttInterface String — MQTT Interface - MqttSSLInterface String — MQTT SSL Interface - ServerCertificate String — Broker Certificate (PEM) - MqttPort SignedInteger — MQTT Port - MqttSSLPort SignedInteger — MQTT SSL Port - ServerPrivateKey String — Broker Private Key (PEM) - CertificateAuthority String — CA Chain (PEM) - name String — This is a Device Name.

Optional properties: - RequireClientCertificate SignedInteger — Require Client CA Options: 0, 1 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - MinTLSVersion SignedInteger — Minimum TLS Version Options: 0, 1, 2, 3 - EnableUserPassword SignedInteger — Enable Authentification (User/Password) Options: 0, 1 - EnableMqtt SignedInteger — Enable MQTT at Port Options: 0, 1 - EnableMqttSSL SignedInteger — Enable MQTT SSL at Port Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Industrial OT Server Device (No TLS)",
    "Description": "",
    "DriverID": "A206D802-2E0B-4C14-A38A-353F666FCF0C",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Advanced",
        "Value": "1"
      },
      {
        "Key": "MqttInterface",
        "Value": "0.0.0.0"
      },
      {
        "Key": "MqttSSLInterface",
        "Value": "0.0.0.0"
      },
      {
        "Key": "EnableUserPassword",
        "Value": "1"
      },
      {
        "Key": "EnableMqtt",
        "Value": "0"
      },
      {
        "Key": "MqttPort",
        "Value": "1883"
      },
      {
        "Key": "EnableMqttSSL",
        "Value": "0"
      },
      {
        "Key": "MqttSSLPort",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "Industrial-OT-server_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Industrial OT Server Device (No TLS)",
            "DriverID": "A206D802-2E0B-4C14-A38A-353F666FCF0C",
            "Description": ""
        }
    }
}

Create Device - MQTT Client (No TLS)

POST {{edgeUrl}}/devicehub/v2

MQTT Client Driver

Required fields: > Broker Address
> Broker Port
Browse devices supported: No
Browse tags supported: No
Supported device models: Compatible with Brokers >= MQTTv3 (only MQTTv4 features supported)
Miscellaneous: > Generated certificates are self-signed
> All payloads are escapable strings: \\ , \" -> \ , "
> Message receive order is not guaranteed
> If Client ID is left blank, a random ID will be generated
> Client ID cannot be >23 chars for MQTTv3

Driver ID: 236E3A53-E133-48D6-96F4-D95E61C7592A Group: MQTT

Required properties: - CertificateAuthority String — CA Chain (PEM) - Password String - WillTopic String — LWT Topic - WillPayload String — LWT String Payload - Port SignedInteger — Broker Port - ClientCertificate String — Client Certificate (PEM) - BrokerAddress String — Broker IP or Hostname - SecurePort SignedInteger — Broker SSL Port - Username String - ClientPrivateKey String — Client Private Key (PEM) - name String — This is a Device Name.

Optional properties: - WillRetained SignedInteger — Retain LWT Message Options: 0, 1 - Advanced SignedInteger — Show Advanced Config Options: 0, 1 - SecurityMode SignedInteger — SSL Mode Options: 0, 1 - PersistentSession SignedInteger — Persistent Session with Broker Options: 0, 1 - CertificateVerification SignedInteger — Broker Certificate & Hostname Verification Options: 0, 1 - MinTLSVersion SignedInteger — Minimum TLS Version Options: 0, 1, 2, 3 - KeepAlivePeriod SignedInteger — Keep-Alive Period (s) - WillEnabled SignedInteger — Enable LWT Message Options: 0, 1 - ProtocolVersion SignedInteger — MQTT Protocol Version Options: 0, 1, 2 - ClientID String — MQTT Client ID - WriteTimeout SignedInteger — Write Timeout (s) - ConnectTimeout SignedInteger — Connect Timeout (s) - ClientAuthentication SignedInteger — Authentication Mode Options: 0, 1, 2, 3 - WillQos SignedInteger — LWT Qos Options: 0, 1, 2 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My MQTT Client Device (No TLS)",
    "Description": "",
    "DriverID": "236E3A53-E133-48D6-96F4-D95E61C7592A",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Advanced",
        "Value": "1"
      },
      {
        "Key": "SecurityMode",
        "Value": "1"
      },
      {
        "Key": "WillEnabled",
        "Value": "1"
      },
      {
        "Key": "ClientID",
        "Value": ""
      },
      {
        "Key": "Port",
        "Value": "1883"
      },
      {
        "Key": "BrokerAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "ClientAuthentication",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "MQTT-client_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My MQTT Client Device (No TLS)",
            "DriverID": "236E3A53-E133-48D6-96F4-D95E61C7592A",
            "Description": ""
        }
    }
}

Create Device - Opto22 CONT Protocol Ethernet (No TLS)

POST {{edgeUrl}}/devicehub/v2

Opto22 CONT Protocol Ethernet Driver

Required fields: > Connection Settings (TCP)
Browse devices supported: No
Browse tags supported: No
Supported device models: OPTO 22 SNAP PAC S1
Register Settings: > Register Name: e.g. "PLC_Tag" or "PLC_ArrayTag[1]" or "PLC_ArrayTag[0-4]"
> String arrays not supported
> Pointer register names must be prepended with "PTR_"
> Pointer tables are not supported

Driver ID: 43F4ED55-823C-48DC-AB3A-F64E8139BB07 Group: Opto Devices

Required properties: - networkAddress String — IP Address - clientPrivateKey String — Client Private Key (PEM) - clientCertificate String — Client Certificate (PEM) - networkPort SignedInteger — Port - name String — This is a Device Name.

Optional properties: - enableMutualTLS SignedInteger — Enable mTLS / Client Certificate Options: 0, 1 - Transport SignedInteger — Transport Type Options: 0 - certificateAuthority String — CA Chain (PEM) - RetryCount SignedInteger — Retry request count - PauseBetweenRetries SignedInteger — Pause between retries, msec - ReadTimeout SignedInteger — Request timeout, msec - enableTLS SignedInteger — Enable TLS Options: 0, 1 - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - certificateVerification SignedInteger — Verify server certificate Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Opto22 CONT Protocol Ethernet Device (No TLS)",
    "Description": "",
    "DriverID": "43F4ED55-823C-48DC-AB3A-F64E8139BB07",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "PauseBetweenRetries",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "enableTLS",
        "Value": "0"
      },
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "networkPort",
        "Value": "22001"
      },
      {
        "Key": "name",
        "Value": "opto22-cont_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Opto22 CONT Protocol Ethernet Device (No TLS)",
            "DriverID": "43F4ED55-823C-48DC-AB3A-F64E8139BB07",
            "Description": ""
        }
    }
}

Create Device - ABB Robot Web Services (No TLS)

POST {{edgeUrl}}/devicehub/v2

ABB Robot Web Services Controller

Browse devices supported No
Browse tags supported No
Driver Settings > Server Connection Settings: Address, Port, Authentication, TLS
Common Request Settings:
> Path: Root URL Path for all requests
> Headers: Common HTTP Headers (JSON-encoded)
> Path Params: Common HTTP Path Parameters (JSON-encoded)
> Query Params: Common HTTP Query Parameters (Parameter-string or JSON-encoded) e.g. p1=xyz&p2=2 or {"p1":"xyz","p2":"2"}
> WebSocket Timeout: Keepalive interval for websocket connections
Tag Settings Request Settings:
> Type: (GET, POST)
> Path: Request URL Path, follows common path
> Parameters Settings: Appends/Overwrites common parameters
> Payload: HTTP request body, usually for POST-only requests
> Response Parse Pattern: Target path within JSON response body (JSONPath encoded) e.g. $.fieldA.fieldB[0].xyz or $['field-a']['field-b'][0]['xyz']
> Allow Multiple Matches: When using wildcards in parse pattern, yield all matches (default: disabled, first-only)
> Allow Empty Matches: When using wildcards in parse pattern, don't yield error when no matches are found (default: disabled, yield-error)
Subscription Settings:
> Resource: Target path, with optional field specification (e.g. "/rw/rapid/tasks/T_ROB1;excstate")
> Message Parse Pattern: Default will attempt to unpack the most important information from the subscription payload
> Parse Result Index: Index within parse pattern results
> RobotStudio subscription payloads are always converted from XML to JSON
> Each subscription creates a new session with the server. This may be limited.

Driver ID: 97A7485B-816E-4F89-8155-48617608CC28 Group: Robot

Required properties: - bearerToken String — Client Token - password String — Password - username String — Username - clientCertificate String — Client Certificate (PEM) - networkAddress String — Server Hostname or IP - networkPort SignedInteger — Server Port - oauth2ClientID String — Client Identifier registered to the application - clientPrivateKey String — Client Private Key (PEM) - oauth2TokenEndpoint String — Authorization Server URL - name String — This is a Device Name.

Optional properties: - requestRetryWaitMS SignedInteger — Pause between retries, msec - oauth2TokenParams String — Additional token endpoint parameters (JSON or Parameter string) - enableTLS SignedInteger — Enable TLS / HTTPS Options: 0, 1 - certificateVerification SignedInteger — Verify server certificate Options: 0, 1 - requestTimeout SignedInteger — Request timeout, msec - requestRetryCount SignedInteger — Retry request count - urlPath String — Common URL Path - enableMutualTLS SignedInteger — Enable mTLS / Client Certificate Options: 0, 1 - headers String — Common HTTP Headers (JSON) - websocketTimeout SignedInteger — WebSocket Subscription Timeout, S - authSchemeOverride String — Authorization header scheme/prefix override - authenticationType SignedInteger — Authentication Type Options: 0, 1, 2, 3, 4 - oauth2ClientSecret String — Client Secret registered to the application - certificateAuthority String — CA Chain (PEM) - pathParams String — Common HTTP Path Parameters (JSON) - oauth2Scopes String — Access request scope(s) (space separated values) - queryParams String — Common HTTP Query Parameters (JSON or Parameter string) - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My ABB Robot Web Services Device (No TLS)",
    "Description": "",
    "DriverID": "97A7485B-816E-4F89-8155-48617608CC28",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "requestRetryWaitMS",
        "Value": "100"
      },
      {
        "Key": "enableTLS",
        "Value": "0"
      },
      {
        "Key": "requestTimeout",
        "Value": "2000"
      },
      {
        "Key": "requestRetryCount",
        "Value": "0"
      },
      {
        "Key": "urlPath",
        "Value": "/example/path"
      },
      {
        "Key": "headers",
        "Value": ""
      },
      {
        "Key": "websocketTimeout",
        "Value": "30"
      },
      {
        "Key": "authenticationType",
        "Value": "0"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "networkPort",
        "Value": "80"
      },
      {
        "Key": "pathParams",
        "Value": ""
      },
      {
        "Key": "queryParams",
        "Value": "json=1"
      },
      {
        "Key": "name",
        "Value": "abb-robot-web_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My ABB Robot Web Services Device (No TLS)",
            "DriverID": "97A7485B-816E-4F89-8155-48617608CC28",
            "Description": ""
        }
    }
}

Create Device - Toyopuc Ethernet (No TLS)

POST {{edgeUrl}}/devicehub/v2

Toyopuc Ethernet Driver

Required fields: > Connection Settings (TCP)
Browse devices supported: No
Browse tags supported: No
Supported device models: JTEKT Toyopuc PC10
Register Settings: > File Number: Data file/program number
> Access Type: Block access will request contiguous registers, Random access can request registers of different areas/types (within the same file)

Driver ID: 9C027337-2D53-452D-9F9A-9932A39B5B16 Group: Toyopuc

Required properties: - networkPort SignedInteger — Port - networkAddress String — IP Address - clientCertificate String — Client Certificate (PEM) - clientPrivateKey String — Client Private Key (PEM) - name String — This is a Device Name.

Optional properties: - certificateVerification SignedInteger — Verify server certificate Options: 0, 1 - KeepAlive SignedInteger — TCP Keep-Alive (s) (0 to disable) - enableMutualTLS SignedInteger — Enable mTLS / Client Certificate Options: 0, 1 - LinkNodes String — Multi-layer link nodes - enableTLS SignedInteger — Enable TLS Options: 0, 1 - MaxRequestSize SignedInteger — Maximum block size retrieved per request (# bytes) - Transport SignedInteger — Transport Type Options: 0 - ReadTimeout SignedInteger — Request timeout, msec - RetryCount SignedInteger — Retry request count - certificateAuthority String — CA Chain (PEM) - PauseBetweenRetries SignedInteger — Pause between retries, msec - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Toyopuc Ethernet Device (No TLS)",
    "Description": "",
    "DriverID": "9C027337-2D53-452D-9F9A-9932A39B5B16",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "1025"
      },
      {
        "Key": "KeepAlive",
        "Value": "60"
      },
      {
        "Key": "LinkNodes",
        "Value": "[]"
      },
      {
        "Key": "networkAddress",
        "Value": "192.168.1.100"
      },
      {
        "Key": "enableTLS",
        "Value": "0"
      },
      {
        "Key": "MaxRequestSize",
        "Value": "512"
      },
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "ReadTimeout",
        "Value": "2000"
      },
      {
        "Key": "RetryCount",
        "Value": "0"
      },
      {
        "Key": "PauseBetweenRetries",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "toyopuc-ethernet_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Toyopuc Ethernet Device (No TLS)",
            "DriverID": "9C027337-2D53-452D-9F9A-9932A39B5B16",
            "Description": ""
        }
    }
}

Create Device - MySQL Server Client (No TLS)

POST {{edgeUrl}}/devicehub/v2

MySQL Server Client Driver

Browse devices supported: No
Browse tags supported: No
Driver Settings: > Address: IP, Hostname or Endpoint (Port setting is ignored if port is included here)
> Database: Specify query target within server
> Username, Password: Client authentication
> AppName: Client Application ID (optional connection identifier)
Important: > Ensure minimal permissions are set for the provided user account
Miscellaneous: > Driver is Read-Only
> For multi-row output, use "Table" register
> For single-row or single-field output, use "Record" register
> When reading single rows, enable timestamp/value parsing by setting a positive index value for the respective fields
> When reading multiple rows, it is recommended to keep output table sizes under 1MB
> When using "Publish on Change", it may be necessary to define a "Change Query" on which any output will indicate that the data has been updated
> To persist a change "state", configure state value parsing and implement "Change Query", the first argument must represet the "state"
> All SQL queries (multi-statement in particular) should be tested independently of driver to ensure correctness
Miscellaneous: > Driver does not support writing to tags
> For multi-row output, use "Table" register
> For single-row or single-field output, use "Record" register
> When reading single rows, enable timestamp/value parsing by setting a positive index value for the respective fields
> When reading multiple rows, it is recommended to keep output table sizes under 1MB
> When using "Only Publish on Change of Value", it may be necessary to define a CDC query
> All SQL queries (multi-statement in particular) should be tested independently of driver to ensure correctness

Driver ID: 9F29E6F9-A195-4393-B1F1-8DDA3E8B3982 Group: Historian

Required properties: - Password String - Address String — SQL Server Address - Port SignedInteger — SQL Server Port - Username String - name String — This is a Device Name.

Optional properties: - EnableTLS SignedInteger — Enable TLS Options: 0, 1 - PrivateKey String — Client Private Key (PEM) - advanced SignedInteger — Show Advanced Config Options: 0, 1 - Database String — Server Database Name - ClientAuth SignedInteger — Client Authentication (mTLS) Options: 0, 1 - Certificate String — Client Certificate (PEM) - AppName String — Client Application Name - RequestTimeout SignedInteger — Request Timeout (S) - ConnectionTimeout SignedInteger — Connection Timeout (S) - CAChain String — Server CA Chain (PEM) - CertificateVerification SignedInteger — Server Certificate & Hostname Verification Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My MySQL Server Client Device (No TLS)",
    "Description": "",
    "DriverID": "9F29E6F9-A195-4393-B1F1-8DDA3E8B3982",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Password",
        "Value": "password"
      },
      {
        "Key": "EnableTLS",
        "Value": "1"
      },
      {
        "Key": "advanced",
        "Value": "1"
      },
      {
        "Key": "Address",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Port",
        "Value": "3306"
      },
      {
        "Key": "Database",
        "Value": "master"
      },
      {
        "Key": "Username",
        "Value": "admin"
      },
      {
        "Key": "name",
        "Value": "mysql-client_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My MySQL Server Client Device (No TLS)",
            "DriverID": "9F29E6F9-A195-4393-B1F1-8DDA3E8B3982",
            "Description": ""
        }
    }
}

Create Device - PostgreSQL Client (No TLS)

POST {{edgeUrl}}/devicehub/v2

PostgreSQL Client Driver

Browse devices supported: No
Browse tags supported: No
Driver Settings: > Address: IP, Hostname or Endpoint (Port setting is ignored if port is included here)
> Database: Specify query target within server
> Username, Password: Client authentication
> AppName: Client Application ID (optional connection identifier)
Important: > Ensure minimal permissions are set for the provided user account
Miscellaneous: > Driver is Read-Only
> For multi-row output, use "Table" register
> For single-row or single-field output, use "Record" register
> When reading single rows, enable timestamp/value parsing by setting a positive index value for the respective fields
> When reading multiple rows, it is recommended to keep output table sizes under 1MB
> When using "Publish on Change", it may be necessary to define a "Change Query" on which any output will indicate that the data has been updated
> To persist a change "state", configure state value parsing and implement "Change Query", the first argument must represet the "state"
> All SQL queries (multi-statement in particular) should be tested independently of driver to ensure correctness
Miscellaneous: > Driver does not support writing to tags
> For multi-row output, use "Table" register
> For single-row or single-field output, use "Record" register
> When reading single rows, enable timestamp/value parsing by setting a positive index value for the respective fields
> When reading multiple rows, it is recommended to keep output table sizes under 1MB
> When using "Only Publish on Change of Value", it may be necessary to define a CDC query
> All SQL queries (multi-statement in particular) should be tested independently of driver to ensure correctness

Driver ID: C373F016-4683-47DD-B633-E154AFCC2D06 Group: Historian

Required properties: - Username String - Password String - Address String — SQL Server Address - Port SignedInteger — SQL Server Port - name String — This is a Device Name.

Optional properties: - CAChain String — Server CA Chain (PEM) - AppName String — Client Application Name - RequestTimeout SignedInteger — Request Timeout (S) - EnableTLS SignedInteger — Enable TLS Options: 0, 1 - Certificate String — Client Certificate (PEM) - CertificateVerification SignedInteger — Server Certificate & Hostname Verification Options: 0, 1 - ConnectionTimeout SignedInteger — Connection Timeout (S) - ClientAuth SignedInteger — Client Authentication (mTLS) Options: 0, 1 - Database String — Server Database Name - PrivateKey String — Client Private Key (PEM) - advanced SignedInteger — Show Advanced Config Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My PostgreSQL Client Device (No TLS)",
    "Description": "",
    "DriverID": "C373F016-4683-47DD-B633-E154AFCC2D06",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Username",
        "Value": "admin"
      },
      {
        "Key": "Password",
        "Value": "password"
      },
      {
        "Key": "EnableTLS",
        "Value": "1"
      },
      {
        "Key": "Address",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Port",
        "Value": "5432"
      },
      {
        "Key": "Database",
        "Value": "master"
      },
      {
        "Key": "advanced",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "postgresql-client_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My PostgreSQL Client Device (No TLS)",
            "DriverID": "C373F016-4683-47DD-B633-E154AFCC2D06",
            "Description": ""
        }
    }
}

Create Device - CSV Stream (No TLS)

POST {{edgeUrl}}/devicehub/v2

CSV Stream Driver

Browse devices supported: No
Browse tags supported: No
Driver Settings: >
Tag Settings:
Tag Types:
> STRING: Published payload is string type

Driver ID: 17B16A98-C42B-4C46-80F7-8BA06A1F6B3C Group: Generic

Required properties: - Address String — Server Address - Certificate String — Certificate (PEM) - PrivateKey String — Private Key (PEM) - Interface String — Server Interface - Port SignedInteger — Server Port - CAChain String — Certificate Authority (PEM) - Terminator String — Line Terminator - name String — This is a Device Name.

Optional properties: - Role SignedInteger — Transport Role Options: 0 - ClientAuth SignedInteger — Enable Client Authentication (mTLS) Options: 0, 1 - advanced SignedInteger — Show Advanced Config Options: 0, 1 - EnableTLS SignedInteger — Enable TLS Options: 0, 1 - Timeout SignedInteger — Connection Timeout (ms) - MinTLS SignedInteger — Minimum TLS Version Options: 0, 1, 2, 3 - Transport SignedInteger — Transport Type Options: 0 - MaxPDU SignedInteger — Maximum Message Size - Delimiter String — Field Delimiter - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My CSV Stream Device (No TLS)",
    "Description": "",
    "DriverID": "17B16A98-C42B-4C46-80F7-8BA06A1F6B3C",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Role",
        "Value": "0"
      },
      {
        "Key": "Address",
        "Value": "192.168.1.100"
      },
      {
        "Key": "advanced",
        "Value": "1"
      },
      {
        "Key": "EnableTLS",
        "Value": "1"
      },
      {
        "Key": "Port",
        "Value": "1234"
      },
      {
        "Key": "Terminator",
        "Value": "\\n"
      },
      {
        "Key": "Transport",
        "Value": "0"
      },
      {
        "Key": "Delimiter",
        "Value": ","
      },
      {
        "Key": "name",
        "Value": "csv-stream_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My CSV Stream Device (No TLS)",
            "DriverID": "17B16A98-C42B-4C46-80F7-8BA06A1F6B3C",
            "Description": ""
        }
    }
}

Create Device - Ignition Module (No TLS)

POST {{edgeUrl}}/devicehub/v2

Ignition Module

Driver ID: C7B2183F-2BB8-415E-83A3-AA3FF8A20BF5 Group: Ignition

Required properties: - user String — User - password String — Password - TLScert String — Certificate (PEM) - TLSpkey String — Private Key (PEM) - natsConnectionName String — NATS connection name - browseRequestItemsCount SignedInteger — Browse request max items count - enableTLS SignedInteger — Enable TLS Authentication Options: 0, 1 - networkPort SignedInteger — Port - natsRequestTimeout SignedInteger — Request timeout, ms - writeRequestItemsCount SignedInteger — Write request max items count - interface String — Interface - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Ignition Module Device (No TLS)",
    "Description": "",
    "DriverID": "C7B2183F-2BB8-415E-83A3-AA3FF8A20BF5",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "user",
        "Value": "admin"
      },
      {
        "Key": "password",
        "Value": "password"
      },
      {
        "Key": "natsConnectionName",
        "Value": "IgnitionAgent"
      },
      {
        "Key": "browseRequestItemsCount",
        "Value": "500"
      },
      {
        "Key": "enableTLS",
        "Value": "1"
      },
      {
        "Key": "networkPort",
        "Value": "4778"
      },
      {
        "Key": "natsRequestTimeout",
        "Value": "5000"
      },
      {
        "Key": "writeRequestItemsCount",
        "Value": "50"
      },
      {
        "Key": "interface",
        "Value": "0.0.0.0"
      },
      {
        "Key": "name",
        "Value": "Ignition-module_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Ignition Module Device (No TLS)",
            "DriverID": "C7B2183F-2BB8-415E-83A3-AA3FF8A20BF5",
            "Description": ""
        }
    }
}

Create Device - Sparkplug B Client (No TLS)

POST {{edgeUrl}}/devicehub/v2

Sparkplug B Client Driver

Browse devices supported: No
Browse tags supported: Yes
Driver Settings: > See
> Namespace: Sparkplug namespace (can't be blank, or contain forward-slash)
> Trigger Rebirth: If Broker and PHA allow it, issue NCMDs after connecting to retrieve client BIRTHs
Browse Settings: > [Group,Node,Device,Metric] Match: String Match (see below)
> ID Property: Optional comma-separated list of metric names which, if present, will replace the parent [Node,Device] ID in DeviceHub tag
> Subscribe Wildcard: Subscribe to all NDATA/DDATA topics to collect active messages
> Data Window: Subscription timespan to collect all DATA topics
> Trigger Rebirth: Issue NCMDs on browse (see driver setting)
> Birth Window: Subscription timespan to collect all BIRTH topics, after issuing NCMDs
> JSON Types: Enable to include metric metadata in published value (name, alias, datatype, timestamp, payload.seq)
Supported device models: Compatible with Brokers >= MQTTv3
> Tested with SparkplugB compliant nodes
Miscellaneous: > Metric name must be appended to MQTT topic when creating register
> Generated certificates are self-signed
> Message receive order is not guaranteed, payload sequence is included in metric json value
> If Client ID is left blank, a random ID will be generated
> When browsing, if metric name is unknown, alias will shown. Theses names are temporary and will be replaced once BIRTHs are received.
> Birth/Death messages must be of type JSON, the entire message payload will be published

String Matching

Pattern matching string fields

String Match Types: * IsExact ("value") * BeginsWith ("prefix#") * EndsWith ("#suffix") * Contains ("#middle#") * IsAny ("#")

Special Case ("", when used on Group|Node|Device): If an empty string is passed into the str match parameter, it will match any value It will also indicate that the string should be removed when creating DeviceHub tag

Driver ID: B4D6175C-029B-4D27-8D61-84DFACD43461 Group: MQTT

Required properties: - Address String — Broker IP or Hostname - Password String - SecurePort SignedInteger — Broker TLS Port - CertificateAuthority String — CA Chain (PEM) - ClientCertificate String — Client Certificate (PEM) - ClientPrivateKey String — Client Private Key (PEM) - Port SignedInteger — Broker Port - Username String - name String — This is a Device Name.

Optional properties: - ClientID String — MQTT Client ID - Namespace String — Sparkplug topic namespace - TriggerRebirth SignedInteger — Issue 'Node Rebirth' NCMD when connecting to retrieve all client metrics Options: 0, 1 - WriteTimeout SignedInteger — Pub/Sub Message Timeout (s) - EnableTLS SignedInteger Options: 0, 1 - ClientAuthentication SignedInteger — Authentication Mode Options: 0, 1, 2, 3 - CertificateVerification SignedInteger — Broker Certificate & Hostname Verification Options: 0, 1 - MinTLSVersion SignedInteger — Minimum TLS Version Options: 0, 1, 2, 3 - KeepAlivePeriod SignedInteger — Keep-Alive Period (s) - ProtocolVersion SignedInteger — MQTT Protocol Version Options: 0, 1, 2 - ConnectTimeout SignedInteger — Connect Timeout (s) - advanced SignedInteger — Show Advanced Config Options: 0, 1 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Sparkplug B Client Device (No TLS)",
    "Description": "",
    "DriverID": "B4D6175C-029B-4D27-8D61-84DFACD43461",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "ClientID",
        "Value": ""
      },
      {
        "Key": "Address",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Namespace",
        "Value": "spBv1.0"
      },
      {
        "Key": "TriggerRebirth",
        "Value": "0"
      },
      {
        "Key": "EnableTLS",
        "Value": "1"
      },
      {
        "Key": "ClientAuthentication",
        "Value": "0"
      },
      {
        "Key": "Port",
        "Value": "1883"
      },
      {
        "Key": "advanced",
        "Value": "1"
      },
      {
        "Key": "name",
        "Value": "sparkplug_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Sparkplug B Client Device (No TLS)",
            "DriverID": "B4D6175C-029B-4D27-8D61-84DFACD43461",
            "Description": ""
        }
    }
}

Create Device - OSI Agent Advanced (No TLS)

POST {{edgeUrl}}/devicehub/v2

OSI Agent Advanced Driver

Driver ID: 41EFEEDE-E2C6-4D34-AD6C-2442A8D9B2B2 Group: OSI

Required properties: - TLSpkey String — Private Key (PEM) - networkPort SignedInteger — Port - interface String — Interface - natsConnectionName String — NATS connection name (should be equal to Windows-based OSI Agent setting) - natsRequestTimeout SignedInteger — Request timeout, ms - browseRequestItemsCount SignedInteger — Browse request items count - enableTLS SignedInteger — Enable TLS Authentication Options: 0, 1 - TLScert String — Certificate (PEM) - user String — User - password String — Password - name String — This is a Device Name.

Optional properties: - bulkEventsItemsCount SignedInteger — Bulk events items count - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My OSI Agent Advanced Device (No TLS)",
    "Description": "",
    "DriverID": "41EFEEDE-E2C6-4D34-AD6C-2442A8D9B2B2",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkPort",
        "Value": "4777"
      },
      {
        "Key": "interface",
        "Value": "0.0.0.0"
      },
      {
        "Key": "natsConnectionName",
        "Value": "OSIAgent"
      },
      {
        "Key": "natsRequestTimeout",
        "Value": "5000"
      },
      {
        "Key": "browseRequestItemsCount",
        "Value": "500"
      },
      {
        "Key": "enableTLS",
        "Value": "1"
      },
      {
        "Key": "bulkEventsItemsCount",
        "Value": "5000"
      },
      {
        "Key": "user",
        "Value": "admin"
      },
      {
        "Key": "password",
        "Value": "password"
      },
      {
        "Key": "name",
        "Value": "OSI-agent-adv_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My OSI Agent Advanced Device (No TLS)",
            "DriverID": "41EFEEDE-E2C6-4D34-AD6C-2442A8D9B2B2",
            "Description": ""
        }
    }
}

Create Device - Syslog Server

POST {{edgeUrl}}/devicehub/v2

Syslog Server Driver

Browse devices supported: No
Browse tags supported: No
Driver Settings: > LogProtocol: RFC5424-> Current Syslog Protocol, RFC3164 -> Original BSD Syslog Protocol
> UDP, TCP, TLS Enpoint configuration (must enable atleast 1)
> UDP Max PDU: Must be larger than the largest message to be received
> UDP Timeout: Client connection duration/timeout
> Allow Multi Match: Keep scanning and processing log matches, even after one is found
> Stringify Int Fields: Publish keywords for Facility (0 -> "kern") & Severity (0 -> "emerg")
> Replace Empty Fields: Replaces any empty values within published payload
> Minimum Clients: Controls connection status
> Max Workers: Increases throughput and CPU usage
Tag Settings:
> Severity: Inclusive Limit (atleast as severe)
> Facility: Exact match, or "ANY"
> Wildcard: character used to indicate string matching pattern
> Hostname, Appname, MsgID, Message: String matching, described below
> Structured Data: Field matching, described below (rfc5424 only)
> Client Address: Address matching, described below
> Order: Logs processed in specified order (low->high)
> Format: Format derictives to define the published payload, described below
Tag Types:
> STRING: Published payload is string type, using format directives
> JSON: Published payload is json type, using format directives (NOTE: only pre-defined variable characters accepted)
> IGNORE: No publish payload. Always scanned before non-IGNORE tags. Overrides "AllowMultiMatch" setting. Severity limit setting is reversed (atmost as severe). Should only be used to improve performance when most logs can easily be ignored (i.e ignoring all debug level logs)

String Matching

Pattern matching string fields

String Match Types: * IsExact ("value") * BeginsWith ("prefix*") * EndsWith ("*suffix") * Contains ("*middle*") * IsEmpty ("") * IsAny ("*")

Field Matching

Structured Data Matching (2 exact key matches, delimited by Wildcard, followed by a String Match): * IsAny ("*") * IsEmpty ("") * HasField ("key") * HasParam ("key1*key2") * FieldIsEmpty ("key*") * ParamIsEmpty ("key1*key2*")

String Matching applies to the value of a data match ("key1*key2*") * ValueIsExact ("key1*key2*value") * ValueBeginsWith ("key1*key2*prefix*") * ValueEndsWith ("key1*key2**suffix") * ValueContains ("key1*key2**middle*") * ValueIsEmpty ("key1*key2*") * ValueIsAny ("key1*key2**") <- equivalent to HasParam

Address Matching

Address matching requires a valid CIDR block * 172.22.0.1/16 -> matches client IPs starting with "172.22"

Address matches starting with a wildcard are negated * *172.22.0.1/16 -> matches client IPs which do not start with "172.22"

Note that any unmasked bits in the specified CIDR range have no effect * 172.22.0.1/16 == 172.22.99.99/16

Format Directives

Custom publish payloads

Symbol Definition Type
$ A special character which indicates that a variable character will follow. A variable represents some dynamic string value. Supported variables are defined as follows: -
$L Log (Full) string (string payloads only)
$F Facility uint8 (<=23) OR keyword string
$S Severity uint8 (<=7) OR keyword string
$P Priority (Facility * 8 + Severity) uint8 (<=191)
$T Timestamp RFC3339 string
$H Hostname string
$A Appname string
$X ProcessID string
$I MessageID string
$D Structured Data string OR json object (string:string:string, rfc5424 only)
$M Message string
$V Version uint16 (>=1 && <=999, rfc5424 only)
$C Client string (IP from connection, not log)

String Format Directive Notes: * To use a special character in its literal form, enter symbol twice ($$ -> $)
Example "$$$H.$A" -> "$hostABC.appXYZ" * A special character must be followed by either itself, or one of the supported characters in the table above. Any other condition will result in an error
Example1 "$H.$A$Z" -> error
Example2 "$H.$A$" -> error
Example3 "$H.$A$#" -> error

Driver ID: E01C515A-4045-4209-A14B-614AF7061499 Group: Network Utility

Required properties: - LogProtocol SignedInteger — Log Format Definition Options: 0, 1 - UDPInterface String — UDP Interface - UDPTimeout SignedInteger — UDP Connection Timeout (s) - ServerPrivateKey String — Private Key (PEM) - UDPMaxPDU SignedInteger — Max UDP Message Size - TCPInterface String — TCP Interface - TCPPort SignedInteger — TCP Port - TLSInterface String — TLS Interface - TLSPort SignedInteger — TLS (TCP) Port - ServerCertificate String — Certificate (PEM) - UDPPort SignedInteger — UDP Port - CertificateAuthority String — CA Chain (PEM) - name String — This is a Device Name.

Optional properties: - TCPParsing SignedInteger — TCP Stream Parser Options: 0, 1, 2 - TLSParsing SignedInteger — TLS Stream Parser Options: 0, 1 - advanced SignedInteger — Show Advanced Config Options: 0, 1 - ReplaceEmptyFields String — Publish placeholder string for missing fields - MinTLSVersion SignedInteger — Minimum TLS Version Options: 0, 1, 2, 3 - RequireClientCertificate SignedInteger — Require Client CA (mTLS) Options: 0, 1 - EnableTCP SignedInteger — Enable TCP Listener Options: 0, 1 - EnableTLS SignedInteger — Enable TLS (TCP) Listener Options: 0, 1 - StringifyIntFields SignedInteger — Publish Facility & Severity as readable text in payload Options: 0, 1 - MinimumClients SignedInteger — Number of expected clients, below which server will appear "Disconnected" - EnableUDP SignedInteger — Enable UDP Listener Options: 0, 1 - AllowMultiMatch SignedInteger — Publish all matches on each received log Options: 0, 1 - MaxWorkers SignedInteger — Maximum number of logs that can be processed simultaneously - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My Syslog Server Device",
    "Description": "",
    "DriverID": "E01C515A-4045-4209-A14B-614AF7061499",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "LogProtocol",
        "Value": "0"
      },
      {
        "Key": "UDPInterface",
        "Value": "0.0.0.0"
      },
      {
        "Key": "UDPTimeout",
        "Value": "30"
      },
      {
        "Key": "advanced",
        "Value": "1"
      },
      {
        "Key": "UDPMaxPDU",
        "Value": "4096"
      },
      {
        "Key": "UDPPort",
        "Value": "514"
      },
      {
        "Key": "EnableTCP",
        "Value": "1"
      },
      {
        "Key": "EnableTLS",
        "Value": "1"
      },
      {
        "Key": "EnableUDP",
        "Value": "0"
      },
      {
        "Key": "name",
        "Value": "syslog-server_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My Syslog Server Device",
            "DriverID": "E01C515A-4045-4209-A14B-614AF7061499",
            "Description": ""
        }
    }
}

Create Device - SNMP Manager

POST {{edgeUrl}}/devicehub/v2

SNMP Manager Driver

Browse devices supported: No
Browse tags supported: Yes
Driver Settings: > Address: IP, Hostname or Endpoint (Port setting is ignored if port is included here)
> Mib Ftp Path: path of mib files, after /var/lib/customer/ftp-data/devicehub/...
> Request Retries: # retries after failed request, Oid count will be automatically halved for each retry
> Max Oid Count: Total # of Oids allowed per single request
> Browse Order: Sort browse results alphabeticaly (by Mib defined name) or numerically (by Oid)
> Browse Column Threshold: # of consecutive & uniform child oids after which parent is considered a column of the same type
> Browse Column Maximum: Max # of rows in a column which will be displayed in browse results, after which only the final row will be shown
Miscellaneous:
> Consult device documentation to find recommended value for "Max Oid Count" setting
> GetBulk is not used in this driver

Driver ID: 4E588810-8475-4668-860A-6DA4135E8FD4 Group: Network Utility

Required properties: - Port SignedInteger — Server Port - EncryptionPassword String — SNMP V3 Encryption Password - TrapInterface String — Listener Interface - Username String — SNMP V3 Username - TrapPort SignedInteger — Listener Port - Address String — Server Address - Community String — SNMP V1/V2c Community - AuthenticationPassword String — SNMP V3 Authentication Password - name String — This is a Device Name.

Optional properties: - RequestRetries SignedInteger — Request Retries - advanced SignedInteger — Show Advanced Config Options: 0, 1 - SNMPVersion SignedInteger Options: 0, 1, 2 - ContextName String — SNMP V3 Message Context - AuthenticationType SignedInteger — SNMP V3 Authentication Type Options: 0, 1, 2, 3, 4, 5, 6 - EnableTrapListener SignedInteger — Enable SNMP Trap Listener Options: 0, 1 - TrapTransport SignedInteger — Listener Transport Type Options: 0, 1 - MIBPath String — FTP path for MIB files created within 'devicehub/...' - RequestTimeout SignedInteger — Request Timeout (ms) - MaxOIDCount SignedInteger — Max number of Oids in a single request - Transport SignedInteger — Transport Type Options: 0, 1 - EncryptionType SignedInteger — SNMP V3 Encryption Type Options: 0, 1, 2, 3, 4, 5, 6 - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My SNMP Manager Device",
    "Description": "",
    "DriverID": "4E588810-8475-4668-860A-6DA4135E8FD4",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "Port",
        "Value": "161"
      },
      {
        "Key": "advanced",
        "Value": "1"
      },
      {
        "Key": "SNMPVersion",
        "Value": "1"
      },
      {
        "Key": "EnableTrapListener",
        "Value": "1"
      },
      {
        "Key": "MIBPath",
        "Value": ""
      },
      {
        "Key": "Transport",
        "Value": "1"
      },
      {
        "Key": "Address",
        "Value": "192.168.1.100"
      },
      {
        "Key": "Community",
        "Value": "private"
      },
      {
        "Key": "name",
        "Value": "snmp-manager_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My SNMP Manager Device",
            "DriverID": "4E588810-8475-4668-860A-6DA4135E8FD4",
            "Description": ""
        }
    }
}

Create Device - DeviceHub Agent

POST {{edgeUrl}}/devicehub/v2

DeviceHub Agent

Prerequisites: Install DeviceHub Agent and connect to an OPC Classic Server
Required fields: Network Address
Network Port
Data Validity Period
Browse devices supported: No
Browse tags supported: Yes

Driver ID: 6C3031AE-E667-4849-A302-6D074FE5DFD3 Group: OPCUA

Required properties: - networkAddress String — Listen host (Caution! If unsure set it to 0.0.0.0) - networkPort SignedInteger — Listen port - dataValidityPeriod SignedInteger — The time period after which the data become invalid - name String — This is a Device Name.

Optional properties: - description String — This is a description of device.

Request Body

GraphQL Query

mutation CreateDevice($input: CreateDeviceRequest!) {
  CreateDevice(input: $input) {
    ID
    Name
    DriverID
    Description
  }
}

Variables

{
  "input": {
    "Name": "My DeviceHub Agent Device",
    "Description": "",
    "DriverID": "6C3031AE-E667-4849-A302-6D074FE5DFD3",
    "AliasTopics": false,
    "Debug": false,
    "MetaData": [],
    "StoppedState": false,
    "StatusRegister": null,
    "Properties": [
      {
        "Key": "networkAddress",
        "Value": "0.0.0.0"
      },
      {
        "Key": "networkPort",
        "Value": "41250"
      },
      {
        "Key": "dataValidityPeriod",
        "Value": "60"
      },
      {
        "Key": "name",
        "Value": "devicehub-agent_device"
      },
      {
        "Key": "description",
        "Value": ""
      }
    ]
  }
}

Response

Status: 200 OK

{
    "data": {
        "CreateDevice": {
            "ID": "<generated-uuid>",
            "Name": "My DeviceHub Agent Device",
            "DriverID": "6C3031AE-E667-4849-A302-6D074FE5DFD3",
            "Description": ""
        }
    }
}

View this page as Markdown