You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

The following API calls are available for the MQTT Transmission Module and can be executed within the Ignition Designer Script Console.

There are sample API scripts available for each API call.

APIs

  • system.cirruslink.transmission.publish(mqttServerName, topic, payload, qos, retained) → void
    • Parameters
      • String mqttServerName
        • The name of the server connection to use in the MQTT Transmission Server configuration. This must match an existing server name in the configuration.
      • String topic
        • The MQTT topic to publish on. This must be a valid MQTT topic
      • byte[] payload
        • An array of bytes representing the MQTT payload
      • int qos
        • The MQTT 'Quality of Service' to use. This must be either 0, 1, or 2
      • boolean retained
        • Whether or not to publish this message with the retained flag set
    • Return Value
      • None
  • system.cirruslink.transmission.createConfig(type, props) → void
    • Parameters
      • String type
        • The type of configuration to create with valid options:

          • History Stores
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
      • Map props
        • Dictionary of properties making up the configuration with the following keys and datatypes:
          • History Stores
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TransmissionHistoryStoreType (str) "In-Memory" or "Disk-Backed"

            • EdgeNodeTagCapacity (int)

            • DeviceTagCapacity (int)

            • FlushQuantity (int)

            • FlushPeriod (long)

          • Cert Files
            • Id (long)

            • Name (str)

            • FileContents (str)

            • Description (str)

          • Servers
            • Id (long)

            • Name (str)

            • Url (str)

            • ServerSetId (str)

            • Username (str)

            • Password (str)

            • CaCertFileId (long)

            • ClientCertFileId (long)

            • ClientPrivateKeyFileId (long)

            • ClientKeyPassword (str)

            • HostnameVerification (bool)

            • ClientId (str)

            • KeepAlive (int)

            • RandomStartupDelay (str)

            • ReconnectDelay (long)

            • AutoReconnectRpcClient (bool)

            • DataFormatTypeWrapper (str) "Sparkplug_B_v1_0_Protobuf" or "Sparkplug_B_v1_0_JSON"

          • Sets
            • Id (long)

            • Name (str)

            • Description (str)

            • PrimaryHostId (str)

          • Transmitters
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TagProvider (str)

            • TagPath (str)

            • TagPacingPeriod (long)

            • ServerSetId (long)

            • DiscoveryDelay (long)

            • AliasedTags (bool)

            • CompressionTypeWrapper (long) "NONE" "DEFLATE" or "GZIP"

            • BlockCommands (bool)

            • ConvertUdts (bool)

            • PublishUdtDefinitions (bool)

            • OptimizeUdts (bool)

            • CacheBirthsEnabled (bool)

            • HistoryStoreId (long)

            • EnableStoreForwardByDefault (bool)

            • InOrderHistory (bool)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • FilteredProperties (str)

            • RebirthDebounceDelay (long)

          • Records
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • RecordType (long)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • OverridePublishTag (bool)

            • PublishTagPath (str)

          • Files
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • EnableAutoPublishing (bool)

            • FileScanRate (int)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • MessageSize (int)

            • MessagePacingPeriod (int)

            • MessageAckTimeout (int)

    • Return Value
      • None
  • system.cirruslink.transmission.readConfig(type) → List
    • Parameters
      • String type
        • The type of configuration to read with valid options:

          • History Stores
          • General
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
    • Return Value
      • A List of Dictionaries of properties making up the configurations with the following keys and datatypes:
        • History Stores
          • Id (long)

          • Name (str)

          • Enabled (bool)

          • TransmissionHistoryStoreType (str) "In-Memory" or "Disk-Backed"

          • EdgeNodeTagCapacity (int)

          • DeviceTagCapacity (int)

          • FlushQuantity (int)

          • FlushPeriod (long)

        • General
          • Id (long)

          • Enabled (bool)

        • Cert Files
          • Id (long)

          • Name (str)

          • FileContents (str)

          • Description (str)

        • Servers
          • Id (long)

          • Name (str)

          • Url (str)

          • ServerSetId (str)

          • Username (str)

          • Password (str)

          • CaCertFileId (long)

          • ClientCertFileId (long)

          • ClientPrivateKeyFileId (long)

          • ClientKeyPassword (str)

          • HostnameVerification (bool)

          • ClientId (str)

          • KeepAlive (int)

          • RandomStartupDelay (str)

          • ReconnectDelay (long)

          • AutoReconnectRpcClient (bool)

          • DataFormatTypeWrapper (str) "Sparkplug_B_v1_0_Protobuf" or "Sparkplug_B_v1_0_JSON"

        • Sets
          • Id (long)

          • Name (str)

          • Description (str)

          • PrimaryHostId (str)

        • Transmitters
          • Id (long)

          • Name (str)

          • Enabled (bool)

          • TagProvider (str)

          • TagPath (str)

          • TagPacingPeriod (long)

          • ServerSetId (long)

          • DiscoveryDelay (long)

          • AliasedTags (bool)

          • CompressionTypeWrapper (long) "NONE" "DEFLATE" or "GZIP"

          • BlockCommands (bool)

          • ConvertUdts (bool)

          • PublishUdtDefinitions (bool)

          • OptimizeUdts (bool)

          • CacheBirthsEnabled (bool)

          • HistoryStoreId (long)

          • EnableStoreForwardByDefault (bool)

          • InOrderHistory (bool)

          • GroupId (str)

          • EdgeNodeId (str)

          • DeviceId (str)

          • FilteredProperties (str)

          • RebirthDebounceDelay (long)

        • Records
          • Id (long)

          • TagProvider (str)

          • TagFolderPath (str)

          • RecordType (long)

          • GroupId (str)

          • EdgeNodeId (str)

          • DeviceId (str)

          • OverridePublishTag (bool)

          • PublishTagPath (str)

        • Files
          • Id (long)

          • TagProvider (str)

          • TagFolderPath (str)

          • EnableAutoPublishing (bool)

          • FileScanRate (int)

          • GroupId (str)

          • EdgeNodeId (str)

          • DeviceId (str)

          • MessageSize (int)

          • MessagePacingPeriod (int)

          • MessageAckTimeout (int)

  • system.cirruslink.transmission.updateConfig(type, id, collisionPolicy, props) → void
    • Parameters
      • String type
        • The type of configuration to update with valid options:

          • History Stores
          • General
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
      • Long id
        • The ID of the record to update
      • String collisionPolicy
        • "MergeOverwrite" or "Overwrite"
          • "MergeOverwrite" will replace the existing properties in the record ID with only those included in the call
          • "Overwrite" will replace all properties in the record ID with those in the call
      • Map props
        • Dictionary of properties making up the configuration with the following keys and datatypes:
          • History Stores
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TransmissionHistoryStoreType (str) "In-Memory" or "Disk-Backed"

            • EdgeNodeTagCapacity (int)

            • DeviceTagCapacity (int)

            • FlushQuantity (int)

            • FlushPeriod (long)

          • General
            • Id (long)

            • Enabled (bool)

          • Cert Files
            • Id (long)

            • Name (str)

            • FileContents (str)

            • Description (str)

          • Servers
            • Id (long)

            • Name (str)

            • Url (str)

            • ServerSetId (str)

            • Username (str)

            • Password (str)

            • CaCertFileId (long)

            • ClientCertFileId (long)

            • ClientPrivateKeyFileId (long)

            • ClientKeyPassword (str)

            • HostnameVerification (bool)

            • ClientId (str)

            • KeepAlive (int)

            • RandomStartupDelay (str)

            • ReconnectDelay (long)

            • AutoReconnectRpcClient (bool)

            • DataFormatTypeWrapper (str) "Sparkplug_B_v1_0_Protobuf" or "Sparkplug_B_v1_0_JSON"

          • Sets
            • Id (long)

            • Name (str)

            • Description (str)

            • PrimaryHostId (str)

          • Transmitters
            • Id (long)

            • Name (str)

            • Enabled (bool)

            • TagProvider (str)

            • TagPath (str)

            • TagPacingPeriod (long)

            • ServerSetId (long)

            • DiscoveryDelay (long)

            • AliasedTags (bool)

            • CompressionTypeWrapper (long) "NONE" "DEFLATE" or "GZIP"

            • BlockCommands (bool)

            • ConvertUdts (bool)

            • PublishUdtDefinitions (bool)

            • OptimizeUdts (bool)

            • CacheBirthsEnabled (bool)

            • HistoryStoreId (long)

            • EnableStoreForwardByDefault (bool)

            • InOrderHistory (bool)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • FilteredProperties (str)

            • RebirthDebounceDelay (long)

          • Records
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • RecordType (long)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • OverridePublishTag (bool)

            • PublishTagPath (str)

          • Files
            • Id (long)

            • TagProvider (str)

            • TagFolderPath (str)

            • EnableAutoPublishing (bool)

            • FileScanRate (int)

            • GroupId (str)

            • EdgeNodeId (str)

            • DeviceId (str)

            • MessageSize (int)

            • MessagePacingPeriod (int)

            • MessageAckTimeout (int)

    • Return Value
      • None
  • system.cirruslink.transmission.deleteConfig(type, id) → void
    • Parameters
      • String type
        • The type of configuration to delete with valid options:

          • History Stores
          • General
          • Cert Files
          • Servers
          • Sets
          • Transmitters
          • Records
          • Files
      • Long id
        • The ID of the record to delete
    • Return Value
      • None


