Lektion 3.4 MQTT Explorer
MQTT Explorer ist ein kostenloses Desktop-Tool zum Publizieren und Subskribieren von MQTT-Topics. Es ist der schnellste Weg, den MQTT-Broker der IoT-Plattform zu testen – um Daten in die IoT-Plattform zu senden (ein Gerät zu erstellen/aktualisieren) und zu beobachten, welche Daten die IoT-Plattform herausveröffentlicht. Mehrere frühere Lektionen (2.0, 2.3, 2.9) verwenden es bereits; diese Lektion fasst die wichtigste Nutzung an einem Ort zusammen.
Bevor Sie beginnen
- Installieren Sie MQTT Explorer.
- Ein Basic Credential Set (Benutzername + Passwort) – erstellen Sie eines
in Swagger (
POST /api/basic-credentials-sets); siehe Lektion 2.3. - Ein Reserved MQTT Topic der Form
yggio/generic/v2/<Ihre-eindeutige-ID>(senden Sie einPOSTan den Reserved-Topic-Endpunkt in Swagger).
Mit dem MQTT-Broker der IoT-Plattform verbinden
Erstellen Sie in MQTT Explorer eine neue Verbindung:
- Host:
mqtt.staging.yggio.net - Port:
8883 - Encryption (TLS): an, und Validate certificate: an.
- Username / Password: Ihr Basic Credential Set.
- Die Standard-Topics korrigieren (dies jedes Mal tun): Öffnen Sie
Advanced, löschen Sie die Einträge
#und$SYS/#und fügen Sie stattdessen Ihr eigenes Topic hinzu (Ihr reserviertes Topic oder Ihr User-Output-Topic). Die IoT-Plattform gewährt keinen Zugriff auf die Broker-Wurzel, daher schlägt die Subscription fehl, wenn#/$SYS/#stehen bleiben. - Klicken Sie auf Connect.

