Skip to end of metadata
Go to start of metadata

Um generisch alle Readings von FHEM an den MQTT-Broker weiterzugeben (z.B. Daten von EnoceanPi), kann diese Minimalkonfiguration verwendet werden:


define lb_mosquitto MQTT loxberry:1883 loxberry <deinMQTTPasswort>
define mqttGeneric MQTT_GENERIC_BRIDGE
attr mqttGeneric IODev lb_mosquitto
attr mqttGeneric globalDefaults sub:qos=2 pub:qos=0 retain=1
attr mqttGeneric globalPublish *:topic={"fhemwohnzimmer/$device/$reading"}

Kurz-Beschreibung:

Zeile 1: lb_mosquitto ist der Name der Verbindung, und loxberry:1883 der Hostname:Port des Brokers am LoxBerry. Dahinter der Benutzer und das Passwort des MQTT-Brokers (siehst du im Plugin unter MQTT-Broker)

Zeile 2: Das GENERIC_BRIDGE Plugin wird definiert

Zeile 3: Der generischen Bridge wird die Verbindung zugeordnet

Zeile 4: Es wird mit retain=1 an den Broker übergeben, d.h. das LoxBerry MQTT Gateway erhält bei einem Neustart die letzten Daten

Zeile 5: Es wird * (alles) an das Topic fhemwohnzimmer/device/reading übergeben.


Im LoxBerry MQTT Gateway folgende Subscription erstellen: fhemwohnzimmer/#

Mit Filter-Attributen in mqttGeneric können die übermittelten Readings eingegrenzt werden (z.B. nur Temperatur), siehe Doku.


Dokumentation des FHEM mqttGeneric Moduls: https://fhem.de/commandref_DE.html#MQTT_GENERIC_BRIDGE


Nur die Readings aus einem bestimmten Raum übergeben

Damit nicht global alle Geräte senden, besteht die Möglichkeit durch einen Raum (z.B. MQTT) eine Art Filter anzulegen. Also nur die Geräte die sich im Raum MQTT befinden, senden dann noch an den Miniserver.

Dazu wird der folgende Befehl in die Commandozeile von FHEM eingegeben:

defmod mqttGeneric MQTT_GENERIC_BRIDGE mqtt room=MQTT


Rückgängig machen, um wieder alle Geräte, aus allen Räumen zu übergeben:

defmod mqttGeneric MQTT_GENERIC_BRIDGE


FHEM-Dienststatus per MQTT publishen

Der Status von FHEM selbst kann auf diese Weise an den Broker übergeben werden:


attr lb_mosquitto last-will retain:1 fhemwohnzimmer/connection/status disconnected
attr lb_mosquitto on-connect retain:1 {Log3("mqtt",3,"connected to MQTT server");;1} fhemwohnzimmer/connection/status connected
attr lb_mosquitto on-disconnect retain:1 {Log3("mqtt",3,"disconnected from MQTT server");;1} fhemwohnzimmer/connection/status disconnected

Man kann 'connected' und 'disconnected' dann mit Conversions in Zahlen übersetzen (z.B. 1 und 0), oder man übergibt statt 'connected' und 'disconnected' direkt die entsprechenden Zahlen.


  • No labels