Sample Script

# MQTT Transmission Create Transmitter
logger = system.util.logger("com.cirruslink.examples.transmitter.customtransmitters")

# Get the Default Set ID
sets = system.cirruslink.transmission.readConfig("Sets")
for config in sets:
  if config["Name"] == "Default":
    setId = config["Id"]
    logger.debug("New Set ID: " + str(setId))

# Create Transmitter One
transmitterProps = {}
transmitterProps["Name"] = "Custom One"
transmitterProps["Enabled"] = True
transmitterProps["TagProvider"] = "default"
transmitterProps["TagPath"] = ""
transmitterProps["TagPacingPeriod"] = 1000
transmitterProps["ServerSetId"] = setId
transmitterProps["DiscoveryDelay"] = 0
transmitterProps["AliasedTags"] = False
transmitterProps["CompressionTypeWrapper"] = "NONE"
transmitterProps["BlockCommands"] = False
transmitterProps["ConvertUdts"] = True
transmitterProps["PublishUdtDefinitions"] = True
transmitterProps["OptimizeUdts"] = True
transmitterProps["CacheBirthsEnabled"] = False
#transmitterProps["HistoryStore"] = None
transmitterProps["EnableStoreForwardByDefault"] = True
transmitterProps["InOrderHistory"] = False
transmitterProps["GroupId"] = "Test1G"
transmitterProps["EdgeNodeId"] = "Test1E"
transmitterProps["DeviceId"] = None
transmitterProps["FilteredProperties"] = "accessRights;clampMode;deadband;deadbandMode;formatString;historicalDeadband;historicalDeadbandMode;historicalDeadbandStyle;historyEnabled;historyMaxAge;historyMaxAgeUnits;historyProvider;historySampleRate;historySampleRateUnits;historyTagGroup;historyTimeDeadband;historyTimeDeadbandUnits;opcItemPath;opcServer;permissionModel;rawHigh;rawLow;sampleMode;scaleFactor;scaleMode;scaledHigh;scaledLow;tagGroup;valueSource;expression;expressionType;ConfiguredTagPath;eventScripts;readPermissions;writePermissions;eventScripts"
transmitterProps["RebirthDebounceDelay"] = 5000
system.cirruslink.transmission.createConfig("Transmitters", transmitterProps)

