Frage zu MQTT_BRIDGE und MQTT_DEVICE

Begonnen von Klausi, 28 Mai 2018, 21:25:21

Vorheriges Thema - Nächstes Thema

Klausi

Guten Abend zusammen,

ich suche Hilfe bei folgenden Anwendungsfall :

Ich habe 2 Raspi mit FHEM-Installation.
Auf beiden sind  neben anderen Modulen auch 00_MQTT.pm, 10_MQTT_BRIDGE.pm und 10_MQTT_DEVICE eingerichtet.

Ich möchte vom Raspi_2 zum Raspi_1 mittels mqtt  (vorläufig) unidirectional Daten senden.
Dazu habe ich auf Raspi_2 eine MQTT_BRIDGE  definiert.

define Mosquitto MQTT 192.168.178.24:1883
attr Mosquitto room MQTT

define MB_Q3D_Meter MQTT_BRIDGE SWU_Q3D
attr MB_Q3D_Meter IODev Mosquitto
attr MB_Q3D_Meter publish-topic-base /SWU_Q3D/
attr MB_Q3D_Meter publishReading_power /SWU_Q3D/power
attr MB_Q3D_Meter publishReading_power_L1 /SWU_Q3D/power_L1
attr MB_Q3D_Meter publishReading_power_L2 /SWU_Q3D/power_L2
attr MB_Q3D_Meter publishReading_power_L3 /SWU_Q3D/power_L3
attr MB_Q3D_Meter publishReading_state /SWU_Q3D/state
attr MB_Q3D_Meter room MQTT


Auf Raspi_1 habe ich ein MQTT_DEVICE definiert

define Mosquitto MQTT 192.168.178.27:1883
attr Mosquitto room MQTT

define MD_Q3D_Meter MQTT_DEVICE
attr MD_Q3D_Meter IODev Mosquitto
attr MD_Q3D_Meter autoSubscribeReadings /SWU_Q3D/#
attr MD_Q3D_Meter stateFormat transmission-state
attr MD_Q3D_Meter subscribeReading_power_L1 /SWU_Q3D/power_L1
attr MD_Q3D_Meter subscribeReading_power_L2 /SWU_Q3D/power_L2
attr MD_Q3D_Meter subscribeReading_power_L3 /SWU_Q3D/power_L3
attr MD_Q3D_Meter subscribeReading_power /SWU_Q3D/power
attr MD_Q3D_Meter room MQTT


und erwartete, dass die Daten, die Raspi_2 published von Raspi_1 subscribed werden.
An Raspi_1 kommen aber keine Daten an. (Mit MQTTfx an Raspi_1 beobachtet und
im Reading "transmission-state" steht kein "incoming publish received")

Von Raspi_2  werden die Daten published (mit MQTTfx an Raspi_2 beobachtet und "transmission-state"
steht "outgoing publish sent".

Was mache ich nicht richtig?

PS. Wenn ich den Umweg über NodeRed gehe kommen die Daten in Raspi_1an.
       Dort kann ich aber auch angeben von welcher IP die Daten kommen und zu welcher IP sie gehen sollen.

Vielen Dank ans Forum
         Klausi

Beta-User

Nutzt du denn wirklich unterschiedliche MQTT-Broker?
Hätte vermutet, dass es eigentlich dieselbe IP sein müßte...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Klausi

Hallo Beta-User,

mein Router teilt doch jedem Raspi eine separate IP zu.
Ausserdem bin ich der Ansicht, wenn ich nicht auf jedem Raspi Mosquitto installiere, dann kann ich kein MQTT, MQTT_BRIDGE und  MQTT_DEVICE definieren.

lg

Klausi

Beta-User

Es reicht, wenn einer der Pi's Broker ist...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Klausi

Danke für die Antworten,

wie entferne ich z.B auf Raspi_2 den Broker?

lg

Klausi

hexenmeister

Wenn Du 2 Broker einsetzt, muss Du diese im Bridge-Modus betreiben. Ist in Deinem Fall jedoch definitiv unnötig. Deinstalliere einfach einen beliebigen Mosquitto (sudo apt-get remove mosquitto) und definiere bei beiden FHEM-Instanzen den MQTT (IO-Device) in beiden Fällen mit dem selben IP von dem übrigen Broker.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Klausi

Guten Morgen zusammen,

mein Fehler war, bei der Definition von MQTT zwei verschiedene IP`s anzugeben.
Nachdem ich auch im Raspi_2 definiert habe:

define Mosquitto MQTT 192.168.178.27:1883

war das Problem gelöst.

Danke an Alle, die mich auf meinen Fehler hingewiesen haben.

lG

Klausi