Device Debug
Device debug validates real collection devices or data-forwarding targets in GatewayRuntime Web. It is not the same as "Test Data": Test Data generates demo channels, devices, and variables; Device Debug is opened from a selected real device or forwarding target.
Entry Points
Collection Device Debug
Open "Development Configuration > Collection Configuration", switch to "Device View", select a device row, then open the right-side "Debug" tab.

| Step | Description |
|---|---|
| Switch to device view | Variable view shows variable lists; device view opens the device detail panel. |
| Select a device | Click a device row, not a variable row. |
| Open debug | Use the "Debug" tab in the device detail panel. |
| Run tests | The debug UI depends on the selected plugin. |
Data Forwarding Target Debug
Open "Development Configuration > Data Forwarding", select a forwarding group, select a target, and open the right-side "Debug" tab. This is commonly used for MQTT, Kafka, RabbitMQ, ModbusSlave, and OpcUaServer targets.
Supported Debug Types
| Type | Purpose |
|---|---|
| Foundation | Generic address read/write testing. |
| OPC UA / OPC DA | Node browsing, read/write, import/export, and subscriptions. |
| MQTT Client | Publish messages, subscribe/unsubscribe topics, and inspect message logs. |
| MQTT Server | Publish messages, inspect topic statistics, connected clients, and kick clients. |
| Kafka | Publish a test message to a Topic. |
| RabbitMQ | Publish a test message with a Routing Key. |
| CAN | Send/read CAN frames. |
| IEC61850 Master / Server | Model browsing, node/attribute read-write, status, subscriptions, control, and SOE. |
| ZeroMQ | Publish test messages by topic. |
If a plugin does not support debug, the page shows an unsupported empty state.
Foundation Read/Write
| Field | Description |
|---|---|
| Address | Register, node, or protocol address. The format depends on the plugin. |
| Data type | String, Boolean, Byte, integer types, Float, Double, or Decimal. |
| Array length | Use 1 for single-point reads; increase only for continuous batch reads. |
| Write value | Value to write. It must match the selected data type and plugin format. |
| Read | Read from the current address. |
| Write | Write the value to the current address. Confirm field safety before writing in production. |
MQTT Client Debug

| Field | Description |
|---|---|
| Topic | MQTT topic to publish. Use a safe test topic when possible. |
| Message content | Payload, plain text or JSON. |
| QoS | 0 - At most once, 1 - At least once, or 2 - Exactly once. |
| Retain | MQTT retain flag. Use carefully in production. |
| Publish | Publish a test message through the current device or target. |

| Field | Description |
|---|---|
| Topic | Topic or wildcard topic to subscribe to. |
| QoS | QoS for the subscription. |
| Subscribe | Add the topic to the subscription list. |
| Unsubscribe | Remove a topic from the subscription list. |
| Refresh | Reload current subscriptions. |
| Message log | Shows debug connection state and messages. |
MQTT Server Debug


| Area | Description |
|---|---|
| Publish message | Send a topic, payload, QoS, and retain flag from the server plugin. |
| Topic statistics | View topics and subscription counts. |
| Client list | View client ID, username, remote address, and connection time. |
| Kick client | Disconnect a selected MQTT client. |
Kafka and RabbitMQ Debug


| Target | Fields | Check when it fails |
|---|---|---|
| Kafka | Topic, message content, publish | Bootstrap servers, security protocol, SASL settings, Topic permission, timeout. |
| RabbitMQ | Routing Key, message content, publish | Exchange, virtual host, queue binding, credentials, Routing Key, network. |
Data Forwarding MQTT Target Drawer

| Field group | Description |
|---|---|
| Connection | IP, port, client ID, keep-alive, clean session, protocol version, connection type, WebSocket path. |
| TLS | SSL enable flag, target host, client certificate, CA certificate, protocol, revocation checking. |
| Authentication | Username and password. |
| Publish defaults | QoS and retain flag. |
| Topic templates | Device, variable, alarm, plugin event, RPC, and request topics. |
| JSON and upload model | JSON formatting, null handling, list/dictionary upload shape, custom script templates. |
| Cache and queue | Offline cache, cache length, split size, queue count, online filter, concurrency. |
Test Data Generation
"Test Data" is in the collection configuration page "more" menu. It generates test configuration and is not a debug entry.

| Field | Description |
|---|---|
| Data type | Normal test data or DTU test data. |
| Variable count | Number of variables to generate for normal test data. |
| Device count | Number of devices to generate. |
| Slave address | Slave address or connection information for generated devices. |
| Enable data forwarding | Whether to generate forwarding configuration together with normal test data. |
Troubleshooting
| Symptom | Suggested action |
|---|---|
| Debug tab does not appear | Use Device View and select a device, or select a data-forwarding target. |
| Unsupported debug | The selected plugin has no matching debug capability. |
| Foundation read fails | Check channel connection, device status, address format, data type, station, timeout, and logs. |
| Write fails | Check write permission, value format, field interlocks, RPC write options, and verification. |
| MQTT publish fails | Check Broker, port, TLS, credentials, Topic permission, QoS, and target/device logs. |
| Kafka publish fails | Check bootstrap servers, security protocol, authentication, Topic permission, and timeout. |
| RabbitMQ publish fails | Check exchange, routing key, virtual host, queue binding, credentials, and network. |
| Target debug is empty | The target must be selected, enabled, and running. Disabled targets do not show debug pages. |