MQTT (Modul): Unterschied zwischen den Versionen
K (Link auf MQTT2_DEVICE von cref auf intern umgestellt) |
(Hinweis zu MQTT2_CLIENT eingefügt) |
||
Zeile 8: | Zeile 8: | ||
== Voraussetzungen == | == Voraussetzungen == | ||
Es muss für jedes MQTT-Gateway ein Broker eingerichtet und erreichbar sein. | Es muss für jedes MQTT-Gateway ein Server (Broker) eingerichtet und erreichbar sein. | ||
Eine Anleitung zur Einrichtung eines Mosquitto-Brokers finden Sie z.B. im Artikel [[MQTT Einführung]]. | Eine Anleitung zur Einrichtung eines Mosquitto-Brokers finden Sie z.B. im Artikel [[MQTT Einführung]]. | ||
{{Hinweis|Seit August 2018 kann FHEM mit Hilfe des Moduls {{Link2CmdRef|Anker=MQTT2_SERVER|Lang=en|Label=MQTT2_SERVER}} selbst die Funktion des Brokers übernehmen. Dieser bietet zwar weniger Optionen wie ein vollwertiger Server (wie Mosquitto), ermöglicht es dafür aber, Client-Geräte mit [[MQTT2 DEVICE]] direkt in FHEM einzubinden, ohne dass dafür weitere externe Softwarekomponenten erforderlich wären.}} | {{Hinweis|Seit August 2018 kann FHEM mit Hilfe des Moduls {{Link2CmdRef|Anker=MQTT2_SERVER|Lang=en|Label=MQTT2_SERVER}} selbst die Funktion des Brokers übernehmen. Dieser bietet zwar weniger Optionen wie ein vollwertiger Server (wie Mosquitto), ermöglicht es dafür aber, Client-Geräte mit [[MQTT2 DEVICE]] direkt in FHEM einzubinden, ohne dass dafür weitere externe Softwarekomponenten erforderlich wären.}} | ||
== Begrifflichkeiten in Kürze == | == Begrifflichkeiten in Kürze == | ||
Ein Broker ist ein zentraler Serverdienst (irgendwo im Netz oder auf derselben Maschine, auf der auch FHEM läuft<ref>In den meisten Anwendungsfällen genügt es dabei, '''einen''' MQTT-Server zu betreiben, selbst wenn mehrere FHEM-Instanzen darauf zugreifen sollen.</ref>), an den Geräte ihre Informationen weitergeben (publish), und der dann dafür sorgt, dass diese Information an alle anderen Geräte weitergegeben wird, die sich dafür interessieren (subscribe). [[MQTT (Modul)|MQTT]] fungiert dabei als [[Systemübersicht#Interfaces| IO-Modul]] und organisiert die Kommunikation zwischen dem Broker und allen FHEM-Geräten, die MQTT bei diesem Server nutzen wollen. | Ein Broker ist ein zentraler Serverdienst (irgendwo im Netz oder auf derselben Maschine, auf der auch FHEM läuft<ref>In den meisten Anwendungsfällen genügt es dabei, '''einen''' MQTT-Server zu betreiben, selbst wenn mehrere FHEM-Instanzen darauf zugreifen sollen.</ref>), an den Geräte ihre Informationen weitergeben (publish), und der dann dafür sorgt, dass diese Information an alle anderen Geräte weitergegeben wird, die sich dafür interessieren (subscribe). [[MQTT (Modul)|MQTT]] fungiert dabei als [[Systemübersicht#Interfaces| IO-Modul]] und organisiert die Kommunikation zwischen dem Broker und allen FHEM-Geräten, die MQTT bei diesem Server nutzen wollen. | ||
{{Hinweis|Seit Ende 2018 steht in FHEM mit [[MQTT2_CLIENT]] ein zweites, alternatives IO-Modul zur Anbindung eines externen Servers zur Verfügung. Mit diesem können ebenfalls Client-Geräte des Typs [[MQTT2 DEVICE]] verwendet werden, ohne dass dafür weitere Perl-Bibliotheken erforderlich wären.}} | |||
== Define == | == Define == |
Version vom 18. Juni 2019, 14:15 Uhr
MQTT (Modul) | |
---|---|
Zweck / Funktion | |
Stellt als Gateway die Verbindung zu einem MQTT-Broker her | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | (Modul) EN / (Modul) DE |
Support (Forum) | MQTT |
Modulname | 00_MQTT.pm |
Ersteller | hexenmeister (Forum ) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Das Modul MQTT fungiert als Verbindung zwischen FHEM und einem MQTT Broker und repräsentiert ein MQTT Gateway. Die durch die Module MQTT_DEVICE oder MQTT_BRIDGE repräsentierten Client-Geräte sind gesondert anzulegen.
Voraussetzungen
Es muss für jedes MQTT-Gateway ein Server (Broker) eingerichtet und erreichbar sein. Eine Anleitung zur Einrichtung eines Mosquitto-Brokers finden Sie z.B. im Artikel MQTT Einführung.
Begrifflichkeiten in Kürze
Ein Broker ist ein zentraler Serverdienst (irgendwo im Netz oder auf derselben Maschine, auf der auch FHEM läuft[1]), an den Geräte ihre Informationen weitergeben (publish), und der dann dafür sorgt, dass diese Information an alle anderen Geräte weitergegeben wird, die sich dafür interessieren (subscribe). MQTT fungiert dabei als IO-Modul und organisiert die Kommunikation zwischen dem Broker und allen FHEM-Geräten, die MQTT bei diesem Server nutzen wollen.
Define
Das MQTT Gateway wird angelegt mit
define meinMQTTGW MQTT <Broker-IP>[:<Broker-Port>]
Anwendung
Danach können entsprechende Client-Devices angelegt werden, MQTT_DEVICE wird verwendet, wenn das physikalische Device (Sensor oder Aktor) über mqtt kommuniziert, wie dieses z.B. bei vielen ESP8266-basierten Geräten der Fall ist. MQTT_BRIDGE ist für den Fall, dass ein FHEM-Device[2] existiert und dieses über MQTT sicht- bzw. steuerbar gemacht werden soll.
Ergänzende Funktionen
Manche MQTT-Geräte senden Informationen im JSON-Format. Um solche Informationen in FHEM verwenden zu können, müssen sie zunächst in ein anderes Format überführt werden. Hierfür wird das Modul expandJSON benötigt.