Protokolle / Binärformate

MQTT Topic-Matchermit Erklärung pro Topic

Geben Sie einen Abo-Filter und pro Zeile einen veröffentlichten Topic-Namen ein; wählen Sie Version und Szenario.

MQTT Topic-Matcher

Abo-Topic-Filter

Veröffentlichte Topic-Namen

Treffer je Zeile

Filter und Topics bleiben in diesem Browser. Es wird keine Broker-Verbindung hergestellt.

Protokoll und Zustellung

+ ersetzt eine ganze Ebene; # darf nur die letzte ganze Ebene sein. Topic-Namen dürfen keine Wildcards enthalten.

Ein Filter und höchstens 1.000 Topic-Zeilen. Nur leere Zeilen entfallen; Leerzeichen und leere Ebenen bleiben.

Filter und Topics eingeben, um zu beginnen.

Wenn ein Gerät veröffentlicht, aber ein Abo nichts empfängt, zeigt der MQTT Topic-Matcher Unterschiede bei Ebenen, Großschreibung, Schrägstrichen und $-Systemtopics. Die Namen werden nicht bereinigt oder normalisiert.

Prüfen Sie viele veröffentlichte Namen in einem Lauf. Ein passender Topic-Filter und die anfängliche Zustellung einer bereits gespeicherten Retained Message sind verschiedene Fragen, vor allem bei MQTT-5-Shared-Subscriptions.

Warum den MQTT Topic-Matcher nutzen?

Treffer im Filter und Zustellung getrennt beurteilen.

Grenzen der Wildcards sichtbar machen

Der MQTT Topic-Matcher zeigt, dass + genau eine Ebene belegt und ein abschließendes # auch den übergeordneten Topic-Namen abdeckt. Leere Ebenen und $-Topics bleiben unverändert.

Verzweigter Topic-Baum, in dem eine Route eine Ebene und die andere den Elternknoten samt Kindern abdeckt

Retain und Shared Subscription unterscheiden

Ein Filter kann zu einer gespeicherten Nachricht passen, obwohl ein neues Mitglied einer MQTT-5-Shared-Subscription keine alte Retained Message erhält. Der Bericht trennt beide Aussagen pro Zeile.

Zwei passende Abo-Wege für ein gespeichertes Topic; nur das normale Abo erhält die alte Nachricht

Drei Prüfungen vor dem Abonnieren

01

Schreibweise unverändert einfügen

Übernehmen Sie veröffentlichte Namen zeilenweise. Groß- und Kleinschreibung, Leerzeichen und führende oder doppelte Schrägstriche ändern den Topic-Namen; nur völlig leere Trennzeilen entfallen.

  • Das Wildcard-Beispiel zeigt, warum + eine leere Ebene treffen kann.
02

Version und Zeitpunkt wählen

MQTT 5 erkennt $share/Gruppe/Filter; 3.1.1 hat dafür keine Standardsyntax. Der Retain-Modus fragt nur nach der ersten Zustellung bereits gespeicherter Nachrichten an ein neues Abo.

  • Das Shared-Beispiel stellt MQTT 5 und den Retain-Modus zusammen ein.
03

Erste abweichende Ebene lesen

Bei Nichttreffern nennt der Bericht die erste abweichende Ebene. Bei gemeinsam genutzten Retain-Abos zeigt er Regel-Treffer trotz ausbleibender Anfangszustellung. Veraltete Ergebnisse lassen sich nicht exportieren.

  • Nach Abschalten der Automatik startet Strg/Cmd+Enter den Test.

So arbeitet der Filter im Detail

Wildcard-Regeln je Ebene

Sie können MQTT Wildcards testen: + ersetzt eine ganze Ebene, # steht nur am Ende und umfasst auch den Elternknoten. Ein glob-Muster mit * oder ? erhält keine Sonderbedeutung.

Viele Topics, ein Filter

Mit dem Bericht können Sie einen Topic-Filter prüfen und bis zu 1.000 Namen vergleichen. Originale Zeilennummern bleiben erhalten; ungültige Namen zählen nicht als normale Fehlmatches.

Gemeinsame Abos nach Version

MQTT 5 entfernt $share/Gruppe/ vor dem Vergleich. In 3.1.1 bleibt es wörtlicher Text; Broker-Erweiterungen und die Auswahl eines Gruppenmitglieds werden nicht vorhergesagt.

Grenzen der lokalen Vorhersage

Ein Topic-Name ist kein glob
Nur ganze + Ebenen und ein letztes # sind Wildcards im Abo-Filter. Veröffentlichte Namen mit diesen Zeichen sind ungültig; ein führendes Wildcard erfasst kein $SYS-Topic.
Shared Subscription gehört zu MQTT 5
Unter 3.1.1 wird $share wörtlich verglichen. Ein Broker kann eigene Erweiterungen anbieten, aber dieser Test kann deren Verhalten ohne Verbindung nicht behaupten.
Retain-Modus betrifft neue Abos
Jede Zeile steht für eine bereits gespeicherte Retained Message. Normale MQTT-5-Abos nehmen Retain Handling 0 an; QoS, Sitzungen, Löschung und spätere Publikationen bleiben außen vor.
Keine Prüfung von ACL oder Broker
Der MQTT Topic-Matcher verbindet sich mit keinem Broker und prüft weder Rechte noch echte Zustellung. Ein lokaler Treffer beweist keine akzeptierte Subscription.

Fragen zum MQTT Topic-Matcher

Was ist der Unterschied zwischen MQTT Topic Name und Topic Filter?

Ein veröffentlichter Topic Name ist ein konkretes Ziel und darf keine Wildcards enthalten. Nur der abonnierte Filter kann mit + und # mehrere Namen auswählen.

Wann passt die + Wildcard zu einem Topic?

+ ersetzt genau eine ganze Ebene, auch eine leere zwischen Schrägstrichen. sport/+ passt daher zu sport/, nicht aber zu sport ohne den Schrägstrich.

Darf die # Wildcard mitten im Topic-Filter stehen?

Nein. # muss die letzte vollständige Ebene sein. Ein Filter wie sensor/#/temp wird mit der Zeichenposition zurückgewiesen.

Warum empfängt mein Abo keine Nachrichten vom Topic?

Prüfen Sie zuerst Schreibweise, Ebenentiefe und die $-Ausnahme im Bericht. Eine passende Regel beweist jedoch keine ACL-Freigabe, Verbindung oder tatsächliche Broker-Zustellung.

Kann ein Filter mit # auch System-Topics mit $ empfangen?

Ein Filter, der mit # beginnt, trifft kein $-Topic. Verwenden Sie für Systemnachrichten einen ausdrücklichen Filter wie $SYS/# und testen Sie ihn getrennt.

Noch eine Frage zum Treffer?

MQTT Topic-Matcher jetzt verwenden

Kehren Sie mit einem echten Filter und Ihrer Topic-Liste zum MQTT Topic-Matcher zurück; Retain brauchen Sie nur für die erste Zustellung bereits gespeicherter Nachrichten.

Der Vergleich läuft vollständig im Browser.