wiki:MqttTopicStruktur

MQTT Topic-Struktur

Betrachtungen zum Topic-Tree unter folgenden URLs:

Topic-Struktur des Systems

Die Topics im System sind folgendermaßen strukturiert:
%prefix%/%location%/%topic%/%keyword%
%prefix%/%location%/%topic%/%keyword%/%metadata%...
mount/%location%/%prefix%/%topic%/%keyword%...

%prefix%
beschreibt die Datenart, es sind folgende Datenarten definiert:
  • cmd: Kommandos an das Gerät
  • log: Meldungen vom Gerät, z.B. Sensor-Werte
  • connected: Meldungen zum Verbindungszustand eines Gerätes, Sensors etc.
    inspiriert durch https://github.com/mqtt-smarthome/mqtt-smarthome/blob/master/Architecture.md
  • 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.:
%location%
der physikalische Aufbauort des Gerätes, aktuell sind folgende Orte definiert
  • ug: Keller
  • eg: Erdgeschoss
  • og1: 1. Obergeschoss
  • og2: 2. Obergeschoss (Dachboden)
  • garden: Hof/Garten/Schuppen
  • roaming: tragbare Geräte

Unter mount/# werden ggf. Location-Broker gemounted und dann durch remapping in den richtigen Topic-Pfaden dargestellt.

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: roaming-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) 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%...

Last modified 5 years ago Last modified on Aug 16, 2020, 5:28:18 PM