wiki:MqttTopicStruktur

Version 1 (modified by Johannes Lode, 5 years ago) (diff)

--

MQTT Topic-Struktur

Topics eines Gerätes

Jedes Gerät meldet sich bei seinem Location-Broker an. Die Location-Broker sind für die verschiedenen Etagen aufgeteilt. Es sind folgende Location-Broker definiert:

  • Keller: ug-broker.mqtt.p21.net:1884
  • Erdgeschoss: eg-broker.mqtt.p21.net:1885
  • 1. Obergeschoss: og1-broker.mqtt.p21.net:1886
  • 2. Obergeschoss: og2-broker.mqtt.p21.net:1887
  • Hof/Garten: yard-broker.mqtt.p21.net:1888
  • tragbare Geräte: moving-broker.mqtt.p21.net:1889

Diese Broker sind vorerst alle auf dem selben Host realisiert, daher benötigen sie entweder unterschiedliche IP-Aliase (knappe Ressource IP-Adressen) oder unterschiedliche Port-Nummern (gewählte Option). Mehr in MqttBroker.

Diese Location-Broker werden durch (Self-)Bridging in die Gesamtstruktur abgebildet. Daher darf jedes Gerät eine sehr einfache Topic-Struktur verwenden.

Die Topic-Struktur orientiert sich an den Möglichkeiten der Tasmota-Software, weil diese die ersten Geräte stellt und bereits bewährte Strukturen abbildet.

Geräte-Topics sind folgendermaßen strukturiert:
%prefix%/%topic%/%keyword%
%prefix%/%topic%/%keyword%/%metadata%...

%prefix%
beschreibt die Datenart, es sind folgende Datenarten definiert:
  • cmd: Kommandos an das Gerät
  • log: Meldungen vom Gerät, z.B. Sensor-Werte
  • feedback: Status-Meldungen des Gerätes, i.d.R. als Reaktion auf Kommandos
  • actuator: direkter Zugriff auf einen Aktor eines Gerätes, benannt durch %keyword%
  • sensor: direkte Meldungen eines Sensors eines Gerätes, benannt durch %keyword%
%topic%
benennt das Gerät, den Sensor/Aktor, die angesprochene Gruppe etc., welches auch Ort-Informationen tragen darf, ggf. mit Topic-Separator /, so daß sich evtl. (noch ungern gesehen) tiefere Topic-Strukturen bilden
%keyword%
ist spezifisch für das Gerät, den Sensor, den Aktor, die Gruppe etc.
%metadata%
ist optional bzw. noch in Entwicklung, als Ideen stehen hier Konventionen anderer Systeme Pate, so z.B.:

Mehr Betrachtungen zum Topic-Tree unter folgenden URLs: