Skip to main content

Custom Properties Reference

allowCustomNamespacesQos1​

By default, MQTT Engine subscribes to Custom Namespace topics using QoS 0.

Enabling the allowCustomNamespacesQos1 custom property allows Custom Namespace subscriptions to use QoS 1, providing at-least-once message delivery for non-Sparkplug MQTT topics.

Note

This feature applies only to Custom Namespaces. Sparkplug Host Applications do not support QoS 1 subscriptions.

Version Availability

  • Ignition 7: MQTT Engine 3.4.10 or later
  • Ignition 8: MQTT Engine 4.0.4 or later

Enable QoS 1 Support​

On the MQTT Engine > General configuration page, under Advanced, set Custom Properties to:

{
"allowCustomNamespacesQos1": true
}

After saving the configuration, two additional configuration options become available:

  • Clean Session on Servers > Advanced
  • QoS 1 on Namespaces > Custom > General > Optional

(Insert image showing the Custom Properties configuration.)


Configure QoS 1 Subscriptions​

To enable QoS 1 subscriptions with retained messages:

  1. Configure a Client ID on Servers > Advanced.
  2. Clear the Clean Session checkbox.
  3. Open Namespaces > Custom > General.
  4. Enable the QoS 1 option.

(Insert image showing the Clean Session option.)

(Insert image showing the QoS 1 checkbox.)


Verification​

To verify that a Custom Namespace is subscribing with QoS1:

  1. Enable DEBUG logging for EngineServersSettings in the Ignition Gateway Logs.
  2. Save the Custom Namespace configuration.

The log should contain a message similar to:

Subscribing on topic: abc/# with QoS1

Notes​

  • If Client ID is empty or Clean Session is enabled, the QoS 1 setting is ignored and an error is logged.
  • Non-clean sessions and in-flight messages are not persisted to disk. If MQTT Engine or Ignition is restarted, queued messages are not delivered until the client reconnects using the same Client ID.
  • Deleting a Custom Namespace configured for QoS 1 unsubscribes MQTT Engine from the MQTT Server. Messages published while the namespace is deleted are not retained for later delivery.