Only SYStoMQTT and RTL_433toMQTT gets sent to MQTT

I have deployed esp32dev-multi_receiver on a bare ESP32 module and it is awesome to see it be able to decode data and all that.

Over serial I see it is able to pick up both 433 as well as the rtl_433 signals but only the RTL_433 gets written to MQTT. I accidentally got both to write to MQTT but it stopped working after I wiped the settings.

I tried the commands in RF gateways (433mhz/315mhz) | OpenMQTTGateway v1.4.0
commands/MQTTto433 “active”:true

N: Send on /SYStoMQTT msg {“uptime”:90,“version”:“v0.9.16”,“freemem”:98776,“mqttport”:“1883”,“mqttsecure”:false,“freestack”:4632,“rssi”:-38,“SSID”:“WiFi”,“BSSID”:“C8:B5:AD:D3:08:44”,“ip”:“192.168.0.132”,“mac”:“7C:9E:BD:4B:58:84”,“actRec”:3,“mhz”:433.92,“RTLminRssi”:-82,“RTLRssi”:0,“RTLCnt”:0,“modules”:[“RF”,“RF2”,“Pilight”,“RTL_433”]}
N: [ MQTT->OMG ]: {“value”:220936,“protocol”:1,“length”:22,“delay”:322,“mhz”:433.92}

N: Send on /RTL_433toMQTT/Smoke-GS558/2677 msg {“model”:“Smoke-GS558”,“id”:2677,“unit”:16,“learn”:0,“code”:“014eb0”,“protocol”:“Wireless Smoke and Heat Detector GS 558”,“rssi”:-37,“duration”:455839}

N: [ MQTT->OMG ]: {“value”:220936,“protocol”:1,“length”:22,“delay”:324,“mhz”:433.92}
N: [ MQTT->OMG ]: {“value”:3452,“protocol”:1,“length”:16,“delay”:323,“mhz”:433.92}
N: [ MQTT->OMG ]: {“value”:881268,“protocol”:1,“length”:24,“delay”:321,“mhz”:433.92}

N: Send on /RTL_433toMQTT/Smoke-GS558/29301 msg {“model”:“Smoke-GS558”,“id”:29301,“unit”:16,“learn”:0,“code”:“2e4eb0”,“protocol”:“Wireless Smoke and Heat Detector GS 558”,“rssi”:40,“duration”:334030}

Hi @awdark, from your MQTTExplorer screenshot you seem to have been correctly receiving 433 as well as RTL_433 MQTT messages. As stated in the linked documentation above, only ever one receiver and decoder module can be active, but you can switch between them with the appropriate commands.

So in your case toggling between 433 and RTL_433 should work fine, either situation dependant or every few minutes, for regular receiving of sensor data. Also being able to see which module is active ( actRec) in the status message.

Could you also show a screenshot with the commands expanded, as the above only shows that you issues two commands, but not which.

That’s interesting. For a short while it was working to decode rtl433 messages and the ones that didn’t decode correctly would end up in the 433 category the same way the serial debug shows.

But if this is the expected behavior that’s fine I will likely stick to the 433 because I have some weird remotes that just show up as code and can’t be decoded for some odd reason.

If the LaCrosse-TX141THBv2 isn’t yours, and you are not interested in its temperature/humidity broadcasts and the Generic Remote messages from the RTL_433 decoder are not of interested to you either it’s a good idea to have a single 433 gateway, or possibly two separate 433/RTL_433 gateways.

But even if you think that the Remote messages aren’t really decoded their different values usually is enough to correctly identify different key pushes on them for further integration into some controller. At least this is how I use all my remotes, just by registering and analysing their values (and possibly protocol, length,delay for identification). Might be worth investigating a bit more with your remote.

Appreciate the input that sounds like a great idea. Right now I have an much older version of OpenMQTTgateway on a ESP8266 and one ESP32 with the latest version. I think I will set up a few more in the RTL_433 mode for fun.

I hesitate on upgrading the ESP8266 version because it was a manual compile and I had custom pin configurations. I wanted to use the prebuilt binaries but the ones included with CC1101 support do not boot without customization. (I created a issue on the github)

I noticed the topics are different from the old version where everything was in OpenMQTTGateway\433toMQTT while the newer version is on OpenMQTTGateway\433toMQTT\8\something, \24\something. I like it but my current home assistant automations don’t know to look at the sub-topics. I was able to do a wildcard # with NodeRed but I have a bit of RF automations embedded everywhere. Can sub-topics be turned off with a MQTTtoSYS command?

This was introduced with 0.9.7. As you say, it’s nice, but it does require some restructuring of controller code set up for the previous way - but for an easy quick fix, if you use pre-built binaries, any of your definitions of OpenMQTTGateway/433toMQTT being replaced by OpenMQTTGateway/433toMQTT/# should ignore the extra topic values and enable you to work with your current code.

It is only present in the pre-build binaries/environments for esp32dev-rtl_433 and esp32dev-multi_receiver, with them having ;

'-DvalueAsASubject=true' ; MQTT topic includes model and device (rtl_433) or protocol and id ( RF and PiLight )

as defined in User_config.h

// uncomment the line below to integrate msg value into the subject when receiving
//#define valueAsASubject true

Other binaries don’t have this and with your own builds you can comment/omit/delete this option to have the same previous behaviour :wink:

AFAIK this is not settable by a MQTTtoSYS command.