MQTT (Modul)

Aus FHEMWiki
Version vom 21. Juni 2018, 15:37 Uhr von Beta-User (Diskussion | Beiträge) (Hinweis auf localhost eingefügt)
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 eisler (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 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>]


Info blue.png
Sofern der Broker mit FEHM über localhost kommunizieren kann, sollte als IP 127.0.0.1 verwendet werden.


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.

Anwendungsbeispiele

Links

Anmerkungen

  1. In den meisten Anwendungsfällen genügt es dabei, einen MQTT-Server zu betreiben, selbst wenn mehrere FHEM-Instanzen darauf zugreifen sollen.
  2. Dies kann z.B. ein beliebiger HM- oder Z-Wave-Aktor sein, der ein Licht einschaltet.