Der Browser benötigt JavaScript, um die Webseite korrekt anzeigen zu können. Bitte aktivieren Sie die Scriptausführung.
The browser requires JavaScript to show this website. Please activate script execution.
Skip to main content
Search in all areas (no filter)Search in current system version (11.210)Search in all system versionsSearch in packagesSearch in FAQs
Error: missing value for parameter 'map' (index 0) (click for details)
Callstack:
    at map.remove()
    at (Template:ww/Functions/Links/RelatedPages), /content/body/pre, line 69, column 32
    at template()
    at (Template:Custom/Views/Header), /content/body/pre, line 154, column 13
    at (en/01ww/200/02admin/090svr/MQTT), /content/body/div[4]/pre[3], line 2, column 9
Loy & Hutz

MQTT

Overview

MQTT is an open protocol standardized by OASIS that enables machine-to-machine (M2M) communication. The MQTT protocol works according to the principles of the publish/subscribe model. MQTT clients can send (publish) or receive (subscribe) data. The transfer of data between the MQTT clients is usually handled by an MQTT broker.

With the MQTT module, waveware from version 11.200.5519 provides functionalities with which MQTT clients can be created in a data world-related manner. These make it possible to establish connections to MQTT brokers and carry out publish/subscribe actions. However, the MQTT client can only be created server-side.

Supported protocol versions:

Requirements and Setup

The 'MQTT' module must be activated in the license file as it is a functionality that requires a license.

To use the MQTT module in a data world, the Supervisor Option ('Module-State') "System / System (0) / Settings / MQTT / Activate MQTT Module" must be activated.

In addition, no settings are required as further configuration of the MQTT clients is carried out using rules and building blocks. However, please note that deactivating a data world (Install ID) will terminate all MQTT clients of that data world.

Secure Connections/Certificates

To create an encrypted connection between a waveware MQTT client and an endpoint (MQTT broker), the 'MqttTlsSettings' building block can be used. Client certificates that are to be communicated to the endpoint can be transmitted to the building block.

Certificates provided by the endpoint must be stored in a trusted certificate store, such as: “Trusted Root Certification Authorities Certificate Store”.

The 'MqttTlsSettings' building block also allows the option "allowUntrustedCertificates" to be set. For security reasons, this should only be set to 'False' for development and testing purposes.

Supervisor Options

The following settings require you to have administrator permissions and open the Supervisor Options in DataManagement.

Under the path

System / System (0) / Settings / MQTT

you will find settings for the MQTT module.

Module-State

In the 'Module State' area, the MQTT module can be activated or deactivated for a data world (Install ID).

1.png

If the module is deactivated, all active MQTT clients in this data world will be terminated.

Client-Related Even Executions

In this area you can specify for which clients the MQTT event rules should be called.

2.png

Possible execution options:

  • Current client
    The client under which the MQTT client was created. (Default)
  • First active client
    The first active client is determined.
  • Based on predefined list
    The execution takes place for all active clients that are entered in the predefined list. (No entries = no execution)
  • All active clients
    The execution takes place for all active clients.

The 'Predefined client list' setting must contain the IDs of the clients that are to be used when the 'Using predefined list' execution option is set.

The setting 'Always use options for client-specific execution (ignore brick input)' determines whether the behavior of client-specific execution should always apply. Normally, the execution options are only applied if no specific client information is provided when creating an MQTT client. If this option is activated, the client information specified in the building block will be ignored and the options specified here will be used.

Debug & Analysis

In this area, special settings can be specified that are helpful for troubleshooting and analysis.

3.png

The 'Enable InspectPacket Event' setting determines whether the 'InspectPacket' event should be invoked. This event is called before all other MQTT event rules and only provides the binary ("raw") data and the send direction. Normally, calling the 'InpectPacket' event should be disabled. It is only used for troubleshooting during packet transmission.

Application

An MQTT client triggers various events that can be responded to using trigger rules or incoming data can be processed.

The 'MqttRuleCallEventHandler' building block can be used to define user-specific rules that should be called instead of the standard trigger rules. These rules must be located under the 'LibServer' directory or under a 'Server' scope directory. The arguments and result should correspond to those of the standard trigger rule.

The standard and custom event rules are always executed in the context of the system user 'SYSTEMHEARTBEAT'. The rule runs on tenants specified when the MQTT client was created. Can be set via the 'MqttClient' building block, 'accosiatedClientIds' parameter or via the 'Client-Related Event Execution' Supervisor Option.

For more information and examples, see the rule trigger descriptions:

    The following are the building blocks that can be used to use the MQTT module:

      To read information from an MQTT event or an MQTT object, use the 'MqttPropertyPicker' or 'MqttPropertyDynamic' building blocks in conjunction with the 'GetMqttPropertyValue' building block.

      MQTT
      7 Changes
      36 Views