Migrating from EMQX Neuron
How to export southbound drivers, groups, and tags from EMQX Neuron and translate them into a Connectware service commissioning file with the help of an AI assistant.
This guide shows you how to migrate an EMQX Neuron configuration to Connectware by exporting the southbound driver configuration and translating it into a service commissioning file. Neuron's REST API serves the complete southbound configuration, including all drivers, groups, and tags, as one JSON document, which makes the translation a good task for an AI assistant. The steps apply to the open-source Neuron as well as to the commercial product, formerly named NeuronEX. In more detail, the following topics are covered:
Understanding how Neuron concepts map to Connectware resources
Exporting drivers, groups, and tags via the REST API, the UI, or Excel
Translating the export 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 JSON export 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 Neuron drivers.
Access to the Neuron web interface or REST API. The open-source Neuron listens on port 7000, the commercial product on port 8085.
Network access from Connectware to the devices that Neuron currently polls. After the migration, Connectware connects to the devices directly.
An AI assistant to translate the export. 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 Neuron Concepts Map to Connectware
Neuron organizes data collection in southbound nodes (driver instances), groups (tag sets sharing one polling interval), and tags (address, data type, and access attribute). Northbound apps publish the collected groups to MQTT. Connectware organizes the same information in resources of a service commissioning file:
Southbound node
One connection per driver instance, carrying the connection parameters from the node settings.
Group
Polling interval
The group interval (milliseconds) becomes the interval of every endpoint translated from that group.
Tag
Address, data type, and attribute become the endpoint definition. The attribute is a bitmask: read (1), write (2), and subscribe (4).
Tag attribute subscribe
Rule Engine cov rule
Subscribe tags only report on change; the matching mapping entry gets a cov rule.
Northbound MQTT app
Neuron publishes one bundled message per group; Connectware publishes one topic per endpoint. See the payload note in this guide.
Tag decimal, bias
Rule Engine transform rule
Scaling factors translate to JSONata expressions; review each one.
Mapping Drivers to Connectors
The following Neuron drivers have a native Connectware connector:
Modbus TCP
Siemens S7 ISOTCP
OPC UA
EtherNet/IP
Fanuc FOCAS
BACnet/IP
Beckhoff ADS
Heidenhain CNC
OPC DA
For drivers without a native connector, for example IEC 60870-5-104, IEC 61850, DNP3, Mitsubishi, Omron FINS, KNXnet/IP, or PROFINET, evaluate a custom connector or keep those devices on an intermediary system.
What Does Not Migrate 1:1
Data stream processing (eKuiper)
Streaming SQL rules have no automated conversion. Rebuild the logic with Rule Engine rules or in the Node-RED Workbench.
Group-bundled MQTT payloads
Neuron publishes one JSON message per group with all tag values; Connectware publishes one topic per endpoint. Repoint consumers to per-endpoint topics, or recreate the bundled shape with collect and transform rules.
EMQX platform integrations
Offline caching settings
Handled differently: Connectware agents buffer data during connection loss.
Exporting the Neuron Configuration
The REST API is the most complete export path and works on the open-source and commercial editions alike:
${NEURON_HOST}is the hostname or IP address of the Neuron installation.${NEURON_PORT}is 7000 for open-source Neuron and 8085 for the commercial product.${NEURON_USER}and${NEURON_PASSWORD}are the Neuron credentials.
The response contains every southbound driver with its settings, groups, and tags in one JSON document. For details, see the Neuron Configuration API documentation.
Two UI alternatives exist on the commercial product: Data Collection > South Devices > Export downloads the same driver configuration as JSON, and the Group List of a device exports tags as an Excel file with the columns group, name, address, attribute, type, description, precision, and decimal. The Excel export does not contain the device connection parameters.
Translating the Export with an AI Assistant
The driver export contains connection details and can contain credentials, for example OPC UA usernames. Remove credentials from the JSON before you paste it into an AI tool, and check the data privacy terms of the tool you use. See also the privacy notes for Cybus Connectware GPT.
Copy the following prompt and attach the driver export:
Reviewing the Generated Service Commissioning File
Work through this checklist before installing:
Validate the file structure. The Cybus Connectware Extension for VS Code validates service commissioning files against the official schemas as you edit.
Check every connection against the original node settings: host, port, and driver-specific options.
Spot-check translated Modbus addresses, including the six-digit area mapping, the start-address setting of the node, and every endianness suffix.
Check that group intervals were applied to the endpoints and that subscribe tags received
covrules.Review every generated scaling transform (
decimal,bias) against the original tag.Confirm that no credentials ended up in the file and that all site-specific values are parameters.
Compare the endpoint count against the migration report of the AI assistant and the tag count of the export.
Installing the Service
Install the service commissioning file. See Installing Services.
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 Neuron can usually poll the same device at the same time, which allows you to compare live values before you switch consumers over. Check the connection limits of your devices first. Plan the consumer cutover deliberately: Neuron consumers receive bundled group messages, Connectware consumers per-endpoint messages.
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 Neuron and Connectware for the same data point.
Implausible numbers on multi-register tags indicate a wrong endianness suffix translation.
Subscribe tags with
covrules only publish on value changes.
Worked Example
The following driver export excerpt describes one Modbus TCP node with one group and three tags, in the format returned by GET /api/v2/global/drivers:
Applying the translation rules produces the following service commissioning file. temperature (1!400001, INT16, read) becomes a holding register endpoint with fc: 3, address: 0, and dataType: int16BE; setpoint (attribute 3 = read + write) additionally gets a write endpoint; and flow_rate (1!400010#LL, FLOAT, attribute 5 = read + subscribe) becomes a two-register endpoint with dataType: floatLE (flagged for live-value verification because of the endianness suffix) and a cov rule on its mapping. All endpoints poll at the group interval of 2,000 ms:
For all Modbus connection and endpoint properties, see Modbus Connection Properties and Modbus Endpoint Properties.
Disclaimer: EMQ, EMQX, Neuron, and NeuronEX are trademarks or registered trademarks of EMQ Technologies, Inc. Cybus is not affiliated with or endorsed by EMQ.
Last updated
Was this helpful?

