For the complete documentation index, see llms.txt. This page is also available as Markdown.

Migrating from HiveMQ Edge

How to read the HiveMQ Edge configuration from config.xml or the REST API and translate protocol adapters, tags, and mappings into a Connectware service commissioning file using an AI assistant.

This guide shows you how to migrate a HiveMQ Edge configuration to Connectware by extracting the protocol adapter configuration and translating it into a service commissioning file. HiveMQ Edge stores its complete configuration in a single config.xml file and serves the same information as JSON over its REST API, which makes the connectivity layer a good candidate for AI-assisted translation. In more detail, the following topics are covered:

  • Understanding how HiveMQ Edge concepts map to Connectware resources

  • Extracting the configuration from the config.xml file or the REST API

  • Translating the configuration into a service commissioning file with an AI assistant

  • Reviewing the generated service commissioning file

  • Verifying the migrated data points in the Data Explorer

A complete worked example, from adapter configuration to service commissioning file, is available at the end of this guide.

Prerequisites

To follow this guide, you will need the following:

  • A running instance of Cybus Connectware with licenses for the connectors that replace your HiveMQ Edge protocol adapters.

  • Access to the HiveMQ Edge installation: the conf/config.xml file (or the Helm values on Kubernetes), or credentials for the REST API.

  • Network access from Connectware to the devices that HiveMQ Edge currently polls. After the migration, Connectware connects to the devices directly.

  • An AI assistant to translate the configuration. Any capable large language model (LLM) works. Cybus Connectware GPT is a ChatGPT assistant that already knows the service commissioning file format.

  • Basic knowledge of the Connectware services concept (for example, service commissioning files, connections, and endpoints).

How HiveMQ Edge Concepts Map to Connectware

HiveMQ Edge combines a local MQTT broker with protocol adapters. An adapter connects to one device, adapter tags name the data points, northbound mappings publish tags to MQTT topics, and southbound mappings write MQTT data back to tags. Connectware organizes the same information in resources of a service commissioning file:

HiveMQ Edge concept
Connectware resource
Notes

Protocol adapter

The adapter config block carries the host, port, authentication, and TLS settings.

Adapter tag

The protocol-specific tag definition becomes the endpoint address. Polling intervals live at the adapter level in HiveMQ Edge and per endpoint in Connectware.

Northbound mapping

The tagName to topic assignment becomes a mapping entry. Topics can be reused verbatim.

Southbound mapping

Write endpoint + Cybus::Mapping

The topicFilter to tagName assignment becomes a mapping from a topic to a write endpoint.

MQTT bridge

Bridges to remote brokers become MQTT connections with mappings.

Data combiner

Combining several tags into one message maps to collect and transform rules.

ISA-95 UNS topic prefix

MQTT topic hierarchy

HiveMQ Edge prefixes topics globally; in Connectware the prefix becomes an explicit part of the mapping topics.

Local MQTT broker

Integrated Connectware broker

MQTT clients that connect to HiveMQ Edge directly must be repointed to Connectware and receive credentials through user management.

Mapping Protocol Adapters to Connectors

The following HiveMQ Edge protocol adapters have a native Connectware connector:

HiveMQ Edge adapter (protocolId)

Connectware connector

s7 (S7-300/400/1200/1500, LOGO)

eip, etheripCipOdva

ads

BACnet (commercial module)

For adapters without a native connector, for example MTConnect or the file adapter, evaluate a custom connector or keep those sources on an intermediary system.

What Does Not Migrate 1:1

HiveMQ Edge feature
Connectware approach

Broker client sessions and retained state

MQTT clients reconnect to the Connectware broker. Sessions and retained messages do not transfer; clients need Connectware credentials and permissions.

Bridge topic rewriting and loop prevention

