Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: updated

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.

Anchor
General
General
General

These are the general MQTT Recorder configuration settings and there is a single Main section available.

Anchor
GeneralMain
GeneralMain
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

Anchor
Tables

...

Tables
Tables

These 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

Anchor

Table Settings

A Table Setting consists of a Table Name and various optional filters.

...

titleImportant Note

TablesMain
TablesMain
Tables - Main

Image 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}

...