MQTT Recorder provides a configuration section to the Ignition Gateway . These can be and this can been seen in the Configure section left side bar of the Ignition Gateway web UI on the left-hand navigation pane - Configure → MQTT Recorder → Settings..Image Added
The configuration options for each of the tabs - General and Tables - are detailed below.
GeneralThese are the general MQTT Recorder configuration settings and there is a single Main section available.
General - MainImage Added- Enabled
- This denotes whether Checkbox to enable or /disable the MQTT Recorder module. Selected by default.
- Datasource
- A dropdown list to select the database connection to use for record storage. This list is populated with the database connections set up within the Ignition Gateway.
- Partition Period
- The partitioning scheme period to use for record tables within database. Each table name will be appended with a date indicating the partition time period. For example, if table were created for "alarm" records on September 25, 2018 at 2:00 AM, they the table name for each partition type would be:
- None: rs_alarm
- Hourly: rs_alarm_2018_09_25_02
- Daily: rs_alarm_2018_09_25
- Weekly: rs_alarm_2018_39
- Monthly: rs_alarm_2018_09
- Yearly: rs_alarm_2018
...
TablesThese are the settings for the database tables that MQTT Recorder will insert the records into and there is a single Main section available.Image AddedImage Removed
Table Settings
A Table Setting consists of a Table Name and various optional filters.
...
Tables - MainImage Added
- Table Name
- The name of the table where records will be inserted. When creating a dynamic table name using tokens, the values must contain only valid characters allowed in the database table name.
...
- Table Name
The name of the table where records will be inserted. - This name can be statically defined or be dynamically build up using the following tokens
- ${type} - The Record Type of the record being inserted
- ${group} - The Sparkplug Group ID of the record being inserted
- ${edgenode} - The Sparkplug Edge Node ID of the record being inserted
- ${device} - The Sparkplug Device ID of the record being inserted
- ${field:<name>} - The value of any field of the record being inserted where <name> is the name of the field
- Enabled
- Whether this Table Setting is enabledCheckbox to enable/disable the table setting. Selected by default.
- Record Type
- An optional Optional Record Type to filter onto match to the table name. If specified, only records with this Record Type will be placed in the table.
- Group ID
- An optional Optional Sparkplug Group ID to filter on. If If specified, only records with this Group ID will be placed in the table.
- Edge Node ID
- An optional Optional Sparkplug Edge Node ID to filter on. If If specified, only records with this Edge Node ID will be placed in the table.
- Device ID
- An optional Optional Sparkplug Device ID to filter on. If If specified, only records with this Device ID will be placed in the table.
- Field Filters
- An optional Optional semicolon delimited list of field filters. Each field filter is declared using one of the following forms: {<field>:<operator>:<value>}, {<field>:NULL}, or {<field>:NOTNULL}
- <field> - the name of the field to filter on.
- <operator> - the filter operator. Must be one of the following: ==, !=, >, <, >=, or <=
- <value> - the value of the field.
- Values that contain ':', ';', or '\' characters must have the character escaped with a leading '\' character.
- Examples:
- To only insert records that match a "serial_number" field equal to "0123456" the filter would be: {serial_number:==:0123456}
- To only insert records that contain a "temp1" field the filter would be: {temp1:NOTNULL}
- To exclude records that match a "unit_id" field equal to "112:008:32455" the filter would be: {unit_id:!=:112\:008\:32455}
...