Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
Feature is supported for Ignition7 in MQTT Engine module version 3.4.10 or greater and for Ignition8 in MQTT Engine module 4.0.4 or greater

Usage

  1. On MQTT Engine 'General' configuration tab, under the Advanced section, set 'Custom Properties' to be the following string: {"allowCustomNamespacesQos1":true}
    Image Modified
  2. After setting the Custom Property above, two new configuration options will appear

    Clean Session: on MQTT Engine 'Servers' configuration tab, under the Advanced section
    Image Modified

    Qos1: on MQTT Engine 'Namespaces' - > 'Custom' - > 'General' configuration tab,  under the Optional section
    Image Modified

  3. To allow MQTT Engine to subscribe on QoS1 with retained, set the following:
    1. On the MQTT Engine 'Servers' configuration tab, under the Advanced section, make sure the 'Client ID' is set. This is required to configure the Clean Session option.
    2. On the MQTT Engine 'Servers' configuration tab, under the Advanced section, de-select the 'Clean Session' checkbox.

      Image Added

    3. On the MQTT Engine 'Namespaces' - > 'Custom' - > 'General' configuration tab,  under the Optional section, select the QoS1 checkbox.

      Image Added

Notes

  • You can confirm the Custom Namespace subscription is using QoS1 if you enable DEBUG level logging for EngineServersSettings through the Ignition Logs page and resave your Custom Namespace configuration.
    • You should see something like this in the logs:
      Subscribing on topic: abc/# with QoS1
  • If either the client ID is empty or clean session is true, the QoS1 setting will be ignored and an error will be logged.
  • Non-clean sessions and in-flight messages are not persisted to disk. So, if MQTT Engine or Ignition is restarted messages will not be delivered until the connection is reestablished using the same client ID used from previous connections.
  • Deleting a custom namespace with QoS1 will result in an unsubscribe to the MQTT Server. This means messages will not held by the server for later delivery to MQTT Engine during the disconnected period.