Hi,
could somebody help me with MQTT module? In the past it worked correctly using this simple configuration:
#set zehnder device
define ZL ComfoAir /dev/ttyUSB1@9600 30
attr ZL event-min-interval .*:60
#set mqtt
define mq MQTT server:port user password
define mq_ZL MQTT_BRIDGE ZL
attr mq_ZL publishReading_Temp_EWT /user/ext_temperature
How can I make this work with the new MQTT2 module?
Thank you!
Andrea
There are some alternatives:
- use MQTT_GENERIC_BRIDGE, this is compatible with MQTT2 (MQTT_BRIDGE is not).
- use a notify, which will call "set mqtt2_client publish XX YY" or "set mqtt2_server publish XX YY"
- define an additional MQTT2_DEVICE with a setList, and set this device via notify.
In each of these cases you need an MQTT2_CLIENT or an MQTT2_SERVER
Hi rudolfkoenig,
thank you! Where can I find documentation in english to understand how to rewrite the cfg in the correct way? In fhem commandref I can see MQTT_GENERIC_BRIDGE under "Device modules" but clicking it nothing happens.
Thanks again
Both
https://fhem.de/commandref.html#MQTT_GENERIC_BRIDGE
and
https://fhem.de/commandref_modular.html#MQTT_GENERIC_BRIDGE
is working for me.
Ok, sorry.. local html commandref only doesn't work for me.
Define one, go to its FHEMWEB details page, and click on "Device specific help" in the bottom right corner.
I defined mqtt2, then I set the password with "set" directly in fhemweb
define mq MQTT2_CLIENT mqtt.dioty.co:1883
attr mq username myusername
If I execute in fhemweb the command:
defmod mqttGeneric MQTT_GENERIC_BRIDGE mqtt ZL
I receive "Cannot load module MQTT_GENERIC_BRIDGE"
Should I install something?
Probably. Did you checked the FHEM log?
Note: I am not the maintainer of this module.
Personally I would use notify (as I know _that_ module), but there are at least 120 FHEM installations using MQTT_GENERIC_BRIDGE according to our statistics, so it ought to work.
Wow, you know it better than any other :)
Could you please make me an example using notify to publish a reading of my ZL device, now that I set MQTT2_CLIENT?
#1) set zehnder device
define ZL ComfoAir /dev/ttyUSB1@9600 30
attr ZL event-min-interval .*:60
#2) define mqtt2 client
define mq MQTT2_CLIENT mqtt.dioty.co:1883
attr mq username myusername
#3) automatic publishing ZL reading using "notify" (previously "attr mq_ZL publishReading_Temp_EWT /user/ext_temperature")
???
ps. sorry for my english; in the log file nothing appears after the "Cannot load module MQTT_GENERIC_BRIDGE" message
I would try something like:define ZL_notify notify ZL:Temp_EWT.* set mq publish /user/ext_temperature $EVTPART1
Since I dont know the MQTT module, nor MQTT_BRIDGE, my example may be wrong.
I would start the Event Monitor in FHEMWEB, wait for the right event from ZL, mark the line and press "Create/modify device".
Thank you! The notify works, I see in the event monitor. I can't see the messages on the broker, but this is a different problem.
Thank so much for your help!
Have a good Sunday