The placeholder-based topic rewriting ({#}, {2-#}) and hop-count loop prevention of bridges must be redesigned as explicit mapping topics.

Data Hub policies and scripts

Schema validation, behavior policies, and JavaScript transformations have no direct counterpart. Rebuild transformations with Rule Engine rules or in the Node-RED Workbench.

Payload shape options

Northbound options such as includeTagNames and MQTT user properties change the payload shape. Connectware endpoints publish {timestamp, value} objects; downstream consumers may need a transform rule to receive the accustomed shape.

Commercial modules and custom adapters

Adapters built on the HiveMQ Edge SDK must be re-implemented as custom connectors.

Extracting the HiveMQ Edge Configuration

There are two sources; the REST API is the more reliable one:

  • Configuration file: The complete configuration is the conf/config.xml file of the installation (on Kubernetes, the file passed to the Helm chart). Protocol adapters appear as <protocol-adapter> elements with adapterId, protocolId, a protocol-specific <config> block, <tags>, and <northboundMappings>/<southboundMappings>.

  • REST API: The Admin API serves the same information as JSON. Authenticate against POST /api/v1/auth/authenticate (default port 8080) and read the adapter configuration:

  • ${EDGE_HOST} is the hostname or IP address of the HiveMQ Edge installation.

  • ${TOKEN} is the JWT returned by the authentication endpoint.

For details, see the HiveMQ Edge REST API documentation.

HiveMQ Edge restructured its adapter configuration format in 2024.8: older installations may still use a legacy per-protocol XML layout. The REST API always returns the current model, which is one more reason to prefer it over parsing an old config.xml. State your HiveMQ Edge version when you hand the configuration to an AI assistant.

Translating the Configuration with an AI Assistant

Copy the following prompt and attach the adapter configuration:

Reviewing the Generated Service Commissioning File

Work through this checklist before installing:

  1. Validate the file structure. The Cybus Connectware Extension for VS Code validates service commissioning files against the official schemas as you edit.

  2. Check every connection against the original adapter config block: host, port, security, and authentication settings.

  3. Spot-check translated Modbus tags: startIdx is already 0-based, so no offset correction applies, and flipRegisters tags need live-value verification.

  4. Check that adapter-level polling intervals were applied to every endpoint of the adapter.

  5. Compare mapping topics with the original northbound mappings, including the ISA-95 prefix if it was enabled.

  6. Confirm that no credentials ended up in the file and that all site-specific values are parameters.

  7. Compare the endpoint count against the migration report of the AI assistant and the tag count of the adapters.

Installing the Service

  1. Install the service commissioning file. See Installing Services.

  2. Enable the service. See Enabling Services.

Result: Connectware connects to the migrated devices directly and the connections reach the Connected state.

For read-only validation, Connectware and HiveMQ Edge can usually poll the same device at the same time, which allows you to compare live values on both brokers before you repoint MQTT clients. Check the connection limits of your devices first. Plan the client cutover separately: every MQTT client that connected to HiveMQ Edge needs Connectware credentials and permissions.

Verifying the Data

Open the Data Explorer and subscribe to the topics of the migrated service:

  • Every migrated tag publishes on its topic with plausible values.

  • Values match between HiveMQ Edge and Connectware for the same data point.

  • Consumers that depended on the HiveMQ Edge payload shape (tag names or user properties in the payload) receive the shape they expect, through a transform rule where needed.

  • Adapters migrated with a cov rule only publish on value changes.

Worked Example

The following config.xml excerpt describes a Modbus protocol adapter with one tag and a northbound mapping, in the current HiveMQ Edge configuration format:

Applying the translation rules produces the following service commissioning file. The adapter becomes a Modbus connection, the tag becomes a holding register endpoint with fc: 3, address: 0 (the startIdx is already 0-based), and dataType: int16BE polled at the adapter interval of 1,000 ms, and the northbound topic is reused verbatim. Because publishChangedDataOnly was enabled, the mapping gets a cov rule:

For all Modbus connection and endpoint properties, see Modbus Connection Properties and Modbus Endpoint Properties.

Disclaimer: HiveMQ and HiveMQ Edge are trademarks of HiveMQ GmbH. Cybus is not affiliated with, endorsed by, or sponsored by HiveMQ GmbH.

Last updated

Was this helpful?