|
<< Click to Display Table of Contents >> Navigation: Components > IoT > MQTT > MQTT Broker [x200] |
As a special feature compared to other brokers, the EisBaer MQTT broker contains an integrated MQTT client as well as a scalable authentication and authorization level that can be applied to the individual topic. With the integrated client, it is now possible to directly access and publish the topics of the broker without having to use an additional internal client.
However, a discovery function is not available for the internal client, since the broker must be running for the discovery. If you need this feature, you should use an EisBaer MQTT client that can connect to one or more externally running MQTT brokers that run redundantly, for example.
If a reliable, independently running MQTT broker is needed for a customer or a larger customer project, which should be externally accessible via a TLS connection, we have hosted a special, highly available redundant MQTT cluster.
Note on connections:
The IP communication ports used must be released in the firewall. By default, this is port 1883 (unencrypted) and 8883 (encrypted).
Note on licensing:
The component is charged with 200 components in the licensing (default: standard 200 topics that can be published in the broker = 200 components).
Further Topics correspond to an equal weighting as the number of components. Maximum in the calculation are 10.000 components by entering 10000 or -1 or >10000 - both for unlimited number of topics (project license Enterprise required).
Data points of the component
Name |
Type |
Function |
|---|---|---|
Number of subscribed topics (with duplicates) |
Output |
Output of the subscribed topics incl. duplicates (multiple subscribed topic) as a number. |
Number of subscribed topics (without duplicates) |
Output |
Output of the subscribed topics without duplicates as number. |
Number of known Topics |
Output |
Output of all known topics of the respective broker. |
Number of messages in retain memory |
Output |
Outputs the number of retain messages held in the broker. |
Number of connected clients |
Output |
Outputs the currently connected clients as a number. |
Reset number of published messages |
Input |
By any command, the counter for the published messages is reset. |
Broker Status |
Output |
The current status of the broker (online/offline) is output here as a boolean value. |
Client List |
Output |
Output of a list of connected clients by name, if "Output client list" was triggered. |
Driver Gateway - KNX |
Bidirectional |
Bidirectional communication interface between KNX and MQTT Broker. See Driver Gateway. |
Driver Gateway - BACnet Server |
Bidirectional |
Bidirectional communication interface between BACnet Server and MQTT Broker. See Driver Gateway. |
Driver Gateway - BACnet Client |
Bidirectional |
Bidirectional communication interface between BACnet Client and MQTT Client. See Driver Gateway. |
Driver Gateway - Modbus Master |
Bidirectional |
Bidirectional communication interface between Modbus Master and MQTT Client. See Driver Gateway. |
Output client list |
Input |
Trigger input to output the currently connected client names at the "Client List" datapoint. |
Output Client List (extended) |
Input |
Trigger input to output the currently connected clients at the datapoint "Client List". Here, in addition to the client name and their topics are output. |
Diagnosis [Text] |
Output |
Error texts are output here. These can be displayed e.g. with the component "Log window" .Attention: Diagnostic or debug outputs are only intended for error cases. Please use only with consultation of the support team! If used, these can significantly affect the performance of the service. |
Dynamic |
Folder |
The generated dynamic data points from the channel editor are created in this folder. |
Advanced Diagnostics |
Input |
(De)Activates the extended debug output. The extended diagnostics can be controlled here over different levels output-technically (e.g. at a protocol window to the output). Values of 0, 1 and 2 can be sent to this input via 8Bit and thus the outputs can be made clearer.
0 = Deactivates the extended diagnostic output 1 = Activates the output of relevant events (e.g. Connect, Disconnect, Limit outputs) without further details. Display of the IP addresses of the connected clients. 2 = Activates the complete log output incl. publish/subscribe messages of all users/clients/$SYS, if the subscription/publish messages have not been disabled in the component settings. Display of the IP addresses of the connected clients. |
Last message |
Folder |
Here all information about the last received message (most recent topic) is displayed in an itemized form as individual data points with all details. |
List of known topics |
Output |
Outputs the names of the known topics. The list is only filled as soon as a topic changes its value. |
Management |
Folder |
For EisBaer-Support only |
Plotter - Selected Topic |
Input |
Connection to the "Selected value" list selection |
Plotter - Data (csv) |
Output |
The values can be displayed using the MiniChart component (Display CSV [string]). |
Plotter - List of known topics (list view) |
Output |
Connection to the list selection "Import data from string" |
Clear Retain Memory |
Input |
When this input is triggered, all retained messages are deleted. |
Driver On/Off |
Bidirectional |
(Dis)enable the component. |
Driver Gateway - KNX |
Bidirectional |
Bidirectional communication interface between KNX and MQTT broker.See Gateway driver. |
Gateway driver - BACnet server |
Bidirectional |
Bidirectional communication interface between BACnet server and MQTT broker. See Gateway driver. |
Gateway driver - BACnet client |
Bidirectional |
Bidirectional communication interface between BACnet client and MQTT broker. See Gateway driver. |
Gateway driver - Modbus Master |
Bidirectional |
Bidirectional communication interface between Modbus master and MQTT broker. See Gateway driver. |
Unencrypted endpoint valid |
Output |
Status output whether the unencrypted endpoint (IP/port) is enabled and valid. |
Uptime (Bridge) |
Output |
Runtime of the MQTT bridge connection from start as a string in the format day.hours:minutes:seconds (00.00:00:00). |
Uptime (Bridge) [s] |
Output |
Runtime as a number in seconds, how long the bridge connection is online. |
Uptime (Broker) |
Output |
Runtime of the MQTT broker from start as a string in the format day.hours:minutes:seconds (00.00:00:00). |
Uptime (Broker) [s] |
Output |
Runtime of the broker from start as a number in seconds. |
Connection Status (Bridge) |
Output |
Outputs the current connection status as an on/off signal. |
Published messages |
Folder |
The number of messages per specified time unit is displayed here - current minute(s)/last minute(s)/hour/day/week/month/year. Quota per hour and total are also saved and reloaded at startup. |
Encrypted endpoint valid |
Output |
Status output whether the encrypted endpoint (IP/port) is enabled and valid. |
$SYS |
Folder |
SYS topics (META topics) that can be used additionally for monitoring the broker. These are automatically generated in the broker if the "Publish system statistics" property has been activated and can be called up as outputs at the component. |
Dynamic data points per topic
Name |
Type |
Function |
|---|---|---|
Payload [bytes] |
Bidirectional |
Payload is the actual transported raw data (without MQTT header) in the form of a byte array. |
Payload Profile |
Folder |
If payload profiles have been created and assigned to a topic (data type: string), an additional subfolder is created in which the inputs/outputs of the payload profile fields can be found. See below for an example of the payload profiles. |
Payload Profile (Publish JSON) |
Output |
Output of the data to be published for the set profile. |
Payload Profile (Publish Trigger) |
Input |
Triggers the publishing of the data for the set profile. Note: The port is only available if a profile has also been assigned in the Topic Channel Editor. |
QoS |
Output |
The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the delivery guarantee for a particular message. •0: "Fire-and-forget" - the packet is sent exactly once. Arrives, maybe not sometimes, analogous to the UDP protocol. Delivery: enormously fast. •1: "Acknowledgement" - the receiver confirms to the sender that the packet has been received. It is possible for a packet to arrive more than once. Delivery: very fast. •2: "Synchronised" - the parcel is guaranteed to reach the destination, and only once, but this variant generates slightly more "traffic". Delivery: somewhat slower. |
Value |
Bidirectional |
Value of the topic taking into account the defined factor in the corresponding channel editor. Please note the Publish/Subscribe setting in the channel editor for each topic. |
Timestamp |
Output |
Timestamp of the last received value. |
Properties of the component
Name |
Default |
Function |
|---|---|---|
Connection (Broker) |
... |
Parameter settings for Broker and Client. Detailed description see below - Connection (Broker) |
0 |
Using self-defined payload profiles it is possible to split JSON strings transmitted in a topic into individual sub-data points of the respective topic according to the hierarchy. A separate JSON parser is therefore no longer necessary. |
|
0 |
Since the EisBaer MQTT broker has integrated its own internal MQTT client as a special feature, the topic to be subscribed/published as well as the associated data type can be specified here for each channel. Optionally, a descriptive name can be specified, which is also displayed when the data points are created. For each topic, access can also be restricted to specific clients, provided they are present in the client list. The clients that have been entered under "Users" are displayed for selection. |
|
Authentication (Clients) |
0 |
For additional, controlled access - controlled under Authentication/Authorization (Users) - the corresponding IDs of the authorized MQTT clients can be created. |
Authentication / Authorization (Users) |
0 |
Controlled access control of clients can be defined via a specific user login as in the actual broker connection. Thus it is possible, for example, if there are defined clients (ID), to explicitly allow the respective user to access them. The option "Allow on every client" must then be deselected. Herewith an access control to the topics can be realized. |
Authorization (Client Permissions) |
0 |
In the client permission, the access of the clients can be defined for each individual topic or via wildcard (#). By default, all clients are allowed to subscribe and publish to all topics. As soon as the options are deselected, the authorization of the individual clients can be set for the respective Topics or also BaseTopics. There are use cases where certain clients are only allowed to publish but not to subscribe and vice versa. |
Connection (Bridge) |
... |
The login data of the external broker with which a bridge connection is to be established is entered here. |
Bridge Topics |
0 |
Here the topics of the external broker are subscribed, which should be forwarded to the EisBaer broker and vice versa. If all topics are to be forwarded, this can be achieved with the wildcard "#". |
Publish system statistics |
Deactivated |
SYS-Topics (META-Topics), which can be used additionally for monitoring the broker. If the property "Publish system statistics" has been activated, these are automatically generated in the broker and can be called up as outputs at the component. |
Maximum number of topics |
200 |
Set the maximum number of topics that can be published on the broker. This is also the EisBaer licensing factor. Standard 200 Topics = 200 components. Further Topics correspond to an equal weighting as the number of components. Maximum in the calculation is 10.000 components by entering >=10000 or -1 - both for unlimited number of topics (project license Enterprise required). |
Activate topic plotter |
|
If activated, the last X values are saved for each topic with a supported data point (numerical values that can be displayed as a double and transferred as a string) and displayed graphically when the topic is selected |
Number of data points to be saved |
100 |
Number of data points to be saved with activated topic plotter |
Driver On/Off |
Disabled |
(De)activate the component. |
Connection (Broker)
Designation |
Standard |
Function |
|---|---|---|
Client ID |
Any |
Unique ID or designation of the internal MQTT client of the broker. Client ID must contain at least 10 characters. |
Maximum running messages per client |
512 |
Limitation of the maximum messages that can be pending per client at the broker (max. 10000). |
Timeout [s] |
5 |
Time until a failed connection is detected. |
Allow Persistent Session |
Enabled |
Allow static and persistent sessions from clients. |
Clear retain memory at startup |
Disabled |
Retain data is not deleted when the broker is restarted. There is a special communication object for manual triggering for deletion, if necessary. |
Support Retain Message Storage |
Enabled |
This option enables the storage of retain data. |
Check Authentication |
Disabled |
(De)Enables client login. If this option is enabled, clients must authenticate to the broker using these login credentials. |
Check Authorization |
Disabled |
(En)Enables client authorization. If this option is enabled, the settings defined a) under Authentication/Authorization (Users) and b) under Authorization (Client Permissions) take effect. If this is deactivated, the set user and client authorizations are ignored. |
Admin / Password |
|
Username and password for (main administrator) access to the broker. |
Enable unencrypted endpoint |
Enabled |
Communication between client and broker is unencrypted. |
Local Interface IP |
|
Local IP address of the Broker. |
Port |
1883 |
Communication port for the unencrypted connection (default: 1883). This port must be entered in the firewall for bidirectional transmissions. |
Enable encrypted endpoint |
Enabled |
Communication is SSL/TLS encrypted. |
Local interface IP |
|
Local IP address of the broker. |
Port |
8883 |
Communication port for the encrypted connection (default 8883). This port must be entered in the firewall for bidirectional transmissions. |