Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Basic architecture

Image Added

Mqtt Plugin provides many features that is not exist in any Mqtt Client beside the extra features that will be provided from the BMS Server itself.

...

Mqtt Plugin will allow the BMS Server to act like Mqtt Client. BMS Server will be able to connect not only to one Mqtt Server at one time, but also will be able to many Mqtt Server simultaneously. And subscribe to different Topic from those Servers at the same time.

Get the Published messages from different topic:

Mqtt Plugin will allow BMS Server to get messages from many Servers. The incoming message will be assigned to the Mqtt Datapoint’s Value. Mqtt Datapoint represent the Subscribed Topic for a predefined Mqtt Server. Incoming messages will be directly written as a Value if the Message Type is the same as Datapoint Type. Which is already defined in the Datapoint definition. 

 Publish messages from BMS Server other technologies:

BMS Server one of the basic feature is to allow different Automation technologies to talk to each other. Integrating Mqtt Plugin in the BMS Server will allow all other technologies. It means any other technology like KNX, BACnet, Modbus, Salto, Fidelio, VinCard and any other technology in BMS Server will be able to communicate with Mqtt Datapoint. Those technologies will be able to Read and Write to Mqtt Datapoint through a Virtual Link provided from BMS Server.

Installation and Configuration:


Integration steps


After installing the Plugin, a new Menu under Modules will be added. This menu is corresponding with the configuration of the MQTT Plugin in the BMS Server


Adding a Broker:

Adding a Broker in BMS Server by choosing Broker menu. Broker Definitions tab will show up.
Definitions table allows to add as many Brokers as wanted.
Mqtt Broker handle two types of Brokers:

...

In BMS Server adding a Secure Broker can be easily done.Image Removed

Image Added


ParameterDescription

Name

The given name of the Broker in BMS Server

Path

The generated Path in Item Tree

IP address

The IP address of the Broker

Auto-Reconnect

The Reconnect time interval for the BMS Server to try to connect to the Broker if the Connection lost.

Port

Port number

Client

ID

The Client ID that will be used at Broker

Client

username

If the Broker requires Authentication with a Username and a Password.

Client Password

If the Broker requires Authentication with a Username and a Password.

TLS[]

Enable/Disable TLS Connection to the Server

TLS Version

Support many versions of TLS Connections.

*CA -Cer[]

Certificate name

CA-Password

Password for Certificate for self-signed Certificates.


Info

Certificate: The Certificate should be saved in DataFile Folder in the current Workspace, and it is enough to provide only the name of the certificate without the full path.

Non-Secure Broker:

Non-secure Broker supports only a TCP plain connection between Client and the Broker. To configure a non-secure Broker in BMS Server the IP Address and the Port usually 1883 is used.

Image RemovedImage Added

After configuring the Broker, changes must be saved and the BMS Server needs to be restarted.

Adding a Datapoint: 

In Broker definitions we added the connection configuration. But those Brokers should be represented in the BMS Server, and this Connections representation in BMS Server done by creating a Datapoint or many Datapoints for each of the Brokers. This Datapoint will make this Broker interactive and reachable in BMS Server. This Reachability will also allow other Datapoints form other Automation System like KNX or BACnet to interact with this Broker.

Image RemovedImage Added

Parameter

Description

Name

Should be the same as defined Broker Name in Broker definitions

Path

Should be the same as defined Broker Path in Broker definitions

Topic

The topic of subscription

Data type

Data type of the Value BMS has two data types: REAL or String

Port

Port number

Access mode

Read, Read and Write or Write.

Persistent

This parameter specifies whether the value of the datapoint is persistent (restored from the database after server start up) or not.

Historical

This parameter specifies whether historical values of the datapoint are stored within the database or not.

Synchronize

If this parameter is set to “True (T)”, the value is synchronized between the main and backup server (if present).


Image RemovedImage Added