Data discovery parameters
- Last UpdatedNov 14, 2025
- 3 minute read
- PI System
- Adapter for MQTT 1.4
- Adapters
The following parameters are available for configuring data source discovery for Sparkplug B:
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
string |
The identification of the discovery. Note: You cannot run multiple discoveries with the same id. Including an id is optional. If you do not include one, the adapter automatically generates one. |
|
query |
string |
A filter that is specific to the data source. The query filter can limit the scope of the discovery. For more information, see Query filter for Sparkplug B data source discovery. |
|
startTime |
datetime |
Time when the discovery started. |
|
endTime |
datetime |
Time when the discovery ended. |
|
progress |
double |
Progress of the discovery. |
|
itemsFound |
integer |
Number of data items that the discovery found on the data source. |
|
newItems |
integer |
Number of new data items that the discovery found in comparison to the previous discovery. |
|
resultUrl |
integer |
URL at which you can access the results of the discovery. |
|
autoSelect |
boolean |
When set to true, the result of the discovery gets pushed to the data selection configuration. |
|
status |
reference |
Status of the discovery, for example Active or Complete. |
|
errors |
string |
Errors encountered during the discovery. |
Query filter for Sparkplug B Data source discovery
A discovery against the data source of an MQTT Sparkplug B adapter allows you to specify the optional query parameter. The query discovers the contents of the data source and narrows down the scope of the discovery. You can add the discovered items to the data selection.
Sparkplug B query string
The string of the query parameter must contain string items in the following form:
Topics=Topic1,Topic2;WaitTime=<WaitTime>
where the Sparkplug B topic structure is of the form
topics=spBv1.0/<Group_Id>/<Message_Type>/<Edge_Node_Id>/<[Device_Id]>
Note: Device Id is optional in the SparkplugB topic structure.
|
String item |
Required |
Description |
|---|---|---|
|
Topics |
Optional |
The topics that the adapter subscribes to when the discovery posts. Note: If you want to specify multiple topics in the query, you must separate the topic names with a comma. If you do not specify a topic, the adapter subscribes to all topics. |
|
Group_Id |
Optional |
This element of the Topic namespace logically groups MQTT Edge of Network (EoN) nodes into the MQTT server and the consuming MQTT clients. |
|
Message_Type |
Optional |
This element of the Topic namespace indicates how to handle the MQTT payload of the message. The message type is typically NDATA or DDATA. For more information, see Data selection. |
|
Edge_Node_Id |
Optional |
This element of the Sparkplug Topic namespace uniquely identifies the MQTT EoN node within the infrastructure. Group_Id combined with Edge_Node_Id must be unique from any other Group_Id/Edge_Node_Id assigned in the MQTT infrastructure. |
|
Device_Id |
Optional |
This element of the Sparkplug Topic namespace identifies a device attached to the MQTT EoN node (physically or logically). |
|
WaitTime |
Optional |
The time window in which the adapter will perform the discovery by listening for specified topics. After the wait time has elapsed, the discovery results will be available. Minimum value: 0.00:00:30 (30 seconds) Note: If you do not specify a wait time, the default value 0.00:01:00 (1 minute) will be applied. When you specify WaitTime with a numeric value, for example WaitTime=45, the adapter interprets the value as seconds instead of time span. |
Query rules
The following rules apply for specifying the query string:
-
Multiple topics are separated by a comma (,).
-
A query cannot be terminated by a trailing slash (/).
-
A query cannot start with a leading slash (/) or $.
-
Topics are case sensitive.
Note: The data source might contain large amounts of metrics. Use the # judiciously and narrow down the query string to something specific or break down the query into different discoveries.
Wildcards
Wildcards are allowed in the query with the following specifications:
-
A single-level wildcard replaces one topic level and is indicated by +.
-
A multi-level wildcard covers many topic levels and is indicated by #.
-
Wildcards can be combined.
-
# must not be used more than once and can only be used at the end of the topic.
-
No query, an empty string, or null as the query parameter is equivalent to #.