Logo
Lisa Schneider
Ein Sensor schickt Temperaturwerte, und das Display zeigt trotzdem Schaltbefehle mit an. Beides landet in einem einzigen Thema, das keiner sauber abonnieren kann.

Viele denken, ein Topic sei nur eine Beschriftung und die Auswahl der Nachrichten erledigt man am besten selbst. Das klingt plausibel, weil ein flacher Name wie messwerte einfacher wirkt als eine verschachtelte Adresse.

Tatsächlich ist ein Topic die Adresse einer Nachricht im MQTT-System, dem Nachrichtenprotokoll, mit dem Geräte Daten austauschen; sie ist ähnlich aufgebaut wie ein Ordnerpfad im Dateisystem. Der Schrägstrich trennt Ebenen, und die Reihenfolge geht vom Allgemeinen zum Besonderen: haus/wohnzimmer/temperatur. Beim Abonnieren erlaubt MQTT Wildcards: das Plus steht für genau eine Ebene, die Raute für alle folgenden Ebenen und darf nur am Ende stehen.

Der Irrtum entsteht, weil Einsteiger die Hierarchie nicht gliedern und dann jede Nachricht mitlesen. Die gewünschten Werte per Textfilter selbst herauszusuchen wirkt schnell, liest dann aber jede Nachricht mit und belastet den Mikrocontroller unnötig.

Ein Sensor schreibt in haus/wohnzimmer/temperatur und haus/kueche/temperatur. Ein Display abonniert haus/+/temperatur und erhält beide Werte mit einem Abonnement. Befehle liegen getrennt in haus/wohnzimmer/relay/gesetzt, damit das Display keine Schaltbefehle empfängt.

Woran man es erkennt: Stehen Messgröße und Befehl in verschiedenen Zweigen, ist die Struktur richtig. Läuft alles durch ein flaches Topic, fehlt die Gliederung.

Topic heißt nicht eine Beschriftung für alles, sondern eine Adresse mit Ebenen. Wer gut gliedert, wählt mit Plus und Raute aus, statt selbst zu filtern.

📌 Schrägstrich als Ebene · Plus für eine Ebene · Raute für alles darunter

📚 IoT von Grund auf · Tag 5 von 30
#mqtt #iot #esp32
1 Tag vor

Noch keine Antworten!

Es scheint, dass diese Veröffentlichung noch keine Kommentare enthält. Um auf diese Veröffentlichung von Lisa Schneider zu antworten, klicken Sie unten darunter auf