I’m using Ignition Makers Edition (18.1.23) with MQTT Engine (4.0.18) to handle some topics of my home IoT devices. I have 8 custom namespaces defined (with all default namespaces disabled). If I add another custom namespace, some of the previous definitions cease to update the Ignition tags. Newly added namespace works OK, although the log entries say that subscription to the new topic failed. I have tried this with several new topics (all of them as JSON payloads), but with no success. I’m using the mossquito MQTT server. I have also tried to install the MQTT Distributor module and configure it as additional MQTT server in MQTT Engine settings, then configure some of the IoT devices to use this server, which did not solve my problem.
While we do not offer support for our modules on the Maker Edition of Ignition, I can clarify that MQTT Engine has a max of 8 subscription topics in each subscription request - if it has more than 8 subscription topics it will generate a second subscription request. Possibly Mosquito only handles one subscription request? MQTT Distribution will handle the multiple subscription requests correctly.
Thank you very much for your answer. Although I’m asking about the Makers Edition, I’m responsible for the Ignition servers in the company. Since we are currently deciding how to monitor devices that communicate via the MQTT protocol, it is important to me that we do not have any problems with this.
I tried your suggestion: I reconfigured all devices to a new MQTT server (MQTT Distributor, set up as a Ignition module) and set this server in MQTT Engine (tcp://localhost:1883). Behavior has not changed. If I add a ninth namespace rule, the MQTT Engine stops working. In the Ignition Logs view I can see two SUBSCRIBE messages from PacketHandler. Soon after, these messages apear:
EngineCallback 27Sep2023 08:16:50 Connection Lost to - Mosquitto :: tcp://localhost:1883 :: ME-7af5c803-ee39-4a08
EngineCallback 27Sep2023 08:16:50 Connection lost due to - Timed out waiting for a response from the server
TahuClient 27Sep2023 08:16:50 ME-7af5c803-ee39-4a08: on connection to Mosquitto - Failed to subscribe on [shellies/+/relay/0] with QoS=
The topic that fails to subscribe is part of the second SUBSCRIBE call.
Don’t mind the server name ‘Mosquitto’, because I use calls like system.cirruslink.engine.publish(“Mosquitto”, topic, payload, 0, True) in a couple of places and I had to keep the same server name.
Please open a ticket with our support team at email@example.com to help resolve the issue. Please download and include your Ignition logs along with your custom namepace configurations with the ticket.