MQTT

Aus FHEMWiki
Version vom 22. Dezember 2018, 14:24 Uhr von Beta-User (Diskussion | Beiträge) (Warnung vor unbeabsichtigten Schleifen eingebaut)

MQTT ist ein Protokoll ("Message Queue Telemetry Transport"), mit dem Daten und Befehle zwischen verschiedenen Geräten ausgetauscht werden. Die Kommunikation erfolgt dabei über einen Broker, den so genannten MQTT-Broker.

MQTT wurde entwickelt, um möglichst effizient, sicher und mit wenig Datenlast zu kommunizieren.

Eine sehr kurze Einführung in MQTT

...ist auf dieser Seite hier zu finden.

FHEM und MQTT

X mark.svgBitte allgemein beachten: Bei Verwendung von MQTT ist unbedingt darauf zu achten, dass die Topic-Struktur in Sende- und Empfangsrichtung unterschiedlich ausgestaltet ist. Andernfalls kommt es ggf. zu unbeabsichtigten Schleifen!

Für die Nutzung von MQTT muss ein zentraler MQTT-Server (Broker in alter Nomenklatur) verfügbar sein. Dies kann ein separater Serverdienst wie mosquitto sein, FHEM selbst kann mit Hilfe des Moduls MQTT2_SERVER selbst die Funktion des Brokers übernehmen. Dieser bietet zwar weniger Optionen als ein vollwertiger MQTT-Server, ist jedoch für kleinere Installationen völlig ausreichend. Ein MQTT-Server kann eine Vielzahl von FHEM-Installationen bedienen[1].

MQTT2

Seit November 2018 ist es mit MQTT2_CLIENT möglich, MQTT2_DEVICE-Geräte einzurichten, ohne dass MQTT2_SERVER auf derselben Installation vorhanden sein muss. MQTT2_CLIENT kann auch mit einem klassischen Broker wie mosquitto betrieben werden.

Kurzübersicht:

a) MQTT-Gerät, z.B. ein Shelly oder Sonoff <=> MQTT2_SERVER <=> MQTT2_DEVICE

b) MQTT-Gerät, z.B. ein Shelly oder Sonoff <=> (externer) MQTT-Server, z.B. mosquitto [2] <=> MQTT2_CLIENT <=> MQTT2_DEVICE

Weitere Hinweise zur Verwendung der MQTT2-Module sind in den Praxisbeispielen zu finden.

MQTT2_SERVER und MQTT2_CLIENT ermöglichen - im Unterschied zur klassischen Einbindung - passwortgeschütze Datenübertragungen zwischen den einzelnen Komponenten.

Klassische Einbindung

Wird in obiger MQTT Einführung beschrieben, Kurzübersicht: MQTT-Gerät, z.B. ein Sonoff <=> (externer) MQTT-Server, z.B. mosquitto [3] <=> MQTT <=> MQTT_DEVICE

MQTT_GENERIC_BRIDGE

Das Modul MQTT_GENERIC_BRIDGE kann seit November 2018 mit allen drei IO-Modul-Varianten zusammen eingesetzt werden, also sowohl mit MQTT2_SERVER bzw. MQTT2_CLIENT oder MQTT

Links

Hinweise

  1. Dies gilt sowohl für einen klassichen Broker wie für einen MQTT2_SERVER.
  2. oder auch ein MQTT2_SERVER in einer anderen FHEM-Installation
  3. oder auch ein MQTT2_SERVER in einer anderen FHEM-Installation