# OPC UA Client Connection Properties

## `host` (string, required)

Hostname or IP of the OPC UA device

Example: `"192.168.2.60"`

## `port` (integer, required)

Port of the OPC UA device

Default: `4840`

Example: `4840`

## `resourcePath` (string)

Resource Path of the OPC UA server. Please note that this should be set to a valid value as some OPC-UA servers experience issues when connecting without one

Default: `""`

Example: `""`

## `username` (string)

Username for OPC UA server

Example: `"user"`

## `password` (string)

Password for OPC UA server

Example: `"user"`

## `timeout` (integer)

Timeout, in milliseconds

Default: `1000`

Examples: `1000`, `2000`

## `certificateFile` (string)

Absolute path to the client certificate file

Example: `"/connectware_certs/cybus_client.crt"`

## `privateKeyFile` (string)

Absolute path to the client private key file

Example: `"/connectware_certs/cybus_client.key"`

## `checkHostReachable` (boolean)

Checks if a low level TCP connection can be made to the configured host and port

Default: `false`

## `maxMonitoredItemsPerCall` (integer)

If non-zero, multiple monitoredItems (i.e. multiple endpoints/nodes) will be registered in groups of maximum size of this given number. This is a server configuration property that can be queried on the server at nodeId: ns=0;i=11714. If this value is zero, no maximum value is assumed and all endpoints will be registered in one call.

Default: `0`

## `options` (object)

Properties of the `options` object:

#### `defaultSecureTokenLifetime` (integer)

Lifetime of the secure token. Specified in milliseconds.

Default: `3600000`

#### `requestedSessionTimeout` (integer)

OPC UA sessions may survive TCP connection breaks and are only deleted if no message from a client is received within the timeout period. Specified in milliseconds.

Default: `3600000`

#### `transportTimeout` (integer)

Secure channel creating timeout, used before connecting or reconnecting to an OPC UA host. Has an impact on when a deviation is thrown as reconnect is first trying to connect to the host.

Default: `60000`

#### `endpointMustExist` (boolean)

Specifies if the connection is strictly meant for the given endpoint. If false and the endpoint doesn’t exist, a reasonable default endpoint is automatically chosen.

Default: `false`

#### `messageSecurityMode` (string, enum)

This element must be one of the following enum values:

* `None`
* `Sign`
* `SignAndEncrypt`

Default: `"None"`

#### `securityPolicy` (string, enum)

This element must be one of the following enum values:

* `Aes128_Sha256_RsaOaep`
* `Basic128`
* `Basic128Rsa15`
* `Basic192`
* `Basic192Rsa15`
* `Basic256`
* `Basic256Rsa15`
* `Basic256Sha256`
* `None`
* `PubSub_Aes128_CTR`
* `PubSub_Aes256_CTR`

Default: `"None"`

#### `watchInterval` (integer)

For observing connection breaks, a connection watchdog runs regularly. Short intervals guarantee short notice on break but lead to higher load. Specified in milliseconds

Default: `30000`

#### `connectionStrategy` (object)

If a connection attempt fails, retries will be performed with increasing delay (waiting time) in between. The following parameters control how these delays behave.

Properties of the `connectionStrategy` object:

**`maxRetry` (integer)**

Maximum number of connection retries in case of failure.

Default: `1000000000`

**`initialDelay` (integer)**

Delay (waiting time) of the first connection retry (in milliseconds). For subsequent retries, the delay will be increased by a factor of 2, and also by a potential random increase according to the parameter randomisationFactor.

Default: `1000`

**`maxDelay` (integer)**

Maximum delay (waiting time) to wait until the next retry (in milliseconds). The delay (waiting time) for any subsequent connection retry will not be larger than this value. Must be strictly greater than initialDelay.

Default: `30000`

**`randomisationFactor` (number)**

This parameter controls added randomisation to the retry attempts. Must be a number between 0 and 1. If set to 0, retries will be performed with exponentially growing delay until maxDelay. If set to 1, a maximum noise will be added to the retry delays.

Default: `0`

Additional restrictions:

* Maximum: `1`
