MQTT set up for Rio

Need some basic help with setting up Rio to publish MQTT data to a broker that is on our network (192.168.8.157:1883).

First, here is how the MQTT broker appears in NR. It is already in place and confirmed working (note we do not have any user ID or pwd required).

Second, set up various parameters being monitored by the Rio to have their data published via MQTT:

Third, set up MQTT on the Rio. This is where I need help:


What client ID, user name & pwd goes into the fields above? If my broker does not have a username, what do I put here? I can put in any name here and it lets me proceed, but am sure something else is required.

In the MQTT Base Topic field below, is RioData (as I have written here) the topic that the subscribers should enter…?

…or is DeviceOneRioData (as I have written below) the correct topic that the subscribers should enter?

FWIW, my plan is to get the data from multiple channels on the Rio. Am assuming this will come through as an array that I can then use NR to parse out.

Thanks in advance for anyone who can give me some guidance.

Node-RED and groov Manage are two totally different publishers. You don’t need both unless you are sending different data.

Put any username in the groov Manage config since you are not using it.
Leave the password blank since you are not using it.
Basic topic is part of your tag path, so put something like the location or machine name… Topic path is just something you will get a feel for your use case.
ie, my aircraft topic is satellite/person/type. Satellite is base, person is group, type is device.
I cant tell you what to put in there, just as you can suggest what to put for tracking aircraft globally and publishing their data via MQTT to my broker, but at the end of the day, I have to live with it…

Thanks, but I’m either missing something fundamental or something really tiny.

Just to be clear, I want to have the Rio (192.168.x.31) publish data to the broker (192.168.x.157). On 192.168.x.25, I have an MQTT In (subscriber) node configured to listen to the topic Furnace11/channel/type. Should I see something in the debug pane ONLY when something changes? What about a temperature value that is changing every few seconds?

Two suggestions:

  1. Have you flipped the 'Make Public" switch on the RIO points you want to publish?
  2. In Node-RED get rid of the topic for now and subscribe to the wildcard # and see whats coming in and on what topic namespace.

Is this the “Make Public” switch? (one for each channel)
image

1 Like

OK, so the wildcard # did the trick and now I can see the ALL channel data from ALL Rio devices in the MQTT In node.

What would be the MQTT path format to subscribe to just one channel, such as Furnace 11 Oil Temp (see below)?

Furnace11/channel/type/OptoMMP/Modules/Channels/Furnace 11 Oil Temp/Eu : msg.payload : number
179.831726

Looks to be the topic path I would try for sure.

EDIT: Also, its just a personal thing, but I am not a fan of spaces in topic paths, either use camelCase or under_bar to keep things sane.

Second EDIT: I always (always always always) get in the habit of changing the Node-RED debug node to ‘complete msg object’ when I use it. EVERY. TIME.
Why its not the default beats me, but by changing it you can see everything that is moving through the flow, not just the msg.payload as it is by default.

Thanks Ben. I agree on both pieces of advice…I usually never use spaces in my fields or paths, but I was moving fast and furious yesterday.

It’s all working good now. Amazing how much data flies across the wire when you use the # wildcard.

1 Like

Just a hint on this, you can always use the wildcard deeper in your path.
So for example, rather than seeing everything the broker is seeing, you can just wildcard say a given RIO, so using your example Furnace11/# will just show the tags for that Furnace.
That may calm things down and help you debug/troubleshoot rather than drowning in every tag on your broker.

Yes, I knew that and have indeed limited the data to certain pieces of equipment, devices, etc.

1 Like