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: FalseThe 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/+/telemetryThe + 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>/telemetryThe 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_temperature2Persistent Connection
Where supported by the customer MQTT client, configure:
QoS: 1
Clean Session: FalseThe 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.