Problem with SparkplugB connection to MQTT engine

#1

I’m a new user using ver7.9 and MQTT Engine to connect to my devices. Broker is a local Mosquitto ver 1.5.3 x64.
Problem is that the Designer Tag browser does not see anything when my devices are in the ‘spBv1.0’ namespace. No Sparkplug B nodes are shown.
My devices use Jason encoding and have no problem being seen by the engine if I create a custom namespace. The SparkplugB namespace is enabled.
When my nodes are in the spBv1.0 namespace, the Broker console shows my device pubs being published to Ignition MQTT Engine by subscription. But nothing in the tag Browser…
I am following the Sparkplug specification for topic and payload encoding.
What the heck am I missing ?
Kindly,
Kirk

0 Likes

#2

Stupid question but have you drilled down into all the folders in the tag browser. I can’t recall exactly what folder they appear under but it takes opening a few tag folders to get to where they should be. If you have published a message after opening the tag browser then press refresh just to make sure.

0 Likes

#3

I looked everywhere.
The MQTT engine configuration is quite clear about custom namespaces and I have successfully created working examples of both Json and non-Json encoding. In fact I created one with Json format and SparkplugB protocol. In a custom namespace, even that works fine, although the tree is out of whack due to the message type in the topic.
This screen shot is what I see with both a non-Json namespace(8876) and the SparkplugB namespace enabled.
image
it shows the custom namespace but not SparkplugB.

The following screenshot from the Mosquitto console shows the reception of and subscription publishing to Ignition in the “spBv1.0” namespace.
image

I’m so stuck with this, I just know it must be something simple I missed or didn’t configure. From what I can see with a spy, the contents of the Json encoded, Sparkplug vB formatted payloads are correct. Somewhere, can’t find it at the moment, I saw SparkplugB hanging off the provider tree. That’s where all the other clients are.

0 Likes

#4

I know this is a few weeks after you posted this, but these are the steps I’d look at taking.

  1. Set up Ignition with MQTT Transmission and add some tags from the built in simulator. Point it at your broker.
  2. Set up Ignition with MQTT Engine (sounds like you already have this). Verify the tags from #1 come through.
  3. Install MQTT.fx client. Connect to your broker. You should see the data coming through. MQTT.fx has a built-in SparkplugB decoder, so you should see the contents of any changing tags.
  4. Point your device with your custom SparkplugB implementation at the broker. In MQTT.fx, take a look at how your messages differ from those that are generated by the MQTT Transmission module.
1 Like