FairCom MQ automatically publishes system messages to three topics:
- faircomAdmin/connections lists all MQTT connections to the broker.
- faircomAdmin/subscribers lists all the subscribers and their subscriptions.
- faircomAdmin/topics lists all topics available for publishing and subscribing.
faircomAdmin/connections JSON message example
{
"clientName": "Client_0a",
"connectionDateTime": "2026-02-04T22:07:47",
"connectionStatus": "connected",
"defaultBinaryFormat": "hex",
"defaultVariantFormat": "json",
"ipaddress": "127.0.0.1",
"keepAliveSeconds": 60,
"mqttProtocol": "3.1.1",
"port": 49743,
"publishedTopics": [
"test/client_a0/topic0",
"test/client_a0/topic1",
"test/client_a0/topic2"
],
"sessionStatus": "normal",
"sessionType": "mqtt",
"stats": {
"currentDeliveryBacklogged": 0,
"deliveryBacklogRatePerDay": 0,
"deliveryBacklogRatePerHour": 0,
"deliveryBacklogRatePerMinute": 0,
"deliveryBacklogRatePerMinuteInSession": 0,
"deliveryBacklogRatePerMinuteLast10Minutes": 0,
"firstMessagePublishedOn": "2026-02-04T22:07:53",
"firstMessageReceivedOn": "2026-02-04T22:07:53",
"lastMessagePublishedOn": "2026-02-04T22:08:08",
"lastMessageReceivedOn": "2026-02-04T22:08:08",
"maxHealthyBacklogRatePerMinute": 0,
"maxHealthySendRatePerMinute": 0,
"maxHealthySubscribedTopicFiltersCount": 0,
"minHealthySendRatePerMinute": 0,
"minHealthySubscribedTopicFiltersCount": 0,
"publishRatePerHour": 36,
"publishRatePerMinute": 36,
"publishRatePerMinuteInSession": 36,
"publishRatePerMinuteLast10Minutes": 36,
"receiveMessagesPerHour": 36,
"receiveMessagesPerMinute": 36,
"receiveMessagesPerMinuteLast10Minutes": 36,
"receiveMessagesPerMinuteSinceInSession": 36,
"sessionHealth": "healthy",
"totalMessagesPublished": 36,
"totalMessagesReceived": 36
},
"subscribedTopics": [
{
"topicFilter": "test/client_a0/topic0",
"topics": [
{
"topic": "test/client_a0/topic0"
}
]
},
{
"topicFilter": "test/client_a0/topic1",
"topics": [
{
"topic": "test/client_a0/topic1"
}
]
},
{
"topicFilter": "test/client_a0/topic2",
"topics": [
{
"topic": "test/client_a0/topic2"
}
]
}
],
"subscriberCount": 3
},
Properties ("params")
| Property | Description | Type | Limits (inclusive) |
|---|---|---|---|
clientName |
The "clientName" property specifies the unique name that identifies the client to the FairCom MQ engine. |
string | 0 to 65,550 bytes |
connectionDateTime |
The "connectionDateTime" property indicates when the client's session was connected. |
timestamp | An ISO 8601 timestamp |
connectionStatus |
The
|
string |
|
defaultBinaryFormat |
Defines the default value of "binaryFormat". |
string | One of the following: "base64", "hex", or "byteArray". |
defaultVariantFormat |
The |
string |
|
ipaddress |
The "ipAddress" property specifies the PLC/Equipment IPV4 Address. |
string | A valid IP address |
keepAliveSeconds |
The |
integer | No limit |
mqttProtocol |
The "mqttProtocol" property specifies the version of MQTT protocol to use in your session. |
string enum |
|
port |
The |
integer | an integer port number |
publishedTopics |
The |
string | 1 to 65,500 bytes |
sessionStatus |
The
|
string enum |
|
sessionType |
"sessionType" specifies which type of session the requested client is currently running. |
string |
|
stats |
Contains stats about describeMqSessions. | object |
|
|
stats .currentDeliveryBacklogged |
The "currentDeliveryBacklogged" property specifies how many deliveries are currently waiting in the backlog. |
integer | Any positive integer |
|
stats .deliveryBacklogRatePerDay |
The "deliveryBacklogRatePerDay" property specifies the number of deliveries that can be backlogged per day. |
integer | Any positive integer |
|
stats .deliveryBacklogRatePerHour |
The "deliveryBacklogRatePerDay" property specifies the number of deliveries that can be backlogged per hour. |
integer | Any positive integer |
|
stats .deliveryBacklogRatePerMinute |
The "deliveryBacklogRatePerDay" property specifies the number of deliveries that can be backlogged per minute. |
integer | Any positive integer |
|
stats .deliveryBacklogRatePerMinuteInSession |
The "deliveryBacklogRatePerDay" property specifies the number of deliveries that can be backlogged per minute in the current session. |
integer | Any positive integer |
|
stats .deliveryBacklogRatePerMinuteLast10Minutes |
The "deliveryBacklogRatePerDay" property specifies the number of deliveries that can be backlogged in the last 10 minutes. |
integer | Any positive integer |
|
stats .firstMessagePublishedOn |
The "firstMessagePublishedOn" property specifies the date and time when the first message for the specified connection was published. |
timestamp | An ISO 8601 timestamp |
|
stats .firstMessageReceivedOn |
The "firstMessageReceivedOn" property specifies the date and time when the first message for the specified connection was received. |
timestamp | An ISO 8601 timestamp |
|
stats .lastMessagePublishedOn |
The "lastMessagePublishedOn" property specifies the date and time when the last message for the specified connection was published. |
timestamp | An ISO 8601 timestamp |
|
stats .lastMessageReceivedOn |
The "lastMessageReceivedOn" property specifies the date and time when the last message for the specified connection was received. |
timestamp | An ISO 8601 timestamp |
|
stats .maxHealthyBacklogRatePerMinute |
The A connected session is healthy when its message backlog rate does not exceed the maximum. The |
integer | Any positive integer |
|
stats .maxHealthySendRatePerMinute |
The A connected session is healthy when its message send rate does not exceed the maximum. The |
integer | Any positive integer |
|
stats .maxHealthySubscribedTopicFiltersCount |
The A connected session is healthy when it has subscribed to at most the maximum number of topic filters. The A topic filter may include MQTT wildcard characters, which allows one topic filter to subscribe to many topics. The |
integer | Any positive integer |
|
stats .minHealthySendRatePerMinute |
The A connected session is healthy when its message send rate exceeds the minimum. The |
integer | Any positive number |
|
stats .minHealthySubscribedTopicFiltersCount |
The A connected session is healthy when it has subscribed to at least the minimum number of topic filters. The A topic filter may include MQTT wildcard characters, which allows one topic filter to subscribe to many topics. The |
integer | Any positive number |
|
stats .publishRatePerHour |
The "publishRatePerHour" property specifies the rate at which messages are published per hour. |
integer | Any positive number |
|
stats .publishRatePerMinute |
The "publishRatePerMinute" property specifies the rate at which messages are published per minute. |
integer | Any positive number |
|
stats .publishRatePerMinuteInSession |
The "publishRatePerMinuteInSession" property specifies the rate at which messages are published per minute in the current session. |
integer | Any positive number |
|
stats .publishRatePerMinuteLast10Minutes |
The "publishRatePerMinuteLast10Minutes" property specifies the rate at which messages are published in the last 10 minutes. |
integer | Any positive number |
|
stats .receiveMessagesPerHour |
The "receiveMessagesPerHour" property specifies the rate at which messages are received per hour. |
integer | Any positive number |
|
stats .receiveMessagesPerMinute |
The "receiveMessagesPerMinute" property specifies the rate at which messages are received per minute. |
integer | Any positive number |
|
stats .receiveMessagesPerMinuteLast10Minutes |
The "receiveMessagesPerMinuteLast10Minutes" property specifies the rate at which messages were received in the last 10 minutes. |
integer | Any positive number |
|
stats .receiveMessagesPerMinuteSinceInSession |
The "receiveMessagesPerMinuteSinceInSession" property specifies the rate at which messages are received per minute since the session started. |
integer | Any positive number |
|
stats .sessionHealth |
The |
enum |
|
|
stats .totalMessagesPublished |
The "totalMessagesPublished" property specifies the total number of messages published. |
integer | Any positive number |
|
stats .totalMessagesReceived |
The "totalMessagesReceived" property specifies the total number of messages received. |
integer | Any positive number |
subscribedTopics |
The "subscribedTopics" property lists the topics that the specified topic is subscribed to. |
array | No limits |
|
subscribedTopics .topicFilter |
The |
UTF-8 string | topic names |
|
subscribedTopics .topics |
The |
array |
0 or more topic strings |
|
subscribedTopics topics .topic |
The
|
string | 1 to 65,500 bytes |
subscriberCount |
Specifies the number of subscribers. | integer | Number of subscribers |
faircomAdmin/subscribers JSON message example
{
"subscribedTopics": [
{
"subscriberConnectionList": [],
"topicFilter": "test/client_a0/topic0",
"topics": [
{
"topic": "test/client_a0/topic0"
}
]
},
{
"subscriberConnectionList": [],
"topicFilter": "test/client_a0/topic1",
"topics": [
{
"topic": "test/client_a0/topic1"
}
]
},
{
"subscriberConnectionList": [],
"topicFilter": "test/client_a0/topic2",
"topics": [
{
"topic": "test/client_a0/topic2"
}
]
},
{
"subscriberConnectionList": [],
"topicFilter": "test/client_a1/topic0",
"topics": [
{
"topic": "test/client_a1/topic0"
}
]
},
{
"subscriberConnectionList": [],
"topicFilter": "test/client_a1/topic1",
"topics": [
{
"topic": "test/client_a1/topic1"
}
]
},
{
"subscriberConnectionList": [],
"topicFilter": "test/client_a1/topic2",
"topics": [
{
"topic": "test/client_a1/topic2"
}
]
}
]
}
Properties ("params")
| Property | Description | Type | Limits (inclusive) |
|---|---|---|---|
subscribedTopics |
The "subscribedTopics" property lists the topics that the specified topic is subscribed to. |
array | No limits |
|
subscribedTopics .subscriberConnectionList |
The "subscriberConnectionList" property lists the connections the specified subscriber has made. |
array | No limits |
|
subscribedTopics .topicFilter |
The |
UTF-8 string | topic names |
|
subscribedTopics .topics |
The |
array |
0 or more topic strings |
|
subscribedTopics topics .topic |
The
|
string | 1 to 65,500 bytes |
faircomAdmin/topics JSON message example
{
"averageMessagesPerDay": 36,
"averageMessagesPerHour": 36,
"averageMessagesPerMinute": 5,
"creationTime": "2026-02-04T22:07:29.009",
"lastMessageTime": "2026-02-04T22:14:31.232",
"messageCount": 36,
"name": "faircomAdmin/connections",
"persistence": {
"databaseName": "faircom",
"downgradeQoS": false,
"maxDeliveryRatePerSecond": 0,
"maxInflightMessages": 20,
"mqttPayloadType": "json",
"newSubscriberDeliveryMode": "default",
"newSubscriberMaxDeliveredMessages": 0,
"outputPayloadField": "source_payload",
"ownerName": "admin",
"retentionPeriod": 4,
"retentionPolicy": "autoPurge",
"retentionUnit": "week",
"retrySeconds": 60,
"storeAndForward": true,
"tableAutoTimeStamp": true,
"tableAutoTimeStampIndex": true,
"tableName": "mqtt_msg_faircomadmin_connections",
"tableReplicationReady": true,
"threads": 1,
"topic": "faircomAdmin/connections",
"validateMqttPayload": true
},
"subscribedTopics": []
},
Properties ("params")
| Property | Description | Type | Limits (inclusive) |
|---|---|---|---|
averageMessagesPerDay |
The "averageMessagesPerDay" property describes how many messages the specified topic publishes per day on average. |
integer | The average number of messages published per day |
averageMessagesPerHour |
The "averageMessagesPerHour" property indicates the average number of messages the specified topic publishes per hour. |
integer | The average number of messages published per hour |
averageMessagesPerMinute |
The "averageMessagesPerMinute" property indicates the average number of messages the specified topic publishes per minute. |
integer | The average number of messages published per minute |
creationTime |
The "creationTime" property details the date and time when the specified topic was created. This property stores the creation date in an ISO 8601 timestamp. |
timestamp | An ISO 8601 timestamp |
lastMessageTime |
The "lastMessageTime" property specifies the time the most recent message was received. |
timestamp | An ISO 8601 timestamp |
messageCount |
The "messageCount" property defines the total number of messages published by the topic. |
BigInteger |
0 to 9223372036854775807
|
name |
The The The
|
string | 1 to 64 bytes |
persistence |
The "persistence" property defines the parameters of the persistence table. |
object |
|
|
persistence .databaseName |
The
|
string | 1 to 64 bytes |
|
persistence .downgradeQoS |
The
|
Boolean |
|
|
persistence .maxDeliveryRatePerSecond |
The
|
integer |
0 to 2147483647
|
|
persistence .maxInflightMessages |
The
|
int32 |
|
|
persistence .mqttPayloadType |
The "mqttPayloadType" property specifies the variant type format of the "source_payload" field. For more details, see mqttPayloadType. |
string enum |
|
|
persistence .newSubscriberDeliveryMode |
The
|
string enum |
|
|
persistence .newSubscriberMaxDeliveredMessages |
The
|
integer |
-1 to 2147483647
|
|
persistence .outputPayloadField |
The
This makes it possible for the output from any transform to be used as the payload delivered to subscribers. |
string |
"source_payload" or a user-defined field |
|
persistence .ownerName |
The "ownerName" property identifies the user who owns an object (see Object owner). |
string | 0 to 64 bytes |
|
persistence .retentionPeriod |
The |
integer |
1 to 100
|
|
persistence .retentionPolicy |
The If not specified, the default found in the
retentionPolicy values:
|
string |
|
|
persistence .retentionUnit |
The If not specified, the default found in the
|
string |
|
|
persistence .retrySeconds |
The
|
integer |
|
|
persistence .storeAndForward |
|||
|
persistence .tableAutoTimeStamp |
|||
|
persistence .tableAutoTimeStampIndex |
|||
|
persistence .tableName |
The See table name in System specifications for the table naming requirements and limitations. |
string | 1 to 64 bytes |
|
persistence .tableReplicationReady |
The "tableReplicationReady" property enables the transaction log on the persistence table. Transaction logs must be enabled before a table can be replicated. |
Boolean |
|
|
persistence .threads |
The
|
integer |
|
|
persistence .topic |
The |
string | A topic name between 1 and 65,500 bytes |
|
persistence .validateMqttPayload |
The "validateMqttPayload" property determines whether the FairCom server will attempt to validate the incoming MQTT message payload against the expected data type specified in the "mqttPayloadType" property. |
Boolean |
|
subscribedTopics |
Specifies the number of subscribers | integer | Number of subscribers |