# Read Config
savedTransmitters = system.cirruslink.transmission.readConfig("Transmitters")
for config in savedTransmitters:
  if config["Name"] == "Custom One":
    logger.info("Transmitter Config: " + str(config))
    customOneId = config["Id"]

# Update Config using MergeOverwrite
transmitterProps = {}
transmitterProps["GroupId"] = "Test2G"
transmitterProps["EdgeNodeId"] = "Test2E"
system.cirruslink.transmission.updateConfig(“Transmitters”, customOneId, “MergeOverwrite”, transmitterProps)

# Update Config using Overwrite
transmitterProps = {}
transmitterProps["Name"] = "Custom One"
transmitterProps["Enabled"] = True
transmitterProps["TagProvider"] = "default"
transmitterProps["TagPath"] = ""
transmitterProps["TagPacingPeriod"] = 1000
transmitterProps["ServerSetId"] = setId
transmitterProps["DiscoveryDelay"] = 0
transmitterProps["AliasedTags"] = False
transmitterProps["CompressionTypeWrapper"] = "NONE"
transmitterProps["BlockCommands"] = False
transmitterProps["ConvertUdts"] = True
transmitterProps["PublishUdtDefinitions"] = True
transmitterProps["OptimizeUdts"] = True
transmitterProps["CacheBirthsEnabled"] = False
#transmitterProps["HistoryStore"] = None
transmitterProps["EnableStoreForwardByDefault"] = True
transmitterProps["InOrderHistory"] = False
transmitterProps["GroupId"] = "Test2G"
transmitterProps["EdgeNodeId"] = "Test2E"
transmitterProps["DeviceId"] = None
transmitterProps["FilteredProperties"] = "accessRights;clampMode;deadband;deadbandMode;formatString;historicalDeadband;historicalDeadbandMode;historicalDeadbandStyle;historyEnabled;historyMaxAge;historyMaxAgeUnits;historyProvider;historySampleRate;historySampleRateUnits;historyTagGroup;historyTimeDeadband;historyTimeDeadbandUnits;opcItemPath;opcServer;permissionModel;rawHigh;rawLow;sampleMode;scaleFactor;scaleMode;scaledHigh;scaledLow;tagGroup;valueSource;expression;expressionType;ConfiguredTagPath;eventScripts;readPermissions;writePermissions;eventScripts"
transmitterProps["RebirthDebounceDelay"] = 5000
system.cirruslink.transmission.updateConfig(“Transmitters”, customOneId, “Overwrite”, transmitterProps)

# Delete Config
#system.cirruslink.transmission.deleteConfig("Transmitters", customOneId)
  • No labels