MQTT
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.svg](/w/images/thumb/a/a2/X_mark.svg/20px-X_mark.svg.png)
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
- Thread, zur Entstehungsgeschichte von MQTT2_CLIENT
- Ankündigungsthread zur MQTT2-Erweiterung der MQTT_GENERIC_BRIDGE