WHITE PAPER
The Most Trusted MQTT Platform for loV and Connected Cars →

MQTTX 1.9.10 Released: Enhanced Diagnostic Insights

MQTTX Team
Apr 15, 2024
MQTTX 1.9.10 Released: Enhanced Diagnostic Insights

MQTTX 1.9.10 is now available. This release features crucial Faker.js updates, better diagnostic insights for disconnections and subscription issues, and new CLI and UI enhancements. It aims to simplify user workflows and enhance troubleshooting.

Download the latest version here: https://mqttx.app/downloads

Faker.js Upgrade in CLI

MQTTX 1.9.10 introduces a crucial update: upgrading Faker.js to v8, bringing breaking changes. This impacts users with custom simulate scripts, requiring modifications for compatibility.

The update simplifies locale management but removes the ability to change locales on existing instances. For detailed adaptation instructions, refer to the Faker.js Upgrade Guide. This enhancement aims to improve simulation precision and efficiency within MQTTX.

For script upgrade guidance, see this PR example: Adjustments for Faker.js v8. It showcases adjustments made to align with the new Faker.js version, serving as a valuable guide for your script modifications.

Enhanced Simulate Command with Message Limit

The simulate command now supports a --limit parameter, mirroring the functionality found in the bench command. This enhancement allows users to set a precise number of messages to be published, offering greater control over simulation activities.

Usage Example:

Simulate to publish a total of 100 messages across 10 connections:

mqttx simulate -sc tesla -c 10 -h broker.emqx.io -t 'testtopic/simulate' -u 'admin' -P 'public' --limit 100
[4/10/2024] [11:13:42 AM] › ℹ  Start simulation publishing, scenario: tesla, connections: 10, req interval: 10ms, message interval: 1000ms
✔  success   [10/10] - Connected
[4/10/2024] [11:13:44 AM] › ℹ  Created 10 connections in 2.111s
[4/10/2024] [11:13:55 AM] › ℹ  Published total: 100, message rate: 0/s

Parameter:

  • -L, --limit <NUMBER>: Sets the total number of messages to publish. Setting this to 0 allows for unlimited messages (default: 0).

Diagnostic Insights for Connection & Subscription

MQTTX 1.9.10 enriches feedback mechanisms with MQTT 5.0's reason codes, detailing why connections are terminated or subscriptions fail. This feature aids in pinpointing issues, specifically highlighting scenarios like ACL rejections for subscriptions and server-initiated disconnections.

  • Subscription Failures: Displays a "Not authorized" reason, clarifying access control restrictions.

    Subscription Failures

  • Disconnections: Indicates "Administrative action" reason, shedding light on server-side actions.

    Disconnections

This concise, actionable information, reserved for MQTT 5.0 users, streamlines troubleshooting and enhances operational transparency. For deeper insights into MQTT 5.0's reason codes, see MQTT Reason Code Introduction and Quick Reference.

New Save Feature Enhances Connection Management

MQTTX 1.9.10 introduces a much-requested save button for new and edited connections, streamlining connection management. This feature, a direct response to community feedback, allows for temporary saving of connection details, providing flexibility for users to complete configurations at their convenience.

How to Use:

Simply select "Save Only" from the dropdown menu next to the top-right connection button when editing or creating a connection. This updates the information without connecting, facilitating easy later adjustments.

Save Only

Others

In this update, we've included several enhancements to improve the user experience:

  • Subscription Validation for Multiple Topics: Fixed an issue with validation when subscribing to multiple topics, ensuring accurate subscriptions.
  • Record Encode/Decode Type: MQTTX now remembers the selected encode/decode type, preventing reset upon restart or switching, which could lead to message garbling.
  • Enhanced sub Command Display: Improved the display of information in the CLI for the sub command, including clearer representation of topics and QoS.

These adjustments are designed to streamline operations, enhance application usability, and increase stability.

Roadmap

In the next development phase following MQTTX 1.9.10, we will focus on boosting visualization capabilities and introducing other key features and improvements.

  • Payload Chart Visualization Enhancement - MQTTX Viewer:
    • Topic Tree View: Enhance organization and visualization of topics.
    • Diff View: Compare different messages or payloads easily.
    • Dashboard View: Offer a customizable overview of MQTT activities for personalized insights.
    • JSON View: Improve handling and display of JSON formatted data.
    • System Topic View: Specialized view for system-related MQTT topics.
  • Support for Configurable Disconnect Properties (MQTT 5.0): Enhance connection management with customizable disconnection settings.
  • IoT Scenario Data Simulation: Bring this feature to the desktop client to ease IoT scenario testing.
  • Sparkplug B Support: Extend MQTTX functionalities to include support for Sparkplug B.
  • QoS 0 Message Storage Optimization: Configurable options to reduce storage space usage.
  • MQTT GUI Debug Functionality: New features to aid in debugging MQTT communications.
  • Plugin Functionality: Introduction of a plugin system supporting protocol extensions like CoAP and MQTT-SN.
  • Avro Message Format Support: Encoding and decoding capabilities for Avro message format.
  • Script Test Automation (Flow): Simplify the creation and management of automated testing workflows.
Try MQTTX for Free
Get Started →

Related Posts