ℹ️ Verfügbar ab QuickHMI 14.13.1 (Enterprise-Lizenz)
Bei der Datenbereitstellung über MQTT arbeitet QuickHMI als eingebetteter MQTT-Broker. Die freigegebenen Variablen werden als MQTT-Topics veröffentlicht; MQTT-Clients können sie abonnieren und, sofern die Variable schreibbar ist, auch beschreiben. QuickHMI ist dabei selbst der Broker und benötigt keinen externen Broker.
Abgrenzung: Eine MQTT-Datenquelle ist das Gegenstück – dort verbindet sich QuickHMI als Client zu einem fremden Broker und konsumiert Daten. Bei der Datenbereitstellung ist QuickHMI der Broker.
Aktivierung
Die MQTT-Datenbereitstellung aktivieren Sie in den Projekt-Einstellungen im Bereich Datenbereitstellung, Abschnitt MQTT. Welche Variablen bereitgestellt werden, steuern Sie über die Freigabe auf Datenquellen- und Variablenebene (siehe Datenbereitstellung im Überblick).

Listener
Der Broker kann über mehrere Listener gleichzeitig erreichbar sein. Je Listener legen Sie Transport, Bind-Adresse und Port fest:
- tcp – unverschlüsseltes MQTT (Standard-Port 1883)
- tls – MQTT über TLS (Standard-Port 8883)
- ws – MQTT über WebSocket (Standard-Port 8080)
- wss – MQTT über WebSocket mit TLS (Standard-Port 8443)
Beim Wechsel des Transports schlägt der Editor den passenden Standard-Port vor, sofern Sie den Port noch nicht manuell angepasst haben. Über die Bind-Adresse (zum Beispiel 127.0.0.1 für ausschließlich lokalen Zugriff oder 0.0.0.0 für alle Netzwerkschnittstellen) steuern Sie die Erreichbarkeit.
Topic-Schema und Topic-Präfix
Jede freigegebene Variable wird unter einem eindeutigen Topic-Pfad veröffentlicht:
<Topic-Präfix>/<Datenquelle>/<Variable>/value
Zusätzlich zum Wert werden Qualität und Zeitstempel bereitgestellt:
.../value– der aktuelle Wert.../quality– die Qualität (zum Beispiel GOOD).../ts– der Zeitstempel der letzten Änderung
Das Topic-Präfix legen Sie in den Einstellungen fest. Hinweis: Variablen ohne Wert (zum Beispiel leere Zeichenketten) veröffentlichen quality und ts, aber kein value-Topic.
Fallen zwei Variablennamen nach der Topic-Bereinigung auf denselben Pfad, wird die zweite mit einer Warnung übersprungen. Verwenden Sie daher eindeutige Namen.
QoS und Retain
- QoS (Quality of Service) bestimmt die Zustellgarantie: 0 (höchstens einmal), 1 (mindestens einmal), 2 (genau einmal).
- Retain: Ist Retain aktiv, merkt sich der Broker je Topic den letzten Wert und liefert ihn neuen Abonnenten sofort. Für die Anzeigewerte einer Visualisierung ist das in der Regel sinnvoll.
Werte schreiben (Write-back)
Ist eine Variable schreibbar (ReadWrite), können MQTT-Clients ihren Wert ändern, indem sie auf das zugehörige value-Topic publizieren. QuickHMI übernimmt den Wert in die Variable. Von QuickHMI selbst veröffentlichte Nachrichten werden dabei erkannt und nicht erneut als Schreibbefehl verarbeitet.
Authentifizierung
Die Authentifizierung gilt server-weit für den gesamten Broker. Möglich sind:
- Keine – offener Zugriff.
- Anmeldung – mit Benutzername und Passwort.
- Zertifikat – gegenseitige TLS-Authentifizierung (mTLS) mit Client-Zertifikat.
Wichtig: Die Zertifikatsanmeldung ist nur mit TLS- oder WSS-Listenern zulässig. Reine tcp- oder ws-Listener können keine Client-Zertifikate tragen und werden in diesem Modus abgelehnt.
TLS und Zertifikate
Für TLS- und WSS-Listener stellt QuickHMI die Server-Identität aus dem zentralen Zertifikatsmanager bereit. Über die TLS-Zuweisungen können Sie jedem Port ein eigenes TLS-Zertifikat zuweisen; ohne Zuweisung greift das Standard-TLS-Zertifikat.
Bei der Zertifikatsanmeldung (mTLS) prüft QuickHMI das Client-Zertifikat gegen den zentralen Vertrauensspeicher. Ein noch nicht vertrautes Client-Zertifikat wird abgelehnt und erscheint im Bereich Abgelehnt. Geben Sie es dort über Vertrauen frei und starten Sie die Instanz neu; danach wird die Verbindung akzeptiert.
Lizenz
Die Datenbereitstellung ist eine Enterprise-Funktion.
