MQTT (Modul): Unterschied zwischen den Versionen
K (Link auf MQTT2_DEVICE von cref auf intern umgestellt) |
(Link zu Beispielen für gen bridge eingefügt) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 5: | Zeile 5: | ||
|ModTechName=00_MQTT.pm | |ModTechName=00_MQTT.pm | ||
|ModOwner=hexenmeister ({{Link2FU|4065|Forum}}) }} | |ModOwner=hexenmeister ({{Link2FU|4065|Forum}}) }} | ||
Das Modul [[MQTT (Modul)|MQTT]] fungiert als [[Interface|Verbindung]] zwischen FHEM und einem MQTT Broker und repräsentiert ein '''''MQTT Gateway'''''. Die durch die Module [[MQTT_DEVICE]] oder {{Link2CmdRef|Anker=MQTT_BRIDGE|Lang=en|Label=MQTT_BRIDGE}} repräsentierten Client-Geräte sind gesondert anzulegen. | Das Modul [[MQTT (Modul)|MQTT]] fungiert als [[Interface|Verbindung]] zwischen FHEM und einem MQTT Broker und repräsentiert ein '''''MQTT Gateway'''''. Die durch die Module [[MQTT_DEVICE]] oder {{Link2CmdRef|Anker=MQTT_BRIDGE|Lang=en|Label=MQTT_BRIDGE}}<ref>Eine generische Lösung, um FHEM-Geräte MQTT-fähig zu machen, bietet {{Link2CmdRef|Anker=MQTT_GENERIC_BRIDGE|Lang=en|Label=MQTT_GENERIC_BRIDGE}}, das in neueren Installationen bevorzugt werden sollte.</ref> repräsentierten Client-Geräte sind gesondert anzulegen. | ||
== 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 == | ||
Zeile 36: | Zeile 36: | ||
* [[MQTT Einführung]] | * [[MQTT Einführung]] | ||
* {{Link2Forum|Topic=80416|LinkText=MQTT-Bridge als Brücke zwischen zwei FHEM-Instanzen}} | * {{Link2Forum|Topic=80416|LinkText=MQTT-Bridge als Brücke zwischen zwei FHEM-Instanzen}} | ||
* {{Link2Forum|Topic=91642|LinkText=Thread mit Anwendungsbeispielen für MQTT_GENERIC_BRIDGE}} | |||
== Anmerkungen == | == Anmerkungen == |
Version vom 18. Juni 2019, 14:26 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[1] 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[2]), 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[3] 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.
Anwendungsbeispiele
Links
- Ankündigung der MQTT Module
- MQTT Einführung
- MQTT-Bridge als Brücke zwischen zwei FHEM-Instanzen
- Thread mit Anwendungsbeispielen für MQTT_GENERIC_BRIDGE
Anmerkungen
- ↑ Eine generische Lösung, um FHEM-Geräte MQTT-fähig zu machen, bietet MQTT_GENERIC_BRIDGE, das in neueren Installationen bevorzugt werden sollte.
- ↑ In den meisten Anwendungsfällen genügt es dabei, einen MQTT-Server zu betreiben, selbst wenn mehrere FHEM-Instanzen darauf zugreifen sollen.
- ↑ Dies kann z.B. ein beliebiger HM- oder Z-Wave-Aktor sein, der ein Licht einschaltet.