Mosquitto MQTT-Veröffentlichungsfehler

Mosquitto MQTT-Veröffentlichungsfehler

Ich versuche, eine Nachricht wie diese zu veröffentlichen:

mosquitto_pub  -h 7.18.13.43 -t "Home/#" -m "test bulb1"  -v  -u user1
-P md

CError: Invalid publish topic 'Home/#', does it contain '+' or '#'?

mosquitto_pub  -h 7.18.13.43 -t # -m "test bulb1" -u user1 -P md

Error: Invalid publish topic '#', does it contain '+' or '#'?

Ich verstehe nicht, warum ich diese Fehler bekomme...?

Antwort1

Ich bin kein Experte, aber Sie sollten „#“ auf jeden Fall durch einen tatsächlichen Themennamen ersetzen.

Wenn ich das richtig verstehe, ist # ein Platzhalterzeichen, was beim Abonnieren, aber nicht beim Veröffentlichen Sinn macht.

Dies steht auch im Einklang mit dem Fehler, den Sie erhalten.

Antwort2

Aus Erfahrung weiß ich, dass # ein MQTT-Platzhalter ist, was bedeutet, dass alle Themen (Themenhierarchieebenen), die danach kommen, ebenfalls eingeschlossen werden sollten. Tatsächlich werden Platzhalter für das Abonnieren von Themen unterstützt, nicht für das Veröffentlichen. Als ich das gleiche Problem hatte, hatte ich großes Glück, diese Lösung zu finden. Ich hoffe also wirklich, dass sie für Sie hilfreich sein wird. Wenn Sie immer noch das gleiche Problem haben, überprüfen SieMQTT veröffentlichen abonnierenfür weitere Informationen. Ich warte auf deine Antwort, Kumpel.

verwandte Informationen