Der häufigste Fehler mit MQTT Explorer. Es ist standardmäßig auf
#und$SYS/#abonniert, doch dafür sind Broker-Root-Rechte nötig, die die IoT-Plattform nicht vergibt – daher wirkt die Verbindung, als "funktioniere sie nicht". Gehen Sie immer zu Advanced, entfernen Sie#und$SYS/#und abonnieren Sie stattdessen Ihr eigenes Topic.
Publizieren und Subskribieren müssen dieselben MQTT-Zugangsdaten verwenden. Um ein anderes Basic Credential Set zu nutzen, erstellen Sie eine separate Verbindung.
Übung 1 – Daten in die IoT-Plattform publizieren (ein Gerät erstellen)
Das Publizieren auf ein reserviertes generisches Topic erstellt/aktualisiert automatisch ein Gerät.
- Setzen Sie im Publish-Panel das Topic auf Ihr reserviertes Topic,
yggio/generic/v2/<Ihre-eindeutige-ID>. - Setzen Sie den Typ auf raw / JSON und geben Sie eine Payload ein:
{ "temperature": 22, "relativeHumidity": 48 }
- Klicken Sie auf Publish.
- In der IoT-Plattform erscheint innerhalb einer Minute ein Gerät namens
MQTT-<Ihr reserviertes Topic>mittemperatureundrelativeHumidity.
Sie müssen Subtopics nicht reservieren. Wenn Sie auf
yggio/generic/v2/<id>/statuspublizieren, wirdstatuszu einem verschachtelten Objekt auf dem Gerät.
Übung 2 – Daten subskribieren, die die IoT-Plattform publiziert
Um Daten zu beobachten, die die IoT-Plattform über einen Channel sendet (siehe Lektion 2.9):
- Stellen Sie sicher, dass die Verbindung Ihr Topic abonniert hat (nicht
#) – falls Sie den Advanced-Schritt beim Verbinden übersprungen haben, bearbeiten Sie die Verbindung jetzt und korrigieren Sie es. - Verwenden Sie Ihr reserviertes/Output-Topic, z. B.
yggio/generic/v2/<Ihr reserviertes Topic>(oderyggio/output/v2/<Ihre UserID>/#für User-Output – dies ist auf Ihren eigenen Benutzer beschränkt und daher erlaubt, im Gegensatz zum Broker-Root#). - Während die Plattform publiziert, erscheinen die Nachrichten live im Topic-Baum – klappen Sie ein Topic auf, um das exakte JSON und den Ankunftszeitpunkt zu sehen.

Fehlersuche – auf welcher Seite gehen die Daten verloren?
MQTT Explorer ist ein nachweislich funktionierender MQTT-Client und daher der schnellste Weg, um zu belegen, welche Seite einer Integration fehlerhaft ist. Verwenden Sie es je nach Richtung des Datenflusses unterschiedlich: Daten, die in die Plattform gehen, oder Daten, die aus ihr herauskommen.
Eingehend – Ihr System publiziert, in der Plattform erscheint nichts
Dies ist der häufigste MQTT-Support-Fall. Abonnieren Sie MQTT Explorer auf
dasselbe Topic, auf das Ihr System publiziert (yggio/generic/v2/<id>), mit
demselben Basic Credential Set, und lösen Sie dann Ihr System aus:
- In MQTT Explorer erscheint nichts → Ihr System hat tatsächlich nie zum Broker publiziert. Der Fehler liegt in Ihrem System – falsches Topic, falsche Zugangsdaten, falscher Port/TLS, oder es publiziert schlicht nicht. Die Plattform ist in Ordnung.
- Es erscheint in MQTT Explorer, aber in der Plattform tauchen kein Gerät oder keine Werte auf → die Daten haben den Broker erreicht, es ist also ein Payload-Problem, das die Plattform ablehnt: ungültiges JSON, eine Struktur, die die Plattform nicht akzeptiert, oder ein ungültiger/nicht erkannter Feldname. Korrigieren Sie die Payload und publizieren Sie erneut.
Um zu bestätigen, dass der Pfad Broker → Plattform selbst funktionsfähig ist,
publizieren Sie einen bekannt guten Test über das Publish-Panel –
{ "temperature": 22 } auf dieses Topic – und prüfen Sie die Geräteliste der
Plattform auf den automatisch erstellten MQTT-<Topic>-Knoten. Wenn das
funktioniert, die Nachrichten Ihres Systems aber nicht, liegt der Unterschied
in der Payload Ihres Systems.
Ausgehend – Ihr System subskribiert, empfängt nichts
Abonnieren Sie MQTT Explorer auf dasselbe Output-Topic, auf das Ihr System
hört (z. B. yggio/output/v2/<UserID>/#), mit denselben Zugangsdaten:
- Die Nachrichten erscheinen in MQTT Explorer → die Plattform publiziert korrekt und die Broker-Seite ist in Ordnung. Wenn Ihr System trotzdem nichts empfängt, liegt der Fehler in Ihrem System – falsches Topic oder falsche Zugangsdaten, oder es verarbeitet die ankommenden Daten nicht richtig.
- Es erscheint nicht einmal in MQTT Explorer → die Plattform publiziert nicht auf diesem Topic. Prüfen Sie, ob der Channel bzw. die publizierende Rule eingerichtet ist (Lektion 2.9) und ob Sie das richtige Topic abonniert haben.
In jedem Fall klärt MQTT Explorer das in unter einer Minute: Wenn es die Daten sehen kann und Ihr System nicht, liegt der Fehler in Ihrem System, nicht in der Plattform.
Zusammenfassung der wichtigsten Nutzung
| Aufgabe | Topic | Hinweise |
|---|---|---|
| Daten in die IoT-Plattform senden (generisches Gerät) | yggio/generic/v2/<id> | JSON-Body; Gerät wird automatisch erstellt |
| Output eines Channels beobachten | Ihr reserviertes/Output-Topic | erfordert eine publizierende Rule (Lektion 2.9) |
| Gesamten User-Output beobachten | yggio/output/v2/<UserID>/# |
Was Sie gelernt haben
- Wie man MQTT Explorer mit dem MQTT-Broker der IoT-Plattform verbindet
(
mqtt.staging.yggio.net:8883, TLS, Basic Credential Set). - Wie man auf ein
yggio/generic/v2/...-Topic publiziert, um ein Gerät zu erstellen/aktualisieren. - Wie man subskribiert, um genau zu sehen, was die IoT-Plattform publiziert.
- Wie man MQTT Explorer als nachweislich funktionierenden Client nutzt, um einen MQTT-Fehler der richtigen Seite zuzuordnen – Ihrem System oder der Plattform – sowohl für eingehende als auch ausgehende Daten.
Wie geht es weiter
- Lektion 3.3 Node-RED – Publizieren/Subskribieren automatisieren.
- Lektion 2.9 Externes Daten-Sharing – MQTT-Channels und -Connectors.