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
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