MQTT

IOTPRO MQTT Customer Connection Guide

This guide explains the MQTT connection details that will be provided by IOTPRO and what the customer must configure on their BMS or MQTT client.

Details Provided by IOTPRO

For each customer, IOTPRO will provide:

Host: http://57.129.34.12:8080/
Port: 18803

Client ID: iotpro<CUSTOMER_UUID>
Username: iotpro_<CUSTOMER_UUID>
Password: <generated password>

Subscription Topic:
iotpro/customers/<CUSTOMER_UUID>/assets/+/telemetry

QoS: 1
Clean Session: False

The credentials are unique to the customer, and the customer is only permitted to subscribe to telemetry belonging to their own organisation.

Customer Configuration

The customer must configure their BMS or MQTT client using the exact values provided by IOTPRO.

Setting

Required value

Host

Host provided by IOTPRO

Port

Port provided by IOTPRO

TLS

As specified by IOTPRO

Client ID

Exact Client ID provided

Username

Exact username provided

Password

Generated password provided

Subscription Topic

Exact topic provided

QoS

At least once / QoS 1

Clean Session

False / Disabled

Subscription Topic

The standard subscription topic is:

iotpro/customers/<CUSTOMER_UUID>/assets/+/telemetry

The + is an MQTT wildcard representing any single asset belonging to the customer.

Example matching topics:

iotpro/customers/<CUSTOMER_UUID>/assets/<ASSET_UUID_1>/telemetry
iotpro/customers/<CUSTOMER_UUID>/assets/<ASSET_UUID_2>/telemetry

The customer should keep the + wildcard exactly as provided and should not replace it with *.

Telemetry Payload

Telemetry is sent as JSON.

Example:

{
  "telemetry_param_temperature": 23.7,
  "telemetry_param_temperature2": 23.9
}

The customer BMS should map the required JSON fields to the relevant BMS points.

Example value paths:

/telemetry_param_temperature
/telemetry_param_temperature2

Persistent Connection

Where supported by the customer MQTT client, configure:

QoS: 1
Clean Session: False

The same Client ID must be used each time the client reconnects.

This allows the broker to maintain a persistent session and queue eligible messages while the customer client is temporarily offline.

Important

  • Do not change the Client ID between connections.

  • Do not share the MQTT username or password.

  • Use the exact subscription topic provided by IOTPRO.

  • Keep the + wildcard when receiving telemetry for all customer assets.

  • Store the password securely in the BMS/MQTT client configuration.