MQTT for Wireless Gateways
MQTT operates on a publish-subscribe model, allowing devices to communicate by publishing messages to specific topics and subscribing to topics to receive relevant messages. This section covers how to use MQTT with the Packet Power Wireless Gateway.
Data Output from MQTT Gateways

Packet Power Gateways collect data from Packet Power wireless monitoring nodes and aggregate the data for transmission by MQTT, SNMP, Modbus TCP/IP and directly to the Packet Power EMX monitoring portal. Note that the Gateway can support transmission of data via MQTT, SNMP or Modbus TCP/IP while simultaneously serving data to the EMX portal.
MQTT Broker Software
You may choose to set up your own MQTT broker if you require control over the communication infrastructure. There are several open-source and commercial MQTT broker options available:
- Mosquitto: An open-source MQTT broker that is lightweight and easy to set up. 
- HiveMQ: A commercial MQTT broker with advanced features and scalability options. 
- EMQ X: An open-source MQTT broker built for high performance and scalability. 
Setting Up MQTT Communication
Setting up MQTT communication involves configuring your gateway to connect to an MQTT broker, defining topics for communication, and understanding the various options available. This section guides you through the steps required to establish MQTT connections and begin exchanging messages.

Configuring the Gateway for MQTT
Before you start, ensure that your gateway version supports MQTT communication. Gateway firmware 2.2.0 or higher is required. You can check your gateway firmware under Status>System Firmware.
For firmware upgrades see: System Updates
Configuring Channel Maps
To create a channel map for mapping node readings to MQTT messages go to MQTT>Channel Maps and click “add”.
Select the channels that correlate to the readings you want published to your MQTT broker.

Configuring MQTT Nodes
To publish a nodes readings to the MQTT stream, select a node and a channel map under Data Destinations → MQTT → Nodes. Use the “add” option in the Actions drop down. This will publish all readings from the node which correspond to the readings selected in the given channel map. If you intend to publish all readings from a node you can select “none” from the channel map drop down.


MQTT Connections
Connecting to an MQTT Broker
The gateway needs to establish a connection with the MQTT broker. This involves providing connection parameters, such as the broker's address, port number, and security credentials (if applicable). You will find these options under the main page of MQTT. Data destinations>MQTTtx.

Publishing Messages
The gateway can publish messages to specific topics using MQTT. This includes the message payload and the topic to which the message should be sent. If you want custom prefixes in addition to your node readings, enter them in the prefix area and they will show up before each node topic.
To publish all messages from all nodes you must select the “transmit everything” option. This will publish all node readings for all nodes connected to your gateway, whether or not you have added them to the node map.
Consuming Messages
After configuring the E4 to transmit E4 reading data to an MQTT broker the data will have to be consumed by a client. This involves first subscribing to the appropriate topics as determined by the configuration. Then, the received topic values needs to be parsed for their reading data.
Topic Structure
The E4 publishes reading values to a topic determined by the configured prefix, each node's GUID, and the exported channel. The published topics follow the following pattern: <Prefix><GUID>/<Channel>. 
Important Notes:
- There is not an implicit - /between the prefix and the GUID. If the Prefix were- cata topic could be- cat1300000000020F39/Energy1and NOT- cat/1300000000020F39/Energy1.
- GUIDs are in their canonical form, meaning that they are in all caps and contain no dashes. 
- Channel names are also in their canonical form and will not contain spaces. The name will be an exact match of what is configured in channel map. 
Topic Values
The value that is published to each data point is a JSON encoded object that contains the reading for it's GUID/channel combination. This Object contains the following properties
| 
 | 
 | 
| 
 | 
 | 
Example topic : 20A1000000003C00/Power22
Example value:
{
  "T":1759933991, // Wed Oct 08 2025 14:33:11 GMT+0000
  "V":2.1 // Power in Watts
}