Gibt es standardisierte MQTT-Themen?


7

Ich bin neu in MQTT (und in der Heimautomation im Allgemeinen bin ich viel mehr auf der System- und Entwicklerseite), habe einen WiFi-Switch (Sonoff Basic) geflasht, ihn mit einer Instanz von Mosquitto und Home Assistant verbunden und bis jetzt funktioniert alles einwandfrei.

Bei der Überwachung des Mosquitto-Busses sehe ich alle Arten von Nachrichten, wie z

tele/hass1/LWT Online
tele/home/room1/switch1/LWT Online
cmnd/home/room1/switch1/POWER OFF

Ich erkenne, home/room1/switch1was ich auf meinem WiFi-Switch definiert habe, und der Switch hat dann einige Themen gesendet, denen cmnd(Befehl? Das wäre überraschend, da niemand den Switch manipuliert hat) und tele(Telemetrie?) Vorangestellt sind. tele/hass1/...wird vom Home Assistant generiert.

Gibt es Standards oder allgemein anerkannte Praktiken für die Präfixe?

In der MQTT-Dokumentation wird erläutert, wie Themen formatiert werden , es wird jedoch keine Struktur eingeführt (mit Ausnahme von Themen, die mit beginnen $). Daher denke ich, dass dies im besten Fall eher eine bewährte Methode (oder ein Punkt aus der Praxis) wäre.


1
Sie erhalten Punkte /, wenn Sie Ihre Themen nicht mit einem führenden Thema beginnen. Dies ist einfach falsch, da dem Themenbaum ein zusätzliches Nullsegment hinzugefügt wird, das nicht benötigt wird, und die ordnungsgemäße Verwendung von Platzhaltern etwas erschwert.
Hardillb

Antworten:


7

Im Allgemeinen nein - es gibt keine Standards für die Benennung von Themen, die über die MQTT-Spezifikationen hinausgehen .

Es gibt viele Meinungen darüber, wie Sie Ihre MQTT-Themen erstellen sollten, und nicht viele feste Regeln . Dies ist zwar etwas beunruhigend, wenn Sie genau wissen möchten, was die beste Vorgehensweise ist, aber das Fehlen strenger Regeln bedeutet, dass Sie mit einem MQTT-Broker viel Flexibilität erhalten.

Wenn Sie den Home-Assistenten verwenden, wird dies ein wenig eingegrenzt. Insbesondere sind die Themen, die Sie sich ansehen, spezifisch für Ihren Sonoff-Switch. Die API wird in diesem Wiki beschrieben :

  • Nachricht : cmnd

    • Ausgestellt von : Geräte auf der rechten Seite

    • Absicht : Kontrolliere den Sonoff; Konfiguration einstellen; Fragen Sie nach dem Status

  • Nachricht : stat

    • Ausgestellt von : den Sonoffs auf der linken Seite

    • Absicht : Status oder Konfigurationsmeldung zurückmelden

  • Nachricht : tele

    • Ausgestellt von : einigen Sonoffs (wie Temperaturmessgeräten)

    • Absicht : In regelmäßigen Abständen unerwünschte Telemetrieinformationen melden

Das Diagramm, auf das verwiesen wird, ist hier , obwohl es am besten auf der oben verlinkten Wiki-Seite angezeigt wird.

Im Allgemeinen ist jede verwendete Hierarchie hersteller- oder systemspezifisch. Sonoff-Geräte folgen im Allgemeinen einer dokumentierten MQTT-Themenstruktur, und andere Hersteller verwenden möglicherweise etwas anderes. Nicht alle Hersteller werden ihre Produkte gut (oder überhaupt nicht!) Dokumentieren - seien Sie also vorsichtig, wenn Sie Produkte kaufen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.