Options
All
  • Public
  • Public/Protected
  • All
Menu

Class OpcuaMqttController

Connect to OPC UA server and map OPC UA variables to raw (non-Coaty) MQTT messages.

Each value of a monitored OPC UA data source is published on its associated MQTT topic with the data value as its payload. Topic mappings are configured on a controller option named opcuaMqttOptions which must implement the OpcuaMqttOptions interface.

By default, OPC UA data values are serialized as UTF-8 encoded JSON message payloads. You can implement a specific data value coercion (e.g. as a binary payload) by defining a coerceValue function in the associated OpcuaDataSource.

remarks

This controller only runs in a Node.js runtime, not in a browser.

Hierarchy

  • Controller
    • OpcuaMqttController

Implements

  • IController

Index

Constructors

constructor

  • new OpcuaMqttController(_container: Container, _options: ControllerOptions, _controllerName: string): OpcuaMqttController
  • internal

    For internal use in framework only.

    Never instantiate Controller objects in your application; they are created automatically by dependency injection.

    Parameters

    • _container: Container
    • _options: ControllerOptions
    • _controllerName: string

    Returns OpcuaMqttController

Accessors

communicationManager

  • get communicationManager(): CommunicationManager

container

  • get container(): Container
  • Gets the container object of this controller.

    Returns Container

options

  • get options(): Readonly<ControllerOptions>
  • Gets the controller's options as specified in the configuration options.

    Returns Readonly<ControllerOptions>

registeredName

  • get registeredName(): string
  • Gets the registered name of this controller.

    The registered name is either defined by the corresponding key in the Components.controllers object in the container configuration, or by invoking Container.registerController method with this name.

    Returns string

runtime

  • get runtime(): Runtime
  • Gets the container's Runtime object.

    Returns Runtime

Methods

Protected extendLogObject

  • extendLogObject(log: Log): void
  • Whenever one of the controller's log methods (e.g. logDebug, logInfo, logWarning, logError, logFatal) is called by application code, the controller creates a Log object with appropriate property values and passes it to this method before advertising it.

    You can override this method to additionally set certain properties (such as LogHost.hostname or Log.logLabels). Ensure that super.extendLogObject is called in your override. The base method does nothing.

    Parameters

    • log: Log

      log object to be extended before being advertised

    Returns void

logDebug

  • logDebug(message: string, ...tags: string[]): void
  • Advertise a Log object for debugging purposes.

    Parameters

    • message: string

      a debug message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

logError

  • logError(error: any, message: string, ...tags: string[]): void
  • Advertise a Log object for an error.

    Parameters

    • error: any

      an error (object)

    • message: string

      additional error message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

logErrorWithStacktrace

  • logErrorWithStacktrace(error: any, message: string, ...tags: string[]): void
  • Advertise a Log object for an error with stacktrace information.

    Parameters

    • error: any

      an error (object)

    • message: string

      additional error message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

logFatal

  • logFatal(error: any, message: string, ...tags: string[]): void
  • Advertise a Log object for a fatal error.

    Parameters

    • error: any

      an error (object)

    • message: string

      additional error message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

logInfo

  • logInfo(message: string, ...tags: string[]): void
  • Advertise an informational Log object.

    Parameters

    • message: string

      an informational message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

logWarning

  • logWarning(message: string, ...tags: string[]): void
  • Advertise a Log object for a warning.

    Parameters

    • message: string

      a warning message

    • Rest ...tags: string[]

      any number of log tags

    Returns void

onCommunicationManagerStarting

  • onCommunicationManagerStarting(): void

onCommunicationManagerStopping

  • onCommunicationManagerStopping(): void

onDispose

  • onDispose(): void

onInit

  • onInit(): void

Protected traceOpcuaError

  • traceOpcuaError(error: any): void
  • Overwrite this method to define how internal OPC UA errors within this controller should be traced.

    By default, OPC UA errors are logged on the console.

    Do not call this method in your application code, it is called by this controller internally.

    Parameters

    • error: any

      an OPC UA error

    Returns void

Generated using TypeDoc