# MQTT > Symcon documentation · English · generated on 2026-09-26 > Index: https://www.symcon.de/en/llms.txt Source: https://www.symcon.de/en/service/documentation/module-reference/devices/mqtt/ MQTT is an open message protocol for machine-to-machine communication (M2M). In this context, IP-Symcon acts both as a server (broker) and as a client. > **Note:** The following devices are supported by IP-Symcon: > > [Supported Devices](mqtt.md) ### Integration in IP-Symcon IP-Symcon both clients and servers (brokers) are available for using MQTT. [Configure a MQTT-Server](mqtt.md) [Configure a MQTT-Client](mqtt.md) ## Device list Source: https://www.symcon.de/en/service/documentation/module-reference/devices/mqtt/device-list/ ### Supported Gateways/Components IP-Symcon supports all MQTT client devices. ### Supported Features #### Since IP-Symcon 5.1 * MQTT 3.1/3.1.1 compatible * Clients can connect/disconnect * Clients can send messages on topics (QoS 0-2) * Clients can subscribe to topics (including filters +/#) (These are always sent with QoS 0) * Clients can authenticate with username/password #### Since IP-Symcon 5.3 * Retain (persistent since 5.5) * Session Management (See timeout and queue limit settings in the server) * Last Will/Testament * Publish of a client is only evaluated in IP-Symcon and not forwarded to the other clients #### Since IP-Symcon 5.5 * Persistent retain * MQTT clients * TLS (Server Sockets) * Keep Alive (+ Last Will send on timeout) #### Currently missing functions The following functions are missing but planned * QoS 1-2 when sending ## MQTT Client Source: https://www.symcon.de/en/service/documentation/module-reference/devices/mqtt/mqtt-client/ MQTT clients subscribe to an MQTT server and can receive and display values from it. ### Setup video-tutorial [Video](https://www.youtube.com/embed/dVMgHm5LeX0?rel=0&cc_load_policy=1) ### Integration in IP-Symcon In order to enable easy and convenient integration, it is recommended to use the [Configurator](../concepts.md) for the MQTT client. This can be added in the object tree via "+"->"Instance" via the "MQTT Configurator" quick filter. The desired subscriptions can be created in the instance configuration of the associated MQTT client (gateway). A "#" is the standard and all data of the MQTT server is subscribed to. In the instance configuration of the associated client socket the host address and the port can be defined and the connection activated. The port must be identical to the port of the MQTT server. After setting up the MQTT client configurator, the next step is to add and create device instances. #### Adding Devices The client receives the values of the subscribed topics of the MQTT server. The configurator can read this data and displays all the topics that have reported. "Refresh" updates the display of all received topics and their last received user data. The selected instance can be created via "Create". The MQTT client has a preconfigured ClientID. The username and password must match those of the server. ![Configuration](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/mqtt/mqtt-client/38e223e7c4-1790424938/mqtt-client-config.png) > **Note:** If the "#" is entered as a subscription, all topics of an MQTT server are received. Messages can then be sent to the MQTT server via the configurator or manually created devices. This then forwards it to all other clients. ![Instance](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/mqtt/mqtt-client/b0e5b781ba-1790424938/mqtt-client-instanceconfig.png) ### Example Script example for publishing a value on a topic. The topic is defined by the MQTT device instance. ```php //Publish of "AGreatValueForPublishing" to the variable with ID 12345 RequestAction(12345, "A great value for publishing"); ``` ## MQTT-Server Source: https://www.symcon.de/en/service/documentation/module-reference/devices/mqtt/mqtt-server/ The MQTT-Server in IP-Symcon acts as a so-called MQTT-Broker. Clients can register with this and get their data from this. ### Setup video-tutorial [Video](https://www.youtube.com/embed/5msmo1JSxSo?rel=0&cc_load_policy=1) ### Integration in IP-Symcon In order to enable easy and convenient integration, it is recommended to use the [Configurator](../concepts.md) for MQTT-Servers. This can be added in the object tree via "+"->"Instance" via the "MQTT Server" quick filter. IP-Symcon acts as an MQTT-Server (broker) and requires an open server socket interface for this. In the instance configuration of the associated server socket the port can be defined and the connection activated. Furthermore, a user name and can be specified in the instance configuration of the MQTT-Server. The MQTT clients must then send to the configured port. After setting up the MQTT configurator, the next step is to add and create device instances. #### Adding Devices The server (broker) receives the values and properties of the MQTT devices. The configurator can read this data and displays all devices that have reported. If a device is not to be displayed, it must be ensured that this device has sent a message to the server. "Refresh" updates the display of all received topics and their last received user data. The selected instance can be created via "Create". ![Configurator](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/mqtt/mqtt-server/d1c2e880a7-1790424938/mqtt-configurator.png) The configurator creates the path of the topic with the appropriate categories and the user data variable of the "String" data type. If a different data type is required, this can be changed in the instance. ![Object tree](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/mqtt/mqtt-server/31969eac93-1790424938/mqtt-objects.png) ![Instance](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/geraete/mqtt/mqtt-server/e110d44f6b-1790424938/mqtt-instanceconfig.png) > **Note:** Devices that can only receive ("subscribe") and not send ("publish") cannot be created using the configurator, as it never receives anything from the devices. For these devices, an MQTT-Device must be created, a topic entered and a data type specified. (See also: [Create instance](../how-to.md)) ### Example Script example for publishing a value on a topic. The topic is defined by the MQTT device instance. ```php //Publish of "AGreatValueForPublishing" to the variable with ID 12345 RequestAction(12345, "A great value for publishing"); ```